コード例 #1
0
        public ActionResult GetDebtInStock(SearchingStockViewModel model)
        {
            Request.RequestContext.HttpContext.Response.AddHeader("Access-Control-Allow-Origin", "*");
            var ownedNote = _debtnote.Queryable().Include(t => t.PayWarehouse).Include(t => t.PaymentType).Where(x => x.IsOwed == true &&
                                                                                                                 x.Delete == false &&
                                                                                                                 ((!model.WarehouseId.HasValue) || x.PayWarehouse.Id == model.WarehouseId) &&
                                                                                                                 ((!model.Start.HasValue) || x.CreatedDate >= model.Start) &&
                                                                                                                 ((!model.End.HasValue) || x.CreatedDate <= model.End)).Select(x => new DebtNoteViewModel
            {
                Id               = x.Id,
                PayWarehouse     = x.PayWarehouse.Name,
                Total            = x.Total,
                CreatedDate      = x.CreatedDate,
                LastModifiedDate = x.LastModifiedDate,
                PayMethod        = x.PaymentType.Name,
                Noted            = x.Noted,
                Code             = x.Code
            });
            var ownNote = _debtnote.Queryable().Include(t => t.PayWarehouse).Include(t => t.PaymentType).Where(x => x.IsOwed == false &&
                                                                                                               x.Delete == false &&
                                                                                                               ((!model.WarehouseId.HasValue) || x.PayWarehouse.Id == model.WarehouseId) &&
                                                                                                               ((!model.Start.HasValue) || x.CreatedDate >= model.Start) &&
                                                                                                               ((!model.End.HasValue) || x.CreatedDate <= model.End)
                                                                                                               ).Select(x => new DebtNoteViewModel
            {
                Id               = x.Id,
                PayWarehouse     = x.PayWarehouse.Name,
                Total            = x.Total,
                CreatedDate      = x.CreatedDate,
                LastModifiedDate = x.LastModifiedDate,
                PayMethod        = x.PaymentType.Name,
                Noted            = x.Noted,
                Code             = x.Code
            });
            var groupOwedNote = ownedNote.GroupBy(x => new { x.PayWarehouse }, (Key, group) => new DebtStockGroupViewModel()
            {
                Warehouse = Key.PayWarehouse,
                StockList = group.GroupBy(y => new { y.PayMethod }, (Key2, group2) => new DebtStockViewModel()
                {
                    PayMethod = Key2.PayMethod,
                    Details   = group2.Select(z => new DebtStockDetailViewModel()
                    {
                        Code  = z.Code,
                        Total = z.Total,
                        Noted = z.Noted
                    }).ToList()
                }).ToList()
            });
            var groupOwnNote = ownNote.GroupBy(x => new { x.PayWarehouse }, (Key, group) => new DebtStockGroupViewModel()
            {
                Warehouse = Key.PayWarehouse,
                StockList = group.GroupBy(y => new { y.PayMethod }, (Key2, group2) => new DebtStockViewModel()
                {
                    PayMethod = Key2.PayMethod,
                    Details   = group2.Select(z => new DebtStockDetailViewModel()
                    {
                        Code  = z.Code,
                        Total = z.Total,
                        Noted = z.Noted
                    }).ToList()
                }).ToList()
            });
            var filterOwnedNote = new List <DebtStockViewModel>();

            foreach (var item in groupOwedNote)
            {
                if (groupOwnNote.Where(x => x.Warehouse == item.Warehouse).Any())
                {
                }
            }
            return(Json(groupOwnNote, JsonRequestBehavior.AllowGet));
        }