Сгруппировать в linq C # с несколькими столбцами - PullRequest
0 голосов
/ 13 апреля 2019

Я пробовал linq GroupBy, но цвет повторяется. Я не хочу повторения, если цвет такой же, то добавленная стоимость. Ниже мой код и результат. Пожалуйста, помогите, где я не прав.

if (dt.Rows.Count > 0)
{
    var dtGroup = dt.AsEnumerable().GroupBy(row => new
    {
        FUEL_USED = row.Field<string>("FUEL_USED")
    }).Select(group => new
    {
        FUEL_USED = group.Key.FUEL_USED
    });
    response = new CarsToBeOrdersResponse();
    FuleDetails objfule = new FuleDetails();

    foreach (var key in dtGroup)
    {
        objfule = new FuleDetails();
        objfule.fule = CommonFunction.ParseString(key.FUEL_USED);

        var dtKeyFigures = dt.AsEnumerable().Where(row => row.Field<string>("FUEL_USED") == key.FUEL_USED).GroupBy(row => new
        {
            VEH_VARIANT = row.Field<string>("VEH_VARIANT"),
            VARIANT_DESCRIPTION = row.Field<string>("VARIANT_DESCRIPTION")
        }).Select(group => new
        {
            VEH_VARIANT = group.Key.VEH_VARIANT,
            VARIANT_DESCRIPTION = group.Key.VARIANT_DESCRIPTION,

        });

        foreach (var keyFigure in dtKeyFigures)
        {
            VariantDetail objVariant = new VariantDetail();
            objVariant = new VariantDetail();
            objVariant.variantDesc = CommonFunction.ParseString(keyFigure.VARIANT_DESCRIPTION);
            ColorDetails objColor = new ColorDetails();
            ValueList obj = new ValueList();


            foreach (DataRow dr in dt.Rows)
            {

                if (keyFigure.VEH_VARIANT == CommonFunction.ParseString(dr["VEH_VARIANT"]))
                {
                    objColor = new ColorDetails();
                    objColor.chartKey = CommonFunction.ParseString(dr["VEH_COLOR"]);


                    obj = new ValueList();
                    obj.value = CommonFunction.ParseString(dr["RPO_COUNT"]);
                    objColor.valueList.Add(obj);



                    objVariant.chartDetails.Add(objColor);
                }

            }
            objfule.variantDetails.Add(objVariant);

        }
        response.carsToBeOrdered.Add(objfule);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...