public ActionResult _FilterPostOrders(SaleDeliveryFilterViewModel vm)
        {
            List <SaleDeliveryLineViewModel> temp = _SaleDeliveryLineService.GetSaleInvoicesForFilters(vm).ToList();
            SaleDeliveryListViewModel        svm  = new SaleDeliveryListViewModel();

            svm.SaleDeliveryLineViewModel = temp;
            return(PartialView("_Results", svm));
        }
        public ActionResult _ForOrder(int id)
        {
            SaleDeliveryFilterViewModel vm = new SaleDeliveryFilterViewModel();

            vm.SaleDeliveryHeaderId = id;
            SaleDeliveryHeader H = new SaleDeliveryHeaderService(_unitOfWork).Find(id);
            var settings         = new SaleDeliverySettingService(_unitOfWork).GetSaleDeliverySettingForDocument(H.DocTypeId, H.DivisionId, H.SiteId);

            vm.SaleDeliverySettings = Mapper.Map <SaleDeliverySetting, SaleDeliverySettingsViewModel>(settings);
            vm.DocumentTypeSettings = new DocumentTypeSettingsService(_unitOfWork).GetDocumentTypeSettingsForDocument(H.DocTypeId);
            return(PartialView("_OrderFilters", vm));
        }
Ejemplo n.º 3
0
        public IEnumerable <SaleDeliveryLineViewModel> GetSaleInvoicesForFilters(SaleDeliveryFilterViewModel vm)
        {
            var SaleDeliveryHeader = new SaleDeliveryHeaderService(_unitOfWork).Find(vm.SaleDeliveryHeaderId);

            string[] ProductIdArr = null;
            if (!string.IsNullOrEmpty(vm.ProductId))
            {
                ProductIdArr = vm.ProductId.Split(",".ToCharArray());
            }
            else
            {
                ProductIdArr = new string[] { "NA" };
            }

            string[] Dimension1IdArr = null;
            if (!string.IsNullOrEmpty(vm.Dimension1Id))
            {
                Dimension1IdArr = vm.Dimension1Id.Split(",".ToCharArray());
            }
            else
            {
                Dimension1IdArr = new string[] { "NA" };
            }

            string[] Dimension2IdArr = null;
            if (!string.IsNullOrEmpty(vm.Dimension2Id))
            {
                Dimension2IdArr = vm.Dimension2Id.Split(",".ToCharArray());
            }
            else
            {
                Dimension2IdArr = new string[] { "NA" };
            }

            string[] SaleInvoiceIdArr = null;
            if (!string.IsNullOrEmpty(vm.SaleInvoiceHeaderId))
            {
                SaleInvoiceIdArr = vm.SaleInvoiceHeaderId.Split(",".ToCharArray());
            }
            else
            {
                SaleInvoiceIdArr = new string[] { "NA" };
            }

            string[] ProductGroupIdArr = null;
            if (!string.IsNullOrEmpty(vm.ProductGroupId))
            {
                ProductGroupIdArr = vm.ProductGroupId.Split(",".ToCharArray());
            }
            else
            {
                ProductGroupIdArr = new string[] { "NA" };
            }

            var temp = (from p in db.ViewSaleInvoiceBalanceForDelivery
                        join t in db.SaleInvoiceHeader on p.SaleInvoiceHeaderId equals t.SaleInvoiceHeaderId into table
                        from tab in table.DefaultIfEmpty()
                        join t1 in db.SaleInvoiceLine on p.SaleInvoiceLineId equals t1.SaleInvoiceLineId into table1
                        from tab1 in table1.DefaultIfEmpty()
                        join product in db.Product on p.ProductId equals product.ProductId into table2
                        from tab2 in table2.DefaultIfEmpty()
                        where p.SaleToBuyerId == SaleDeliveryHeader.SaleToBuyerId &&
                        (string.IsNullOrEmpty(vm.ProductId) ? 1 == 1 : ProductIdArr.Contains(p.ProductId.ToString())) &&
                        (string.IsNullOrEmpty(vm.SaleInvoiceHeaderId) ? 1 == 1 : SaleInvoiceIdArr.Contains(p.SaleInvoiceHeaderId.ToString())) &&
                        (string.IsNullOrEmpty(vm.ProductGroupId) ? 1 == 1 : ProductGroupIdArr.Contains(tab2.ProductGroupId.ToString())) &&
                        (string.IsNullOrEmpty(vm.Dimension1Id) ? 1 == 1 : Dimension1IdArr.Contains(p.Dimension1Id.ToString())) &&
                        (string.IsNullOrEmpty(vm.Dimension2Id) ? 1 == 1 : Dimension2IdArr.Contains(p.Dimension2Id.ToString())) &&
                        p.BalanceQty > 0
                        orderby p.SaleInvoiceLineId
                        select new SaleDeliveryLineViewModel
            {
                //ProductUidIdName = tab1.ProductUid != null ? tab1.ProductUid.ProductUidName : "",
                Dimension1Name = tab1.Dimension1.Dimension1Name,
                Dimension2Name = tab1.Dimension2.Dimension2Name,
                BalanceQty = p.BalanceQty,
                Qty = p.BalanceQty,
                SaleInvoiceHeaderDocNo = tab.DocNo,
                ProductName = tab2.ProductName,
                ProductId = p.ProductId,
                Dimension1Id = p.Dimension1Id,
                Dimension2Id = p.Dimension2Id,
                SaleDeliveryHeaderId = vm.SaleDeliveryHeaderId,
                SaleInvoiceLineId = p.SaleInvoiceLineId,
                UnitId = tab2.UnitId,
                UnitName = tab2.Unit.UnitName,
                DealUnitId = tab1.DealUnitId,
                DealUnitName = tab1.DealUnit.UnitName,
                unitDecimalPlaces = tab2.Unit.DecimalPlaces,
                DealUnitDecimalPlaces = tab1.DealUnit.DecimalPlaces,
                DealQty = (!tab1.UnitConversionMultiplier.HasValue || tab1.UnitConversionMultiplier <= 0) ? p.BalanceQty : p.BalanceQty * tab1.UnitConversionMultiplier.Value,
                UnitConversionMultiplier = tab1.UnitConversionMultiplier,
            }

                        );

            return(temp);
        }