/* * helper method to consolidate each [approved requisitions for one item] into [one RetrievalItemDTO] */ private static RetrievalListDTO ConsolidateNewRequisitions(List <RequisitionDetail> requisitionDetailList) { var itemsToRetrieve = new RetrievalListDTO(); //group RequisitionDetail list by item: e.g.: List<ReqDetail>-for-pen, List<ReqDetail>-for-Paper, and store these lists in List: List <List <RequisitionDetail> > groupedReqListByItem = requisitionDetailList .GroupBy(rd => rd.ItemNum).Select(grp => grp.ToList()).ToList(); //each list merge into ONE RetrievalItemDTO. e.g.: List<ReqDetail>-for-pen to be converted into ONE RetrievalItemDTO. foreach (List <RequisitionDetail> reqListForOneItem in groupedReqListByItem) { var retrievalItem = new RetrievalItemDTO(reqListForOneItem); itemsToRetrieve.Add(retrievalItem); } return(itemsToRetrieve); }
/* * helper method to consolidate each [unfullfilled Disbursements for one item] add to / into [one RetrievalItemDTO] */ private static RetrievalListDTO ConsolidateUnfulfilledDisbursements( List <DisbursementDetail> unfullfilledDisDetailList) { var itemsToRetrieve = new RetrievalListDTO(); //group DisbursementDetail list by item: e.g.: List<DisDetail>-for-pen, List<DisDetail>-for-Paper, and store these lists in List: List <List <DisbursementDetail> > groupedDisListByItem = unfullfilledDisDetailList.GroupBy(rd => rd.ItemNum).Select(grp => grp.ToList()).ToList(); //each list merge into ONE RetrievalItemDTO. e.g.: List<DisDetail>-for-pen to be converted into ONE RetrievalItemDTO. foreach (List <DisbursementDetail> disListForOneItem in groupedDisListByItem) { var retrievalItem = new RetrievalItemDTO(disListForOneItem); itemsToRetrieve.Add(retrievalItem); } return(itemsToRetrieve); }