/// <summary> /// Return Book /// </summary> /// <param name="returnBook"></param> /// <returns></returns> public int ReturnBook(Transaction returnBook) { tbl_Transaction tbl_transaction = new tbl_Transaction(); using (IUnitOfWorks unitOfWorks = new UnitOfWorks()) try { var searchbook = unitOfWorks.BookRepository.GetByID(book => book.BookId == returnBook.BookId && book.AvailStatus == false); if (searchbook != null) { var transaction = unitOfWorks.TransactionRepository.GetByID(book => book.BookId == returnBook.BookId && book.ReturnDate == null); transaction.ReturnDate = returnBook.ReturnDate; unitOfWorks.Save(); var UpdateBook = unitOfWorks.BookRepository.GetByID(Book => Book.BookId == transaction.BookId); UpdateBook.AvailStatus = true; unitOfWorks.Save(); return(1); } else { return(0); } } catch (Exception ex) { return(0); } }
public HttpResponseMessage Post(int id, string prodName, decimal amt) { System.Data.Entity.DbContextTransaction transaction = entities.Database.BeginTransaction(); tbl_Transaction tran = new tbl_Transaction(); try { tbl_Product prod = entities.tbl_Product.Where(p => p.Product_Name == prodName).FirstOrDefault(); int cardId = (int)entities.tbl_EMI.Where(e => e.EMI_Id == id).FirstOrDefault().Card_Id; tran.EMI_Id = id; tran.Product_Name = prod.Product_Name; tran.Transaction_Date = DateTime.Today; tran.Transaction_Amount = amt; tran.cardId = cardId; entities.tbl_Transaction.Add(tran); entities.SaveChanges(); transaction.Commit(); proc_updateCardAmountEmiPayment_Result result = entities.proc_updateCardAmountEmiPayment(id, cardId, amt).FirstOrDefault(); return(Request.CreateResponse(HttpStatusCode.Created, tran)); } catch (Exception) { transaction.Rollback(); return(Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, "transaction failed")); } }
/// <summary> /// Issue Book /// </summary> /// <param name="issue"></param> /// <returns></returns> public int IssueBook(Transaction issue) { tbl_Transaction tbl_transaction = new tbl_Transaction(); using (IUnitOfWorks unitOfWorks = new UnitOfWorks()) try { var searchbook = unitOfWorks.BookRepository.GetByID(book => book.BookId == issue.BookId && book.AvailStatus == true); if (searchbook != null) { tbl_transaction.BookId = issue.BookId; tbl_transaction.DueDate = issue.DueDate; tbl_transaction.IssueDate = issue.IssueDate; tbl_transaction.ReturnDate = issue.ReturnDate; tbl_transaction.TransactionId = issue.TransactionId; tbl_transaction.UserId = issue.UserId; unitOfWorks.TransactionRepository.Insert(tbl_transaction); unitOfWorks.Save(); var UpdateBook = unitOfWorks.BookRepository.GetByID(Book => Book.BookId == tbl_transaction.BookId); UpdateBook.AvailStatus = false; unitOfWorks.Save(); return(1); } else { return(0); } } catch (Exception ex) { return(-99); } }
public async Task <ActionResult> DeleteConfirmed(string id) { tbl_Transaction tbl_Transaction = await db.tbl_Transaction.FindAsync(id); db.tbl_Transaction.Remove(tbl_Transaction); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
// GET: Transaction/Details/5 public async Task <ActionResult> Details(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } tbl_Transaction tbl_Transaction = await db.tbl_Transaction.FindAsync(id); if (tbl_Transaction == null) { return(HttpNotFound()); } return(View(tbl_Transaction)); }
public async Task <ActionResult> Edit([Bind(Include = "AutoID,ID,VendorID,PurchaseID,SalesID,EntryID,EntryDate,EntryType,Amount,Status,CreatedDatetime,TransactionType,TransactionRef,PaymentID")] tbl_Transaction tbl_Transaction) { if (ModelState.IsValid) { db.Entry(tbl_Transaction).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewBag.PurchaseID = new SelectList(db.tbl_Purchase, "ID", "PartyInvoiceNo", tbl_Transaction.PurchaseID); ViewBag.SalesID = new SelectList(db.tbl_Sale, "SaleID", "InvoiceID", tbl_Transaction.SalesID); ViewBag.VendorID = new SelectList(db.tbl_vendor, "ID", "Name", tbl_Transaction.VendorID); ViewBag.PaymentID = new SelectList(db.tbl_Payment, "ID", "PaymentDate", tbl_Transaction.PaymentID); return(View(tbl_Transaction)); }
// GET: Transaction/Edit/5 public async Task <ActionResult> Edit(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } tbl_Transaction tbl_Transaction = await db.tbl_Transaction.FindAsync(id); if (tbl_Transaction == null) { return(HttpNotFound()); } ViewBag.PurchaseID = new SelectList(db.tbl_Purchase, "ID", "PartyInvoiceNo", tbl_Transaction.PurchaseID); ViewBag.SalesID = new SelectList(db.tbl_Sale, "SaleID", "InvoiceID", tbl_Transaction.SalesID); ViewBag.VendorID = new SelectList(db.tbl_vendor, "ID", "Name", tbl_Transaction.VendorID); ViewBag.PaymentID = new SelectList(db.tbl_Payment, "ID", "PaymentDate", tbl_Transaction.PaymentID); return(View(tbl_Transaction)); }
public HttpResponseMessage Post(int cardId, int prodId, int tenurePeriod) { System.Data.Entity.DbContextTransaction transaction = entities.Database.BeginTransaction(); tbl_EMI emi = new tbl_EMI(); try { emi.Tenure_period = tenurePeriod; tbl_Product prod = entities.tbl_Product.Where(p => p.Product_Id == prodId).FirstOrDefault(); emi.Product_cost = prod.Product_Cost; emi.Total_Amount_Paid = (prod.Product_Cost / tenurePeriod) + prod.Processing_fees; emi.Card_Id = cardId; emi.Product_Id = prodId; emi.EMI_Start_Date = DateTime.Today; emi.EMI_Due_Date = DateTime.Today.AddMonths(1); emi.emiPerMonth = (prod.Product_Cost / tenurePeriod); emi.prodName = prod.Product_Name; entities.tbl_EMI.Add(emi); entities.SaveChanges(); tbl_Transaction tran = new tbl_Transaction(); tran.EMI_Id = entities.tbl_EMI.Max(i => i.EMI_Id); tran.Product_Name = prod.Product_Name; tran.Transaction_Date = DateTime.Today; tran.Transaction_Amount = emi.Total_Amount_Paid; tran.cardId = cardId; entities.tbl_Transaction.Add(tran); entities.SaveChanges(); proc_updateCardAmountProductPurchase_Result result = entities.proc_updateCardAmountProductPurchase(cardId, prod.Product_Id, emi.emiPerMonth).FirstOrDefault(); transaction.Commit(); return(Request.CreateResponse(HttpStatusCode.Created, tran)); } catch (Exception) { transaction.Rollback(); return(Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, "transaction failed")); } }
public string SaveUpdateTransaction(TransactionModel model) { ShomaRMEntities db = new ShomaRMEntities(); string msg = ""; int userid = ShomaRM.Models.ShomaGroupWebSession.CurrentUser != null ? ShomaRM.Models.ShomaGroupWebSession.CurrentUser.UserID : 0; string fullname = ShomaRM.Models.ShomaGroupWebSession.CurrentUser != null ? ShomaRM.Models.ShomaGroupWebSession.CurrentUser.FullName : ""; if (model.TransID == 0) { var saveTransaction = new tbl_Transaction() { TenantID = 0, Transaction_Date = DateTime.Now, CreatedDate = DateTime.Now, Credit_Amount = 0, Description = model.Description, Charge_Date = model.Charge_Date, Charge_Type = Convert.ToInt32(model.Charge_Type), Charge_Amount = model.Charge_Amount, Miscellaneous_Amount = model.Miscellaneous_Amount, Accounting_Date = DateTime.Now, Batch = "1", CreatedBy = userid, UserID = userid, }; db.tbl_Transaction.Add(saveTransaction); db.SaveChanges(); msg = "Transaction Saved Successfully"; } else { var getNOdata = db.tbl_Transaction.Where(p => p.TransID == model.TransID).FirstOrDefault(); if (getNOdata != null) { getNOdata.TenantID = model.TenantID; getNOdata.PAID = model.Transaction_Type; getNOdata.Transaction_Date = model.Transaction_Date; getNOdata.CreatedDate = model.CreatedDate; getNOdata.Credit_Amount = model.Credit_Amount; getNOdata.Description = model.Description; getNOdata.Charge_Date = model.Charge_Date; getNOdata.Charge_Type = Convert.ToInt32(model.Charge_Type); getNOdata.Charge_Amount = model.Charge_Amount; getNOdata.Miscellaneous_Amount = model.Miscellaneous_Amount; getNOdata.Accounting_Date = model.Accounting_Date; getNOdata.Batch = model.Batch; } db.SaveChanges(); msg = "Transaction Updated Successfully"; } db.Dispose(); return(msg); }
public ActionResult AddPurchase(string request) { using (var transaction = db.Database.BeginTransaction()) // new System.Transactions.TransactionScope()) { tbl_Purchase tbl_Purchase = JsonConvert.DeserializeObject <tbl_Purchase>(request); if (PurchaseItemStock.Count > 0) { var t = JsonConvert.SerializeObject(tbl_Purchase); db.tbl_Purchase.Add(tbl_Purchase); PurchaseItemStock.ForEach(q => q.tbl_Items = null); db.tbl_ItemStock.AddRange(PurchaseItemStock); tbl_Sequence NewSequenceValue = Helper.GenericHelper.GetNextUpdatedData(SequenceTable.tbl_Purchase.ToString()); db.Entry(NewSequenceValue).State = EntityState.Modified; tbl_Sequence NewSequenceValueItemStock = Helper.GenericHelper.GetNextUpdatedData(SequenceTable.tbl_ItemStock.ToString()); db.Entry(NewSequenceValueItemStock).State = EntityState.Modified; //db.SaveChanges(); // 1 hold -- only save purchase & Item with status hold // 2 CREDIT PURCHASE -- one transaction entry with credit (out) with unpaid status // 3 CASH PAY -- one transaction entry with credit (out)/ Paid // one payment Entry with full amount // one transaction entry with Debit (in) with payment ID // 4 MULTI MODE PAY -- one transaction entry with credit (out) // one payment Entry // one transaction entry with Debit (in) if (tbl_Purchase.PaymentMode.Value != PaymentMode.HOLD) // not hold { decimal amount = tbl_Purchase.Amount; string creditTID = Helper.GenericHelper.GetMaxValue(SequenceTable.tbl_TransactionCredit.ToString()); tbl_Transaction tbl_Transactioncredit = new tbl_Transaction() { ID = creditTID, CreatedDatetime = tbl_Purchase.CreatedDatetime, EntryDate = tbl_Purchase.PurchaseDate.ToString(), EntryType = TransactionEntryType.Purchase.ToString(), //"Purchase", // Purchase/Sales/Recipt/Payment Status = TransactionStatus.Unpaid, ///Paid/Unpaid/Pending/Paid Against entries : // Recive Against entries TransactionType = TransactionType.Credit.ToString(), ///Debit/ credit -- For Real: Debit what comes in, credit what goes out. //TransactionRef = null, EntryID = tbl_Purchase.ID, PurchaseID = tbl_Purchase.ID, //SalesID = null, Amount = tbl_Purchase.GrandTotal, VendorID = tbl_Purchase.PartyName }; db.tbl_Transaction.Add(tbl_Transactioncredit); //db.SaveChanges(); tbl_Sequence NewSequenceValuetbl_Transaction = Helper.GenericHelper.GetNextUpdatedData("tbl_TransactionCredit"); db.Entry(NewSequenceValuetbl_Transaction).State = EntityState.Modified; //db.SaveChanges(); if (tbl_Purchase.PaymentMode == 2) //CREDIT PURCHASE { } else if (tbl_Purchase.PaymentMode == 3) //CASH PAY { string tbl_PaymentID = Helper.GenericHelper.GetMaxValue("tbl_Payment"); tbl_Payment tbl_Payment = new tbl_Payment() { ID = tbl_PaymentID, Amount = tbl_Purchase.GrandTotal, CreatedDatetime = tbl_Purchase.CreatedDatetime, PartyName = tbl_Purchase.PartyName, PaymentDate = tbl_Purchase.PurchaseDate.ToString(), PaymentMode = "CASH", //Remark = "", //TransactionID = creditTID, }; db.tbl_Payment.Add(tbl_Payment); tbl_Sequence NewSequenceValuetbl_Payment = Helper.GenericHelper.GetNextUpdatedData("tbl_Payment"); db.Entry(NewSequenceValuetbl_Payment).State = EntityState.Modified; //db.SaveChanges(); tbl_Transaction tbl_TransactionDebit = new tbl_Transaction() { ID = Helper.GenericHelper.GetMaxValue("tbl_TransactionDebit"), CreatedDatetime = tbl_Purchase.CreatedDatetime, EntryDate = tbl_Purchase.PurchaseDate.ToString(), EntryType = TransactionEntryType.Purchase.ToString(), // "Purchase", // Purchase/Sales/Recipt/Payment Status = TransactionStatus.PaidAgainstEntries + tbl_Purchase.ID, ///Paid/Unpaid/Pending/Paid Against entries : // Recive Against entries TransactionType = TransactionType.Debit.ToString(), ///Debit/ credit -- For Real: Debit what comes in, credit what goes out. TransactionRef = tbl_Purchase.ID, EntryID = tbl_PaymentID, //PurchaseID = null, //SalesID = null, PaymentID = tbl_PaymentID, Amount = tbl_Purchase.GrandTotal, VendorID = tbl_Purchase.PartyName }; db.tbl_Transaction.Add(tbl_TransactionDebit); tbl_Sequence NewSequenceValuetbl_Transaction2 = Helper.GenericHelper.GetNextUpdatedData("tbl_TransactionDebit"); db.Entry(NewSequenceValuetbl_Transaction2).State = EntityState.Modified; //db.SaveChanges(); //var tbl_Transactionresult = db.tbl_Transaction.Where(q => q.ID == creditTID).FirstOrDefault(); tbl_Transactioncredit.Status = TransactionStatus.Paid; //db.Entry(tbl_Transactionresult).State = EntityState.Modified; //db.SaveChanges(); } else if (tbl_Purchase.PaymentMode == 4) //MULTI MODE PAY { string tbl_PaymentID = Helper.GenericHelper.GetMaxValue("tbl_Payment"); tbl_Payment tbl_Payment = new tbl_Payment() { ID = tbl_PaymentID, Amount = amount, CreatedDatetime = tbl_Purchase.CreatedDatetime, PartyName = tbl_Purchase.PartyName, PaymentDate = tbl_Purchase.PurchaseDate.ToString(), PaymentMode = "CASH", //Remark = "", //TransactionID = creditTID, }; db.tbl_Payment.Add(tbl_Payment); tbl_Sequence NewSequenceValuetbl_Payment = Helper.GenericHelper.GetNextUpdatedData("tbl_Payment"); db.Entry(NewSequenceValuetbl_Payment).State = EntityState.Modified; //db.SaveChanges(); tbl_Transaction tbl_TransactionDebit = new tbl_Transaction() { ID = Helper.GenericHelper.GetMaxValue("tbl_TransactionDebit"), CreatedDatetime = tbl_Purchase.CreatedDatetime, EntryDate = tbl_Purchase.PurchaseDate.ToString(), EntryType = TransactionEntryType.Purchase.ToString(), // "Purchase", // Purchase/Sales/Recipt/Payment Status = TransactionStatus.PaidAgainstEntries + tbl_Purchase.ID, ///Paid/Unpaid/Pending/Paid Against entries : // Recive Against entries TransactionType = TransactionType.Debit.ToString(), ///Debit/ credit -- For Real: Debit what comes in, credit what goes out. TransactionRef = tbl_Purchase.ID, EntryID = tbl_PaymentID, //PurchaseID = null, //SalesID = null, PaymentID = tbl_PaymentID, Amount = amount, VendorID = tbl_Purchase.PartyName }; db.tbl_Transaction.Add(tbl_TransactionDebit); tbl_Sequence NewSequenceValuetbl_Transaction2 = Helper.GenericHelper.GetNextUpdatedData("tbl_TransactionDebit"); db.Entry(NewSequenceValuetbl_Transaction2).State = EntityState.Modified; } } bool saved = false; try { db.SaveChanges(); saved = true; } catch (Exception e) { throw new InvalidOperationException(e.Message); } finally { if (saved) { transaction.Commit(); } } //if (tbl_Purchase.PaymentMode == 4) //MULTI MODE PAY // return JavaScript("window.location = '/purchase/index'"); //else return(JavaScript("window.location = '/purchase/index'")); } else { ViewBag.PaymentMode = new SelectList(db.tbl_PaymentMode, "ID", "Mode", tbl_Purchase.PaymentMode); ViewBag.PartyName = new SelectList(db.tbl_vendor, "ID", "Name", tbl_Purchase.PartyName); throw new InvalidOperationException("Please add item to continue!!"); } } //return RedirectToAction("Index"); }
public string SaveMonthlyPayment(MonthlyPaymentModel model) { string msg = ""; ShomaRMEntities db = new ShomaRMEntities(); var checkMonthlyPayAlreadyExist = db.tbl_MonthlyPayment.Where(co => co.UserID == model.UserID).FirstOrDefault(); if (checkMonthlyPayAlreadyExist == null) { var applyNow = db.tbl_ApplyNow.Where(co => co.UserId == model.UserID).FirstOrDefault(); if (applyNow != null) { var saveMonthlyPayment = new tbl_MonthlyPayment() { TenantID = applyNow.ID, UserID = model.UserID, MonthlyCharges = model.MonthlyCharges, AdditionalParking = model.AdditionalParking, StorageCharges = model.StorageCharges, PetRent = model.PetRent, TrashRecycle = model.TrashRecycle, PestControl = model.PestControl, ConvergentBilling = model.ConvergentBilling, TotalMonthlyCharges = model.TotalMonthlyCharges, Unit = model.Unit, Model = model.Model, LeaseTerm = model.LeaseTerm, }; db.tbl_MonthlyPayment.Add(saveMonthlyPayment); db.SaveChanges(); var saveMonthlyTransaction = new tbl_Transaction() { TenantID = Convert.ToInt64(model.UserID), PAID = "5", Transaction_Date = DateTime.Now, CreatedDate = DateTime.Now, Credit_Amount = model.TotalMonthlyCharges, Description = "Monthly Payment", Charge_Date = DateTime.Now, Charge_Type = 3, Authcode = "", Charge_Amount = 0, Miscellaneous_Amount = 0, Accounting_Date = DateTime.Now, Batch = "1", CreatedBy = Convert.ToInt32(model.UserID), UserID = Convert.ToInt32(model.UserID), }; db.tbl_Transaction.Add(saveMonthlyTransaction); db.SaveChanges(); var saveMoveinPayment = new tbl_MoveInPayment() { TenantID = applyNow.ID, UserID = model.UserID, MoveInCharges = model.MoveInCharges, SecurityDeposit = applyNow.Deposit, PetFee = applyNow.PetDeposit, Prorated_Rent = model.Prorated_Rent, AdministrationFee = model.AdministrationFee, VehicleRegistration = model.VehicleRegistration, }; db.tbl_MoveInPayment.Add(saveMoveinPayment); db.SaveChanges(); var saveMoveInTransaction = new tbl_Transaction() { TenantID = Convert.ToInt64(model.UserID), PAID = "5", Transaction_Date = DateTime.Now, CreatedDate = DateTime.Now, Credit_Amount = model.MoveInCharges, Description = "Monthly Payment", Charge_Date = DateTime.Now, Charge_Type = 2, Authcode = "", Charge_Amount = 0, Miscellaneous_Amount = 0, Accounting_Date = DateTime.Now, Batch = "1", CreatedBy = Convert.ToInt32(model.UserID), UserID = Convert.ToInt32(model.UserID), }; db.tbl_Transaction.Add(saveMoveInTransaction); db.SaveChanges(); } } else { var uApplyNow = db.tbl_ApplyNow.Where(co => co.UserId == model.UserID).FirstOrDefault(); if (uApplyNow != null) { var updateMonthlyPayment = db.tbl_MonthlyPayment.Where(co => co.UserID == model.UserID).FirstOrDefault(); if (updateMonthlyPayment != null) { updateMonthlyPayment.TenantID = uApplyNow.ID; updateMonthlyPayment.UserID = model.UserID; updateMonthlyPayment.MonthlyCharges = model.MonthlyCharges; updateMonthlyPayment.AdditionalParking = model.AdditionalParking; updateMonthlyPayment.StorageCharges = model.StorageCharges; updateMonthlyPayment.PetRent = model.PetRent; updateMonthlyPayment.TrashRecycle = model.TrashRecycle; updateMonthlyPayment.PestControl = model.PestControl; updateMonthlyPayment.ConvergentBilling = model.ConvergentBilling; updateMonthlyPayment.TotalMonthlyCharges = model.TotalMonthlyCharges; updateMonthlyPayment.Unit = model.Unit; updateMonthlyPayment.Model = model.Model; updateMonthlyPayment.LeaseTerm = model.LeaseTerm; } db.SaveChanges(); var updateMoveinPayment = db.tbl_MoveInPayment.Where(co => co.UserID == model.UserID).FirstOrDefault(); var saveMoveinPayment = new tbl_MoveInPayment() { MoveInCharges = model.MoveInCharges, //SecurityDeposit = applyNow.Deposit, //PetFee = applyNow.PetDeposit, Prorated_Rent = model.Prorated_Rent, AdministrationFee = model.AdministrationFee, VehicleRegistration = model.VehicleRegistration, }; db.SaveChanges(); } } db.Dispose(); return(msg); }