Exemple #1
0
        public static List <WCF_RequisitionDetailJoinItemList> RetrievalList()
        {
            LastADEntities ctx = new LastADEntities();
            List <WCF_RequisitionDetailJoinItemList> list = ctx.RequDetails.Where(x => x.Requisition.Status.Equals("Waiting for Collection")).GroupBy(x => x.ItemId).
                                                            Select(y => (new { id = y.Key, quantity = y.Sum(x => x.OutstandingQuantity) }))
                                                            .Join(ctx.ItemLists, m => m.id, f => f.ItemId, (m, f) => new WCF_RequisitionDetailJoinItemList
            {
                itemid = m.id, itemname = f.Description, Quantity = m.quantity, uom = f.UOM, bin = f.Bin
            })
                                                            .OrderBy(x => x.bin).ToList();

            foreach (WCF_RequisitionDetailJoinItemList w in list)
            {
                int quantityneed = Business.GetTotalQtyNeeded(w.itemid);
                w.RetrievalQuantity = Business.GetTotalQtyNeeded(w.itemid).ToString();
                int?Stock = ctx.ItemLists.Where(x => x.ItemId.Equals(w.itemid)).Select(x => x.Stock).First();

                if (Stock > quantityneed)
                {
                    w.RetrievalQuantity = quantityneed.ToString();
                }
                else
                {
                    w.RetrievalQuantity = Stock.ToString();
                }
            }
            return(list);
        }