private List <Entities.PurchaseBill> GetPurchaseBills(IDataReader reader) { var purchaseBills = new List <Entities.PurchaseBill>(); while (reader.Read()) { var purchaseBillItem = new PurchaseBillItem(); var purchaseBill = new Entities.PurchaseBill { PurchaseBillId = DRE.GetNullableInt32(reader, "purchase_bill_id", 0), PurchaseBillNo = DRE.GetNullableString(reader, "purchase_bill_no", null), PurchaseBillDate = DRE.GetNullableString(reader, "purchase_bill_date", null), VendorId = DRE.GetNullableInt32(reader, "vendor_id", null), VendorName = DRE.GetNullableString(reader, "vendor_name", null), PurchaseBillAmount = DRE.GetNullableDecimal(reader, "purchase_bill_amount", 0), AdjustedAmount = DRE.GetNullableDecimal(reader, "adjusted_amount", 0), TotalBillQty = DRE.GetNullableDecimal(reader, "total_bill_qty", 0), TotalBillAmount = DRE.GetNullableDecimal(reader, "total_bill_amount", 0), Remarks = DRE.GetNullableString(reader, "remarks", null), WorkingPeriodId = DRE.GetNullableInt32(reader, "working_period_id", null), FinancialYear = DRE.GetNullableString(reader, "financial_year", null), PurchaseBillItems = purchaseBillItem.GetPurchaseBillItemDetailsByPurchaseBillId(DRE.GetInt32(reader, "purchase_bill_id")) }; purchaseBills.Add(purchaseBill); } return(purchaseBills); }
public Int32 SavePurchaseBill(Entities.PurchaseBill purchaseBill) { var purchaseBillId = 0; var db = DBConnect.getDBConnection(); using (DbConnection conn = db.CreateConnection()) { conn.Open(); using (DbTransaction transaction = conn.BeginTransaction()) { try { var purchaseBillItemId = 0; var purchaseBillChargeId = 0; if (purchaseBill != null) { if (purchaseBill.PurchaseBillId == null || purchaseBill.PurchaseBillId == 0) { purchaseBillId = AddPurchaseBill(purchaseBill, transaction); } else { if (purchaseBill.IsDeleted == true) { var result = DeletePurchaseBill(purchaseBill, transaction); purchaseBillId = Convert.ToInt32(purchaseBill.PurchaseBillId); } else { if (purchaseBill.ModifiedBy > 0 || purchaseBill.ModifiedBy != null) { purchaseBillId = UpdatePurchaseBill(purchaseBill, transaction); // If records failed to save if (purchaseBillId < 0) { purchaseBillId = -1; } } } } if (purchaseBillId > 0) { if (purchaseBill.IsDeleted == true) { PurchaseBillItem dal = new PurchaseBillItem(); var result = dal.DeletePurchaseBillItemByPurchaseBillId(purchaseBillId, (int)purchaseBill.DeletedBy, purchaseBill.DeletedByIP, transaction); if (result) { purchaseBillId = 1; } } // Save Purchase Bill Items if (purchaseBill.PurchaseBillItems != null) { if (purchaseBill.PurchaseBillItems.Count > 0) { foreach (Entities.PurchaseBillItem purchaseBillItem in purchaseBill.PurchaseBillItems) { purchaseBillItem.PurchaseBillId = purchaseBillId; PurchaseBillItem dal = new PurchaseBillItem(); purchaseBillItemId = dal.SavePurchaseBillItem(purchaseBillItem, transaction); // If records failed to save if (purchaseBillItemId < 0) { purchaseBillId = -1; } } } } if (purchaseBill.IsDeleted == true) { PurchaseBillCharges dal = new PurchaseBillCharges(); var result = dal.DeletePurchaseBillChargeByPurchaseBillId(purchaseBillId, (int)purchaseBill.DeletedBy, purchaseBill.DeletedByIP, transaction); if (result == true) { purchaseBillId = (int)purchaseBill.PurchaseBillId; } } // Save Purchase Bill Charges if (purchaseBill.PurchaseBillCharges != null) { if (purchaseBill.PurchaseBillCharges.Count > 0) { foreach (Entities.PurchaseBillCharge purchaseBillCharge in purchaseBill.PurchaseBillCharges) { purchaseBillCharge.PurchaseBillId = purchaseBillId; PurchaseBillCharges dal = new PurchaseBillCharges(); purchaseBillChargeId = dal.SavePurchaseBillCharge(purchaseBillCharge, transaction); // If records failed to save if (purchaseBillChargeId < 0) { purchaseBillId = -1; } } } } } } if (purchaseBillId > 0) { transaction.Commit(); } else { transaction.Rollback(); } } catch (Exception ex) { purchaseBillId = -1; transaction.Rollback(); throw ex; } finally { db = null; } } } return(purchaseBillId); }