Пример #1
0
        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));
            }
        }
Пример #2
0
        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));
        }