public IHttpActionResult GetWinnerList(WinnerReportModel winner)
        {
            var list = db.SalesOrderItems.Where(m => m.IsActive == true).Include(m => m.SalesOrder).Include(m => m.Product);

            if (!string.IsNullOrEmpty(winner.BranchCode))
            {
                list = list.Where(x => x.SalesOrder.Branch.BranchCode.Contains(winner.BranchCode));
            }
            if (winner.IsMarkDown == true)
            {
                list = list.Where(x => x.Product.IsMarkDown == true);
            }
            if (winner.FromReportDate != null && winner.ToReportDate != null)
            {
                var FromDate = Convert.ToDateTime(winner.FromReportDate).Date;
                var ToDate   = Convert.ToDateTime(winner.ToReportDate).AddDays(1).Date;
                list = list.Where(k => k.SalesOrder.TransactionDate >= FromDate && k.SalesOrder.TransactionDate < ToDate);
            }
            if (winner.FromDistributionDate != null && winner.ToDistributionDate != null)
            {
                var FromDate = Convert.ToDateTime(winner.FromDistributionDate).Date;
                var ToDate   = Convert.ToDateTime(winner.ToDistributionDate).AddDays(1).Date;
                list = list.Where(k => k.SalesOrder.TransactionDate >= FromDate && k.SalesOrder.TransactionDate < ToDate);
            }
            return(Ok(list.ToList().RemoveReferences()));
        }
        public ActionResult GetWinnerList(WinnerReportModel winner)
        {
            var list      = Services.SalesOrderItemService.GetWinnerList(winner);
            var markDown  = Services.MarkDownService.GetAll();
            var IBTBranch = Services.IBTService.GetIBTDetails(winner);
            var list1     = new List <SalesOrderItemModel>();

            if (list.Count > 0 && IBTBranch.Count > 0)
            {
                list1 = list.GroupBy(x => x.ProductId).Select(x => new SalesOrderItemModel
                {
                    ProductId         = x.First().ProductId,
                    Product           = Services.ProductService.GetAll().Where(m => m.Id == x.First().ProductId).FirstOrDefault(),
                    Quantity          = x.Sum(m => m.Quantity),
                    CashSaleCount     = x.Where(q => q.SalesOrder.SaleType.Contains("Cash")).Sum(l => l.Quantity),
                    LayBuySaleCount   = x.Where(y => y.SalesOrder.SaleType.Contains("LayBaySale")).Sum(j => j.Quantity),
                    RemainingQuantity = x.Last().RemainingQuantity,
                    PricePerUnit      = x.First().PricePerUnit,
                    TotalPriceAll     = x.Sum(m => m.TotalPrice),
                    IBTStock          = IBTBranch.Where(u => u.ProductId == x.First().ProductId).Sum(p => p.ItemCount),
                    Sold          = (x.Sum(m => m.Quantity) * 100) / (IBTBranch.Where(u => u.ProductId == x.First().ProductId).Sum(p => p.ItemCount)),
                    MarkDownCount = markDown.Where(k => k.ProductSKU == x.First().Product.ProductSKU&& k.StyleSKU == x.First().Product.StyleSKU).Count(),
                }).ToList();
            }
            return(View(list1));
        }
        public List <SalesOrderItemModel> GetWinnerList(WinnerReportModel winner)
        {
            var list4 = new List <SalesOrderItemModel>();
            var list2 = new List <SalesOrderItemModel>();
            var list  = ServerResponse.Invoke <List <SalesOrderItemModel> >("api/salesOrderItems/getWinnerList", JsonConvert.SerializeObject(winner), "POST");

            if (winner.FromProductSKU != null && winner.ToProductSKU != null)
            {
                var x = Convert.ToInt32(winner.FromProductSKU);
                var y = Convert.ToInt32(winner.ToProductSKU);
                for (var i = x; i <= y; i++)
                {
                    var list1 = new List <SalesOrderItemModel>();
                    var str   = "";
                    if (i < 10)
                    {
                        str = "00" + i;
                    }
                    else if (i < 100)
                    {
                        str = "0" + i;
                    }
                    else
                    {
                        str = "" + i;
                    }
                    list1 = list.Where(k => k.Product.ProductSKU.Contains(str)).ToList();
                    list2.AddRange(list1);
                }
            }
            if (winner.FromStyleSKU != null && winner.ToStyleSKU != null)
            {
                var style1 = Convert.ToInt32(winner.FromStyleSKU);
                var style2 = Convert.ToInt32(winner.ToStyleSKU);
                for (int j = style1; j <= style2; j++)
                {
                    var list3 = new List <SalesOrderItemModel>();
                    var str1  = "";
                    if (j < 10)
                    {
                        str1 = "000" + j;
                    }
                    else if (j < 100)
                    {
                        str1 = "00" + j;
                    }
                    else if (j < 1000)
                    {
                        str1 = "0" + j;
                    }
                    else
                    {
                        str1 = "" + j;
                    }
                    list3 = list2.Where(m => m.Product.StyleSKU.Contains(str1)).ToList();
                    list4.AddRange(list3);
                }
            }
            return(list2);
        }
Beispiel #4
0
        public IHttpActionResult GetDetails(WinnerReportModel winner)
        {
            var list = db.IBTDetails.Where(x => x.IsActive == true).Include(x => x.IBTBranch).Include(x => x.Product).ToList();

            if (list.Count > 0)
            {
                if (winner.FromReportDate != null && winner.ToReportDate != null)
                {
                    var FromDate = Convert.ToDateTime(winner.FromReportDate).Date;
                    var ToDate   = Convert.ToDateTime(winner.ToReportDate).AddDays(1).Date;
                    list = list.Where(k => k.IBTBranch.DateReceive >= FromDate && k.IBTBranch.DateReceive < ToDate).ToList();
                }
                if (winner.FromDistributionDate != null && winner.ToDistributionDate != null)
                {
                    var FromDate = Convert.ToDateTime(winner.FromDistributionDate).Date;
                    var ToDate   = Convert.ToDateTime(winner.ToDistributionDate).AddDays(1).Date;
                    list = list.Where(k => k.IBTBranch.DateReceive >= FromDate && k.IBTBranch.DateReceive < ToDate).ToList();
                }
            }
            return(Ok(list));
        }
 public List <IBTDetailModel> GetIBTDetails(WinnerReportModel winner)
 {
     return(ServerResponse.Invoke <List <IBTDetailModel> >("api/ibtBranch/getDetails", JsonConvert.SerializeObject(winner), "POST"));
 }