public SaleDispatchLineViewModel GetSaleDispatchLineForEdit(int id) { return((from p in db.SaleDispatchLine join t2 in db.PackingLine on p.PackingLineId equals t2.PackingLineId into table2 from Pl in table2.DefaultIfEmpty() join t3 in db.ViewSaleOrderBalance on Pl.SaleOrderLineId equals t3.SaleOrderLineId into table3 from tab3 in table3.DefaultIfEmpty() join Si in db.Stock on p.StockInId equals Si.StockId into StockInTable from StockInTab in StockInTable.DefaultIfEmpty() join Sih in db.StockHeader on StockInTab.StockHeaderId equals Sih.StockHeaderId into StockHeaderTable from StockHeaderTab in StockHeaderTable.DefaultIfEmpty() where p.SaleDispatchLineId == id select new SaleDispatchLineViewModel { ProductUidId = Pl.ProductUidId, ProductUidName = Pl.ProductUid.ProductUidName, ProductCode = Pl.Product.ProductCode, ProductId = Pl.ProductId, ProductName = Pl.Product.ProductName, SaleOrderHeaderDocNo = Pl.SaleOrderLine.SaleOrderHeader.DocNo, LossQty = Pl.LossQty, FreeQty = Pl.FreeQty, PassQty = Pl.PassQty, Qty = Pl.Qty, BalanceQty = (tab3 == null ? (decimal)Pl.PassQty : tab3.BalanceQty + (decimal)Pl.PassQty), BaleNo = Pl.BaleNo, UnitId = Pl.Product.UnitId, UnitName = Pl.Product.Unit.UnitName, DealUnitId = Pl.DealUnitId, DealUnitName = Pl.DealUnit.UnitName, DealQty = Pl.DealQty, Remark = Pl.Remark, Specification = Pl.Specification, Dimension1Id = Pl.Dimension1Id, Dimension2Id = Pl.Dimension2Id, LotNo = Pl.LotNo, GodownId = p.GodownId, UnitConversionMultiplier = Pl.UnitConversionMultiplier, SaleDispatchHeaderId = p.SaleDispatchHeaderId, SaleDispatchLineId = p.SaleDispatchLineId, PackingLineId = Pl.PackingLineId, SaleOrderLineId = Pl.SaleOrderLineId, Weight = Pl.NetWeight, StockInId = p.StockInId, StockInNo = StockHeaderTab.DocNo } ).FirstOrDefault()); }
public void DeleteStockProcessForDocHeader(int DocHeaderId, int DocTypeId, int SiteId, int DivisionId) { IEnumerable <StockProcess> StockProcessList = (from L in _StockProcessRepository.Instance join H in _unitOfWork.Repository <StockHeader>().Instance on L.StockHeaderId equals H.StockHeaderId into StockHeaderTable from StockHeaderTab in StockHeaderTable.DefaultIfEmpty() where StockHeaderTab.DocHeaderId == DocHeaderId && StockHeaderTab.DocTypeId == DocTypeId && StockHeaderTab.SiteId == SiteId && StockHeaderTab.DivisionId == DivisionId select L).ToList(); if (StockProcessList != null && StockProcessList.Count() > 0) { int i = 0; foreach (StockProcess item in StockProcessList) { try { StockProcessBalance StockProcessbalance = (from L in _unitOfWork.Repository <StockProcessBalance>().Instance where L.ProductId == item.ProductId && L.Dimension1Id == item.Dimension1Id && L.Dimension2Id == item.Dimension2Id && L.ProcessId == item.ProcessId && L.LotNo == item.LotNo && L.GodownId == item.GodownId && L.CostCenterId == item.CostCenterId select L).FirstOrDefault(); if (StockProcessbalance != null) { StockProcessbalance.Qty = StockProcessbalance.Qty - item.Qty_Rec; StockProcessbalance.Qty = StockProcessbalance.Qty + item.Qty_Iss; if (StockProcessbalance.Qty == 0) { item.ObjectState = Model.ObjectState.Deleted; _unitOfWork.Repository <StockProcessBalance>().Delete(StockProcessbalance); } else { i = i + 1; StockProcessbalance.ObjectState = Model.ObjectState.Modified; _unitOfWork.Repository <StockProcessBalance>().Add(StockProcessbalance); } } Delete(item); } catch (Exception e) { string str = e.Message; } } _stockHeaderService.Delete(StockProcessList.FirstOrDefault().StockHeaderId); } }
public IEnumerable <SaleDispatchLineViewModel> GetSaleDispatchLineListForIndex(int SaleDispatchHeaderId) { IEnumerable <SaleDispatchLineViewModel> SaleDispatchLineViewModel = (from l in db.SaleDispatchLine join Pl in db.PackingLine on l.PackingLineId equals Pl.PackingLineId into PackingLineTable from PackingLineTab in PackingLineTable.DefaultIfEmpty() join t in db.Product on PackingLineTab.ProductId equals t.ProductId into table from tab in table.DefaultIfEmpty() join t1 in db.SaleOrderLine on PackingLineTab.SaleOrderLineId equals t1.SaleOrderLineId into table1 from tab1 in table1.DefaultIfEmpty() join t2 in db.SaleOrderHeader on tab1.SaleOrderHeaderId equals t2.SaleOrderHeaderId into table2 from tab2 in table2.DefaultIfEmpty() join t3 in db.ProductUid on PackingLineTab.ProductUidId equals t3.ProductUIDId into table3 from tab3 in table3.DefaultIfEmpty() join u in db.Units on PackingLineTab.DealUnitId equals u.UnitId into DealUnitTable from DealUnitTab in DealUnitTable.DefaultIfEmpty() join Si in db.Stock on l.StockId equals Si.StockId into StockInTable from StockInTab in StockInTable.DefaultIfEmpty() join Sih in db.StockHeader on StockInTab.StockHeaderId equals Sih.StockHeaderId into StockHeaderTable from StockHeaderTab in StockHeaderTable.DefaultIfEmpty() where l.SaleDispatchHeaderId == SaleDispatchHeaderId orderby l.SaleDispatchLineId select new SaleDispatchLineViewModel { SaleDispatchLineId = l.SaleDispatchLineId, ProductName = tab.ProductName, Dimension1Name = PackingLineTab.Dimension1.Dimension1Name, Dimension2Name = PackingLineTab.Dimension2.Dimension2Name, Specification = PackingLineTab.Specification, SaleOrderHeaderDocNo = tab2.DocNo, ProductUidName = tab3.ProductUidName, BaleNo = PackingLineTab.BaleNo, Qty = PackingLineTab.Qty, UnitId = tab.UnitId, DealQty = PackingLineTab.DealQty, DealUnitId = DealUnitTab.UnitName, DealUnitDecimalPlaces = DealUnitTab.DecimalPlaces, unitDecimalPlaces = PackingLineTab.Product.Unit.DecimalPlaces, StockInId = StockInTab.StockId, StockInNo = StockHeaderTab.DocNo, Remark = l.Remark, LossQty = PackingLineTab.LossQty, SaleDispatchHeaderId = l.SaleDispatchHeaderId }).Take(2000).ToList(); return(SaleDispatchLineViewModel); }