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)); }
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); }