public ActionResult Create(Supplier supplier, decimal OpeningBalance, string CrOrDr, int create) { try { var result = supplier; if (ModelState.IsValid) { supplier.CreationDate = DateTime.Now; supplier.UpdateDate = DateTime.Now; supplier.Creator = CurrentSession.GetCurrentSession().UserName; supplier.IsActive = true; AccountLedger ledger = new AccountLedger(); var accountGroup = new AccountGroupService().GetById(22); //sundry creditor ledger.AccountGroupId = 22; ledger.Address = supplier.Address; ledger.BankAccountNumber = ""; ledger.BillByBill = true; ledger.BranchCode = ""; ledger.BranchName = ""; ledger.CreditLimit = 0.0m; ledger.CreditPeriod = 1; ledger.CrOrDr = Accounts.CheckDrOrCr(accountGroup.Nature); ledger.Email = supplier.Email; ledger.IsDefault = false; ledger.LedgerName = supplier.Name; ledger.Extra2 = supplier.Code; ledger.Mobile = supplier.ContactPersonPhone; ledger.Phone = supplier.Phone; ledger.OpeningBalance = OpeningBalance; var saved = Accounts.Save(ledger); supplier.LedgerId = saved.Id; result = db.Save(supplier); if (ledger.OpeningBalance > 0.0m) { var party = new PartyBalance(); LedgerPosting post = new LedgerPosting(); post.InvoiceNo = ""; post.LedgerId = supplier.LedgerId; post.PostingDate = DateTime.Now; if (CrOrDr == "Cr") { post.Credit = ledger.OpeningBalance; party.Credit = ledger.OpeningBalance; } if (CrOrDr == "Dr") { party.Debit = ledger.OpeningBalance; post.Debit = ledger.OpeningBalance; } post.VoucherTypeId = 1; post.VoucherNo = ledger.Id.ToString(); post.InvoiceNo = ledger.Id.ToString(); var postingResult = postingService.Save(post); party.AgainstInvoiceNo = postingResult.Id.ToString(); party.LedgerId = supplier.LedgerId ?? 0; party.CreditPeriod = 60; party.FinancialYearId = CurrentSession.GetCurrentSession().FinancialYear; party.PostingDate = DateTime.Now; party.VoucherTypeId = 1; party.extra1 = "Opening Balance"; partyBalanceService.Save(party); } } return(Json(result, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(ex, JsonRequestBehavior.AllowGet)); } }
public ActionResult Create(Customer customer, decimal OpeningBalance, string CrOrDr, int create) { var result = customer; if (ModelState.IsValid) { var sesssion = CurrentSession.GetCurrentSession(); if (sesssion != null) { } var lastId = db.LastId(); if (string.IsNullOrEmpty(customer.Area)) { return(Json(new { Id = 2, message = "Area Empty" }, JsonRequestBehavior.AllowGet)); } customer.Code = customer.District.Substring(0, 2).ToUpper() + "_" + customer.Area.Substring(0, 2).ToUpper() + "_" + db.LastId(); customer.CreatedDate = DateTime.Now; customer.UpdatedDate = DateTime.Now; customer.CreatedBy = CurrentSession.GetCurrentSession().UserName; customer.IsActive = true; AccountLedger ledger = new AccountLedger(); var accountGroup = new AccountGroupService().GetById(26); //sundry debitor ledger.AccountGroupId = 26; ledger.Address = customer.Address; ledger.BankAccountNumber = ""; ledger.BillByBill = true; ledger.BranchCode = ""; ledger.BranchName = ""; ledger.CreditLimit = 0.0m; ledger.CreditPeriod = 1; ledger.CrOrDr = Accounts.CheckDrOrCr(accountGroup.Nature); ledger.Email = customer.Email; ledger.IsDefault = false; ledger.LedgerName = customer.Name; ledger.Extra2 = customer.Code; ledger.Mobile = customer.ContactPersonPhone; ledger.Phone = customer.Phone; ledger.OpeningBalance = OpeningBalance; var saved = Accounts.Save(ledger); customer.LedgerId = saved.Id; result = db.Save(customer); if (ledger.OpeningBalance > 0.0m) { var party = new PartyBalance(); LedgerPosting post = new LedgerPosting(); post.InvoiceNo = ""; post.LedgerId = customer.LedgerId; post.PostingDate = DateTime.Now; if (CrOrDr == "Cr") { post.Credit = ledger.OpeningBalance; party.Credit = ledger.OpeningBalance; } if (CrOrDr == "Dr") { party.Debit = ledger.OpeningBalance; post.Debit = ledger.OpeningBalance; } post.VoucherTypeId = 1; post.VoucherNo = ledger.Id.ToString(); post.InvoiceNo = ledger.Id.ToString(); var postingResult = postingService.Save(post); party.AgainstInvoiceNo = postingResult.Id.ToString(); party.LedgerId = customer.LedgerId ?? 0; party.CreditPeriod = 60; party.FinancialYearId = CurrentSession.GetCurrentSession().FinancialYear; party.PostingDate = DateTime.Now; party.VoucherTypeId = 1; party.extra1 = "Opening Balance"; partyBalanceService.Save(party); } } return(Json(new { Id = 1, message = "Customer Saved Sucess" }, JsonRequestBehavior.AllowGet)); }