public bool AddStockTransfer(TblStockTransferMaster stockTransferMaster, List <TblStockTransferDetail> stockTransferDetails) { try { using ERPContext context = new ERPContext(); using var dbTransaction = context.Database.BeginTransaction(); try { var _stockTransferMaster = AddStockTransferMaster(context, stockTransferMaster); foreach (var stockdetail in stockTransferDetails) { AddStockTransferDetail(context, stockdetail, _stockTransferMaster); AddStockInformation(context, stockdetail, _stockTransferMaster, _stockTransferMaster.FromBranchCode, true); AddStockInformation(context, stockdetail, _stockTransferMaster, _stockTransferMaster.ToBranchCode, false); } dbTransaction.Commit(); return(true); } catch (Exception e) { dbTransaction.Rollback(); throw e; } } catch (Exception ex) { throw ex; } }
private TblStockTransferMaster AddStockTransferMaster(ERPContext context, TblStockTransferMaster stockTransferMaster) { try { stockTransferMaster.FromBranchName = GetBranch(stockTransferMaster.FromBranchCode)?.BranchName; stockTransferMaster.ToBranchName = GetBranch(stockTransferMaster.ToBranchCode)?.BranchName; context.TblStockTransferMaster.Add(stockTransferMaster); if (context.SaveChanges() > 0) { return(stockTransferMaster); } return(null); } catch (Exception ex) { throw ex; } }
private TblStockInformation AddStockInformation(ERPContext context, TblStockTransferDetail stockTransferDetail, TblStockTransferMaster stockTransfertMaster, string branchCode, bool isFromBranch, decimal?voucherTypeID = 29) { try { TblStockInformation stockInformation = new TblStockInformation(); try { stockInformation.BranchId = Convert.ToDecimal(branchCode ?? "0"); } catch { }; stockInformation.BranchCode = branchCode; stockInformation.UserId = stockTransfertMaster.UserId; stockInformation.ShiftId = stockTransfertMaster.ShiftId; stockInformation.TransactionDate = stockTransfertMaster.StockTransferDate; stockInformation.VoucherNo = string.Empty; stockInformation.VoucherTypeId = voucherTypeID; stockInformation.InvoiceNo = stockTransfertMaster.StockTransferNo; stockInformation.ProductId = stockTransferDetail.ProductId; stockInformation.ProductCode = stockTransferDetail.ProductCode; stockInformation.Rate = stockTransferDetail.Rate; if (isFromBranch) { stockInformation.OutwardQty = stockTransferDetail.FQty > 0 ? stockTransferDetail.FQty : stockTransferDetail.Qty; } else { stockInformation.InwardQty = stockTransferDetail.FQty > 0 ? stockTransferDetail.FQty : stockTransferDetail.Qty; } stockInformation.OutwardQty = stockInformation.OutwardQty ?? 0; stockInformation.InwardQty = stockInformation.InwardQty ?? 0; context.TblStockInformation.Add(stockInformation); if (context.SaveChanges() > 0) { return(stockInformation); } return(null); } catch (Exception ex) { throw ex; } }
private TblStockTransferDetail AddStockTransferDetail(ERPContext context, TblStockTransferDetail stockTransferDetail, TblStockTransferMaster stockTransferMaster) { try { stockTransferDetail.StockTransferDetailId = null; stockTransferDetail.StockTransferMasterId = stockTransferMaster.StockTransferMasterId; stockTransferDetail.StockTransferDetailsDate = stockTransferMaster.StockTransferDate; context.TblStockTransferDetail.Add(stockTransferDetail); if (context.SaveChanges() > 0) { return(stockTransferDetail); } return(null); } catch (Exception ex) { throw ex; } }