internal static LUCsForOrder ConvertSSCCLoadUnitCondition(this List <API_DEVIATION_ON_ORDER_Result> result) { LUCsForOrder response = new LUCsForOrder(); List <SSCCLoadUnitCondition> loadUnitConditions = new List <SSCCLoadUnitCondition>(); if (result != null && result.Any()) { //Fetch all SSCCs List <string> SSCCs = result.Select(item => item.SSCC).Distinct().ToList(); SSCCs.ForEach(s => { SSCCLoadUnitCondition sSCCLoadUnitCondition = new SSCCLoadUnitCondition(); sSCCLoadUnitCondition.SSCC = s; List <LoadUnitCondition> lucs = new List <LoadUnitCondition>(); //For each SSCC, fetch list of load unit condition result.Where(item => item.SSCC == s).ToList().ForEach(item => { //Add in a list of load unit condition lucs.Add(new LoadUnitCondition { LoadUnitConditionCode = item.LOAD_UNIT_CONDITION_CODE, LoadUnitConditionName = item.LOAD_UNIT_CONDITION_NAME }); }); sSCCLoadUnitCondition.LoadUnitConditions = lucs; //assign the list to each SSCC of SSCCLoadUnitCondition loadUnitConditions.Add(sSCCLoadUnitCondition); //add the SSCCLoadUnitCondition to the collection of SSCCLoadUnitCondition }); response.LoadUnitConditions = loadUnitConditions; //assign the collection of SSCCLoadUnitCondition to the response response.LoadUnitConditionNames = result.Select(item => item.LOAD_UNIT_CONDITION_NAME).Distinct().ToList(); //get distinct load unit condition names } return(response); }
public LUCsForOrder GetSSCCLUCsForOrder(long orderId) { LUCsForOrder response = new LUCsForOrder(); List <string> conditionNames = new List <string>(); using (var cntx = new BACKUP_SRL_20180613Entities()) { response = cntx.API_DEVIATION_ON_ORDER(orderId, Resources.Common.EnglishLanguage).ToList().ConvertSSCCLoadUnitCondition(); } return(response); }