// GET: Vouchers/Details/5 public ActionResult AddVoucher(_Voucher Vouchers) { try { string[] D4 = Vouchers.Time.Split('-'); Vouchers.Time = D4[2] + "/" + D4[1] + "/" + D4[0]; Voucher v = new Voucher(); var localtime = DateTime.Now.ToLocalTime().ToString(); var time = localtime.Split(' '); var timestamps = time[1].Split(':'); if (timestamps[0].Count() == 1) { timestamps[0] = "0" + timestamps[0]; } if (timestamps[1].Count() == 1) { timestamps[1] = "0" + timestamps[1]; } if (timestamps[2].Count() == 1) { timestamps[2] = "0" + timestamps[2]; } time[1] = timestamps[0] + ":" + timestamps[1] + ":" + timestamps[2]; var date = Vouchers.Time + " " + time[1] + " " + time[2]; DateTime dt = DateTime.ParseExact(date, "dd/MM/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture); v.Date = dt; v.VoucherNo = Vouchers.VoucherNo; v.Notes = Vouchers.Narration; v.Name = Vouchers.VoucherName; var id = User.Identity.GetUserId(); var username = db.AspNetUsers.Where(x => x.Id == id).Select(x => x.Name).FirstOrDefault(); v.CreatedBy = username; db.Vouchers.Add(v); db.SaveChanges(); foreach (var item in Vouchers.VoucherDetail) { VoucherRecord voucherrecord = new VoucherRecord(); var ledgerid = Int32.Parse(item.Code); voucherrecord.LedgerId = ledgerid; voucherrecord.VoucherId = db.Vouchers.Select(x => x.Id).Max(); var debit = item.Debit; var credit = item.Credit; var amount = 0; if (debit != "" && debit != null) { amount = Int32.Parse(debit); voucherrecord.Type = "Dr"; } else { amount = Int32.Parse(credit); voucherrecord.Type = "Cr"; } voucherrecord.Amount = amount; //if (item.BranchId == 0) //{ // voucherrecord.BranchId = null; //} //else //{ // voucherrecord.BranchId = item.BranchId; //} voucherrecord.Description = item.Transaction; var ledgerrecord = db.Ledgers.Where(x => x.Id == voucherrecord.LedgerId).FirstOrDefault(); voucherrecord.CurrentBalance = ledgerrecord.CurrentBalance; //////////////////////////Game///////////////////// var groupid = ledgerrecord.LedgerGroupId; var ledgerHead = ""; if (groupid != null) { var ledgerheadId = db.LedgerGroups.Where(x => x.Id == groupid).Select(x => x.LedgerHeadID).FirstOrDefault(); ledgerHead = db.LedgerHeads.Where(x => x.Id == ledgerheadId).Select(x => x.Name).FirstOrDefault(); } else { var headid = ledgerrecord.LedgerHeadId; ledgerHead = db.LedgerHeads.Where(x => x.Id == headid).Select(x => x.Name).FirstOrDefault(); } if (ledgerHead == "Assets" || ledgerHead == "Expense") { if (voucherrecord.Type == "Cr") { voucherrecord.AfterBalance = ledgerrecord.CurrentBalance - amount; Ledger ledger = db.Ledgers.Where(x => x.Id == voucherrecord.LedgerId).FirstOrDefault(); ledger.CurrentBalance = voucherrecord.AfterBalance; db.SaveChanges(); } else if (voucherrecord.Type == "Dr") { voucherrecord.AfterBalance = ledgerrecord.CurrentBalance + amount; Ledger ledger = db.Ledgers.Where(x => x.Id == voucherrecord.LedgerId).FirstOrDefault(); ledger.CurrentBalance = voucherrecord.AfterBalance; db.SaveChanges(); } } else if (ledgerHead == "Equity" || ledgerHead == "Liabilities" || ledgerHead == "Income") { if (voucherrecord.Type == "Cr") { voucherrecord.AfterBalance = ledgerrecord.CurrentBalance + amount; Ledger ledger = db.Ledgers.Where(x => x.Id == voucherrecord.LedgerId).FirstOrDefault(); ledger.CurrentBalance = voucherrecord.AfterBalance; db.SaveChanges(); } else if (voucherrecord.Type == "Dr") { voucherrecord.AfterBalance = ledgerrecord.CurrentBalance - amount; Ledger ledger = db.Ledgers.Where(x => x.Id == voucherrecord.LedgerId).FirstOrDefault(); ledger.CurrentBalance = voucherrecord.AfterBalance; db.SaveChanges(); } } db.VoucherRecords.Add(voucherrecord); db.SaveChanges(); } var result = "yes"; return(Json(result, JsonRequestBehavior.AllowGet)); } catch (Exception e) { var result = "No"; ViewBag.Error = e.Message; return(Json(result, JsonRequestBehavior.AllowGet)); } }
public ActionResult AddCashVoucher(_Voucher Vouchers) { try { var LeadgerAdminDrawer = db.Ledgers.Where(x => x.Name == "Admin Drawer").FirstOrDefault(); decimal?CurrentBalanceOfAdminDrawer = LeadgerAdminDrawer.CurrentBalance; decimal Total = Convert.ToDecimal(Vouchers.uppertotal); if (CurrentBalanceOfAdminDrawer > Total) { string[] D4 = Vouchers.Time.Split('-'); Vouchers.Time = D4[2] + "/" + D4[1] + "/" + D4[0]; Voucher v = new Voucher(); var localtime = DateTime.Now.ToLocalTime().ToString(); var time = localtime.Split(' '); var timestamps = time[1].Split(':'); if (timestamps[0].Count() == 1) { timestamps[0] = "0" + timestamps[0]; } if (timestamps[1].Count() == 1) { timestamps[1] = "0" + timestamps[1]; } if (timestamps[2].Count() == 1) { timestamps[2] = "0" + timestamps[2]; } time[1] = timestamps[0] + ":" + timestamps[1] + ":" + timestamps[2]; var date = Vouchers.Time + " " + time[1] + " " + time[2]; // DateTime dt = //DateTime.ParseExact(date, "dd/MM/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture); v.Date = GetLocalDateTime.GetLocalDateTimeFunction(); v.Notes = Vouchers.Narration; v.VoucherNo = Vouchers.VoucherNo; v.Name = Vouchers.VoucherName; var id = User.Identity.GetUserId(); v.SessionID = SessionID; var username = db.AspNetUsers.Where(x => x.Id == id).Select(x => x.Name).FirstOrDefault(); v.CreatedBy = username; db.Vouchers.Add(v); db.SaveChanges(); foreach (Voucher_Detail voucher in Vouchers.VoucherDetail) { VoucherRecord VR = new VoucherRecord(); int idd = Convert.ToInt32(voucher.Code); var Ledger = db.Ledgers.Where(x => x.Id == idd).FirstOrDefault(); decimal?CurrentBlance = Ledger.CurrentBalance; decimal?AfterBalanceOfLedger = CurrentBlance + Convert.ToDecimal(voucher.Credit); VR.LedgerId = idd; VR.Type = "Dr"; VR.Amount = Convert.ToDecimal(voucher.Credit); VR.CurrentBalance = CurrentBlance; VR.AfterBalance = AfterBalanceOfLedger; VR.VoucherId = v.Id; VR.Description = voucher.Transaction; Ledger.CurrentBalance = AfterBalanceOfLedger; db.VoucherRecords.Add(VR); db.SaveChanges(); } var LeadgerAdminDrawer1 = db.Ledgers.Where(x => x.Name == "Admin Drawer").FirstOrDefault(); decimal?CurrentBalanceOfAdminDrawer1 = LeadgerAdminDrawer1.CurrentBalance; decimal? AfterBalanceOfAdminDrawer1 = CurrentBalanceOfAdminDrawer1 - Convert.ToDecimal(Vouchers.uppertotal); VoucherRecord voucherRecord1 = new VoucherRecord(); voucherRecord1.LedgerId = LeadgerAdminDrawer.Id; voucherRecord1.Type = "Cr"; voucherRecord1.Amount = Convert.ToDecimal(Vouchers.uppertotal); voucherRecord1.CurrentBalance = CurrentBalanceOfAdminDrawer; voucherRecord1.AfterBalance = AfterBalanceOfAdminDrawer1; voucherRecord1.VoucherId = v.Id; voucherRecord1.Description = "Expense Credited"; LeadgerAdminDrawer1.CurrentBalance = AfterBalanceOfAdminDrawer1; db.VoucherRecords.Add(voucherRecord1); db.SaveChanges(); var result = "yes"; return(Json(result, JsonRequestBehavior.AllowGet)); } else { var result = "No"; return(Json(result, JsonRequestBehavior.AllowGet)); } } catch { } return(RedirectToAction("Cash")); }