public int getQty_sumByYearAndShortItemNo(int year, int shortItemNo)
        {
            int result = 0;

            salesHist = new F42071Repository();

            var resultEntity = (from s in salesHist.GetAll(x => x.PeriodYear.Equals(year) && x.ShortItemNo.Equals(shortItemNo))
                                group s by s.ShortItemNo into groupsales
                                select new {
                                    shortItemNo=groupsales.Key,
                                    Qty_sum01=groupsales.Sum(x=>x.TotQty01),
                                    Qty_sum02 = groupsales.Sum(x => x.TotQty02),
                                    Qty_sum03 = groupsales.Sum(x => x.TotQty03),
                                    Qty_sum04 = groupsales.Sum(x => x.TotQty04),
                                    Qty_sum05 = groupsales.Sum(x => x.TotQty05),
                                    Qty_sum06 = groupsales.Sum(x => x.TotQty06),
                                    Qty_sum07 = groupsales.Sum(x => x.TotQty07),
                                    Qty_sum08 = groupsales.Sum(x => x.TotQty08),
                                    Qty_sum09 = groupsales.Sum(x => x.TotQty09),
                                    Qty_sum10 = groupsales.Sum(x => x.TotQty10),
                                    Qty_sum11 = groupsales.Sum(x => x.TotQty11),
                                    Qty_sum12 = groupsales.Sum(x => x.TotQty12),
                                }).FirstOrDefault();

            if (resultEntity != null)
                result = resultEntity.Qty_sum01 + resultEntity.Qty_sum02 + resultEntity.Qty_sum03 + resultEntity.Qty_sum04 + resultEntity.Qty_sum05
                     + resultEntity.Qty_sum06 + resultEntity.Qty_sum07 + resultEntity.Qty_sum08 + resultEntity.Qty_sum09 + resultEntity.Qty_sum10
                      + resultEntity.Qty_sum11 + resultEntity.Qty_sum12;

            return result;
        }
        public IList<IncreaseCreditLimitModel> getInfoIncreaseCrLimit(int month, int year,List<string> CustomerIDList)
        {
            IList<IncreaseCreditLimitModel> result = new List<IncreaseCreditLimitModel>();

            objF42071 = new F42071Repository();
            objF03021 = new F03021Repository();
            objF03020 = new F03020Repository();

            decimal TotSales = 0;
            decimal TotRec = 0;

            foreach (string custID in CustomerIDList)
            {
                ARTrackingListModel ARData = new ARTrackingListModel();
                ARData = getARTrackingByCustomerID(month, year, custID);

                IQueryable<F03020> objARRec_H = objF03020.GetQuery();

                var Totdata = from sh in objF42071.GetAll().Where(x => x.CustomerID.Equals(custID) && x.PeriodYear == DateTime.Today.Year)
                              group sh by new { sh.CustomerID } into g
                              select new
                              {

                                  customerID = g.Key.CustomerID,
                                  TotSales = g.Sum(x => x.TotCost01 + x.TotCost02 + x.TotCost03 + x.TotCost04 + x.TotCost05 + x.TotCost06
                                      + x.TotCost07 + x.TotCost08 + x.TotCost09 + x.TotCost10 + x.TotCost11 + x.TotCost12)
                              };

                //objARRec_H = objARRec_H.Where(x => x.AdvReceipt.Equals("N"));

                objARRec_H = objARRec_H.Where(x => x.CustomerID.Equals(custID));

                var ARReceipt = from h in objARRec_H.AsEnumerable()
                                where h.CustomerID.Equals(custID) && h.ReceiptDate.Year == DateTime.Today.Year
                                group h by new { h.CustomerID } into g
                                select new
                                {
                                    CustomerID = g.Key.CustomerID,
                                    TotReceiptAmtC = g.Sum(x => x.ReceiptAmt) + g.Sum(x => x.WriteOffAmt),
                                    TotReceiptAmtLocal = g.Sum(x => x.ReceiptAmtLocal) + g.Sum(x => x.WriteOffAmtLocal)
                                };

                if (Totdata.Count() > 0)
                    TotSales = Totdata.FirstOrDefault().TotSales;
                else
                    TotSales = 0;

                if (ARReceipt.Count() > 0)
                    TotRec = ARReceipt.FirstOrDefault().TotReceiptAmtLocal;
                else
                    TotRec = 0;

                IncreaseCreditLimitModel ICL = new IncreaseCreditLimitModel();

                ICL.CustomerID = ARData.CustomerID;
                ICL.CustomerName = ARData.CustomerName;
                ICL.CreditLimit = ARData.CreditLimit;
                ICL.CreditTerm = ARData.PaymentABC;
                ICL.TotalOutstanding = ARData.TotOutstanding;
                ICL.Over90 = ARData.Over90;
                ICL.Over120 = ARData.Over120;
                ICL.PTerm = ARData.PTerm;
                ICL.TotalSales = TotSales;
                ICL.TotalReceipt = TotRec;
                ICL.LastReceiptDate = ARData.LastReceiptDate;

                result.Add(ICL);
            }

            return result;
        }