private int DeleteTblRecInvMainDetailProd(TblRecInvMainDetailProd row, int index, string company) { using (var entity = new WorkFlowManagerDBEntities()) { var query = (from e in entity.TblRecInvMainDetailProds where e.Iserial == row.Iserial select e).SingleOrDefault(); if (query != null) { entity.DeleteObject(query); } entity.SaveChanges(); } return(row.Iserial); }
private TblRecInvMainDetailProd UpdateOrInsertTblRecInvMainDetailProd(TblRecInvMainDetailProd newRow, bool save, int index, out int outindex, string company, out double TotalQty, out double TotalAmount) { outindex = index; using (var entity = new WorkFlowManagerDBEntities()) { if (save) { entity.TblRecInvMainDetailProds.AddObject(newRow); } else { var oldRow = (from e in entity.TblRecInvMainDetailProds where e.Iserial == newRow.Iserial select e).SingleOrDefault(); if (oldRow != null) { GenericUpdate(oldRow, newRow, entity); var row = entity.TblRecInvDetailProds.Where( x => x.TblRecInvHeaderProd == newRow.TblRecInvHeaderProd && x.Tblitem == newRow.TblItem && x.ItemType == newRow.ItemType).ToList(); foreach (var TblRecInvMainDetailProd in row) { TblRecInvMainDetailProd.Cost = newRow.Cost; TblRecInvMainDetailProd.ExchangeRate = newRow.ExchangeRate; } } } entity.SaveChanges(); TotalQty = entity.TblRecInvMainDetailProds.Where(x => x.TblRecInvHeaderProd == newRow.TblRecInvHeaderProd).Sum(x => x.Qty); TotalAmount = entity.TblRecInvMainDetailProds.Where(x => x.TblRecInvHeaderProd == newRow.TblRecInvHeaderProd).Sum(x => x.Qty * x.Cost); return(newRow); } }
private TblRecInvHeaderProd GetTblRecieveDetail(List <int?> headerProds, TblRecInvHeaderProd tblRecInvHeaderProd, string company) { using (var entity = new WorkFlowManagerDBEntities()) { tblRecInvHeaderProd.Code = HandelSequence(tblRecInvHeaderProd.Code, company); tblRecInvHeaderProd.CreationDate = DateTime.Now; entity.TblRecInvHeaderProds.AddObject(tblRecInvHeaderProd); entity.SaveChanges(); foreach (var headerProd in headerProds) { entity.TblRecInvHeaderLinkProds.AddObject(new TblRecInvHeaderLinkProd { TblRecInvHeaderProd = tblRecInvHeaderProd.Iserial, TblRecInvHeaderTypeProd = tblRecInvHeaderProd.TblRecInvHeaderTypeProd, TblPurchaseReceiveHeader = (int)headerProd }); } string comand = "select tblPurchaseReceiveDetail.BatchNo,TblPurchaseOrderDetailRequest.ItemId Style,TblPurchaseOrderDetailRequest.FabricColor TblColor,TblPurchaseOrderDetailRequest.Size SizeCode,TblPurchaseOrderHeaderRequest.TblCurrency Currency" + ",CAST( isnull(SUM(TblPurchaseReceiveDetail.Qty*TblPurchaseReceiveDetail.Cost)/SUM(TblPurchaseReceiveDetail.Qty),0) AS DECIMAL(19,4)) Cost" + ",CAST(sum(TblPurchaseReceiveDetail.Qty) AS DECIMAL(19,4)) Quantity from TblPurchaseReceiveDetail" + " inner join TblPurchaseOrderDetailRequest on TblPurchaseOrderDetailRequest.Iserial= TblPurchaseReceiveDetail.TblPurchaseOrderDetailRequest" + " inner join TblPurchaseOrderHeaderRequest on TblPurchaseOrderDetailRequest.TblPurchaseOrderHeaderRequest=TblPurchaseOrderHeaderRequest.Iserial" + " where TblPurchaseReceiveDetail.TblPurchaseReceiveHeader in ({0}) " + " group by TblPurchaseReceiveDetail.BatchNo,TblPurchaseOrderDetailRequest.ItemId,TblPurchaseOrderDetailRequest.FabricColor,Size,TblPurchaseOrderHeaderRequest.TblCurrency "; comand = comand.Replace("{0}", string.Join(",", headerProds)); List <RecInvDataTable> List = entity.ExecuteStoreQuery <RecInvDataTable>(comand).ToList(); foreach (var row in List) { var firstOrDefault = entity.Fabric_UnitID.FirstOrDefault(x => x.Fabric_Code == row.Style); if (firstOrDefault != null) { var styleIserial = firstOrDefault; var newRow = new TblRecInvMainDetailProd { ItemType = firstOrDefault.Type, Cost = (double)row.Cost, TblCurrency = row.Currency, Qty = (double)row.Quantity, TblItem = styleIserial.Iserial, TblRecInvHeaderProd = tblRecInvHeaderProd.Iserial, SizeCode = row.SizeCode, TblColor = row.TblColor, BatchNo = row.BatchNo, ExchangeRate = 1 }; entity.TblRecInvMainDetailProds.AddObject(newRow); } } IQueryable <TblPurchaseReceiveDetail> query = entity.TblPurchaseReceiveDetails.Include("TblPurchaseOrderDetailRequest1").Where(x => headerProds.Contains(x.TblPurchaseReceiveHeader)); foreach (var row in query) { var firstOrDefault = entity.Fabric_UnitID.FirstOrDefault(x => x.Fabric_Code == row.TblPurchaseOrderDetailRequest1.ItemId); if (firstOrDefault != null) { var recDetail = new TblRecInvDetailProd { Cost = row.Cost, TblRecInvHeaderProd = tblRecInvHeaderProd.Iserial, Dserial = row.Iserial, Flg = 0, Glserial = (int)row.TblPurchaseReceiveHeader, Tblitem = firstOrDefault.Iserial, ItemType = firstOrDefault.Type, TblColor = row.TblPurchaseOrderDetailRequest1.FabricColor, BatchNo = row.BatchNo, SizeCode = row.TblPurchaseOrderDetailRequest1.Size, ExchangeRate = 1 }; entity.TblRecInvDetailProds.AddObject(recDetail); } } entity.SaveChanges(); } return(tblRecInvHeaderProd); }