public ActionResult _ForIndent(int id, int sid) { PurchaseQuotationLineFilterViewModel vm = new PurchaseQuotationLineFilterViewModel(); PurchaseQuotationHeader Header = _PurchaseQuotationHeaderService.Find(id); PurchaseQuotationSetting Settings = new PurchaseQuotationSettingService(_unitOfWork).GetPurchaseQuotationSettingForDocument(Header.DocTypeId, Header.DivisionId, Header.SiteId); vm.PurchaseQuotationSettings = Mapper.Map <PurchaseQuotationSetting, PurchaseQuotationSettingsViewModel>(Settings); vm.PurchaseQuotationHeaderId = id; vm.SupplierId = sid; PrepareViewBag(null); return(PartialView("_IndentFilters", vm)); }
public ActionResult _FilterPostIndents(PurchaseQuotationLineFilterViewModel vm) { if (vm.PurchaseQuotationSettings.isMandatoryRate && (vm.Rate == null || vm.Rate == 0)) { ModelState.AddModelError("", "Rate is mandatory"); PrepareViewBag(null); return(PartialView("_IndentFilters", vm)); } List <PurchaseQuotationLineViewModel> temp = _PurchaseQuotationLineService.GetPurchaseIndentForFilters(vm).ToList(); PurchaseQuotationMasterDetailModel svm = new PurchaseQuotationMasterDetailModel(); svm.PurchaseQuotationLineViewModel = temp; bool UnitConvetsionException = (from p in temp where p.UnitConversionException == true select p).Any(); if (UnitConvetsionException) { ViewBag.UnitConversionException = UnitConvetsionException; string Products = string.Join(",", from p in temp where p.UnitConversionException == true select p.ProductName); ModelState.AddModelError("", "Unit Conversion are missing for few Products -" + Products); } PurchaseQuotationHeader Header = _PurchaseQuotationHeaderService.Find(vm.PurchaseQuotationHeaderId); PurchaseQuotationSetting Settings = new PurchaseQuotationSettingService(_unitOfWork).GetPurchaseQuotationSettingForDocument(Header.DocTypeId, Header.DivisionId, Header.SiteId); svm.PurchaseQuotationSettings = Mapper.Map <PurchaseQuotationSetting, PurchaseQuotationSettingsViewModel>(Settings); return(PartialView("_IndentResults", svm)); }
public IEnumerable <PurchaseQuotationLineViewModel> GetPurchaseIndentForFilters(PurchaseQuotationLineFilterViewModel vm) { byte?UnitConvForId = db.PurchaseQuotationHeader.Find(vm.PurchaseQuotationHeaderId).UnitConversionForId; string[] ProductIdArr = null; if (!string.IsNullOrEmpty(vm.ProductId)) { ProductIdArr = vm.ProductId.Split(",".ToCharArray()); } else { ProductIdArr = new string[] { "NA" }; } string[] SaleOrderIdArr = null; if (!string.IsNullOrEmpty(vm.PurchaseIndentHeaderId)) { SaleOrderIdArr = vm.PurchaseIndentHeaderId.Split(",".ToCharArray()); } else { SaleOrderIdArr = new string[] { "NA" }; } string[] ProductGroupIdArr = null; if (!string.IsNullOrEmpty(vm.ProductGroupId)) { ProductGroupIdArr = vm.ProductGroupId.Split(",".ToCharArray()); } else { ProductGroupIdArr = new string[] { "NA" }; } if (!string.IsNullOrEmpty(vm.DealUnitId)) { Unit Dealunit = new UnitService(_unitOfWork).Find(vm.DealUnitId); var temp = (from p in db.ViewPurchaseIndentBalance join t in db.PurchaseIndentHeader on p.PurchaseIndentHeaderId equals t.PurchaseIndentHeaderId into table from tab in table.DefaultIfEmpty() join product in db.Product on p.ProductId equals product.ProductId into table2 join t1 in db.PurchaseIndentLine on p.PurchaseIndentLineId equals t1.PurchaseIndentLineId into table1 from tab1 in table1.DefaultIfEmpty() from tab2 in table2.DefaultIfEmpty() join t3 in db.UnitConversion on new { p1 = p.ProductId, DU1 = vm.DealUnitId, U1 = UnitConvForId ?? 0 } equals new { p1 = t3.ProductId ?? 0, DU1 = t3.ToUnitId, U1 = t3.UnitConversionForId } into table3 from tab3 in table3.DefaultIfEmpty() where (string.IsNullOrEmpty(vm.ProductId) ? 1 == 1 : ProductIdArr.Contains(p.ProductId.ToString())) && (string.IsNullOrEmpty(vm.PurchaseIndentHeaderId) ? 1 == 1 : SaleOrderIdArr.Contains(p.PurchaseIndentHeaderId.ToString())) && (string.IsNullOrEmpty(vm.ProductGroupId) ? 1 == 1 : ProductGroupIdArr.Contains(tab2.ProductGroupId.ToString())) && p.BalanceQty > 0 select new PurchaseQuotationLineViewModel { Dimension1Name = tab1.Dimension1.Dimension1Name, Dimension2Name = tab1.Dimension2.Dimension2Name, Dimension1Id = tab1.Dimension1Id, Dimension2Id = tab1.Dimension2Id, Specification = tab1.Specification, IndentBalanceQty = p.BalanceQty, Qty = p.BalanceQty, Rate = vm.Rate, ProductName = tab2.ProductName, ProductId = p.ProductId, PurchaseQuotationHeaderId = vm.PurchaseQuotationHeaderId, PurchaseIndentLineId = p.PurchaseIndentLineId, UnitId = tab2.UnitId, PurchaseIndentDocNo = p.PurchaseIndentNo, DealUnitId = (tab3 == null ? tab2.UnitId : vm.DealUnitId), UnitConversionMultiplier = (tab3 == null ? 1 : tab3.ToQty / tab3.FromQty), UnitConversionException = tab3 == null ? true : false, unitDecimalPlaces = tab2.Unit.DecimalPlaces, DealunitDecimalPlaces = (tab3 == null ? tab2.Unit.DecimalPlaces : Dealunit.DecimalPlaces), } ); return(temp); } else { var temp = (from p in db.ViewPurchaseIndentBalance join t in db.PurchaseIndentHeader on p.PurchaseIndentHeaderId equals t.PurchaseIndentHeaderId into table from tab in table.DefaultIfEmpty() join product in db.Product on p.ProductId equals product.ProductId into table2 join t1 in db.PurchaseIndentLine on p.PurchaseIndentLineId equals t1.PurchaseIndentLineId into table1 from tab1 in table1.DefaultIfEmpty() from tab2 in table2.DefaultIfEmpty() where (string.IsNullOrEmpty(vm.ProductId) ? 1 == 1 : ProductIdArr.Contains(p.ProductId.ToString())) && (string.IsNullOrEmpty(vm.PurchaseIndentHeaderId) ? 1 == 1 : SaleOrderIdArr.Contains(p.PurchaseIndentHeaderId.ToString())) && (string.IsNullOrEmpty(vm.ProductGroupId) ? 1 == 1 : ProductGroupIdArr.Contains(tab2.ProductGroupId.ToString())) && p.BalanceQty > 0 select new PurchaseQuotationLineViewModel { Dimension1Name = tab1.Dimension1.Dimension1Name, Dimension1Id = tab1.Dimension1Id, Dimension2Name = tab1.Dimension2.Dimension2Name, Dimension2Id = tab1.Dimension2Id, Specification = tab1.Specification, IndentBalanceQty = p.BalanceQty, Qty = p.BalanceQty, Rate = vm.Rate, PurchaseIndentDocNo = tab.DocNo, ProductName = tab2.ProductName, ProductId = p.ProductId, PurchaseQuotationHeaderId = vm.PurchaseQuotationHeaderId, PurchaseIndentLineId = p.PurchaseIndentLineId, UnitId = tab2.UnitId, DealUnitId = tab2.UnitId, UnitConversionMultiplier = 1, unitDecimalPlaces = tab2.Unit.DecimalPlaces, DealunitDecimalPlaces = tab2.Unit.DecimalPlaces, } ); return(temp); } }