コード例 #1
0
ファイル: OpeningEntries.cs プロジェクト: lulzzz/ERPCore
        public bool PostLedger()
        {
            Console.WriteLine("> {0} Post {2} [{1}]", DateTime.Now.ToLongTimeString(), this.ReadyForPost.Count(), this.transactionType.ToString());

            this.UnPostLedger();

            var trLedger = new LedgerGroup()
            {
                Id = Guid.NewGuid(),
                TransactionDate = organization.DataItems.FirstDate,
                TransactionName = "Open Entry",
                TransactionNo   = 0,
                TransactionType = transactionType
            };

            erpNodeDBContext.LedgerGroups.Add(trLedger);


            this.ReadyForPost.ForEach(a =>
            {
                trLedger.AddDebit(a, a.OpeningDebitBalance);
                trLedger.AddCredit(a, a.OpeningCreditBalance);
                a.PostStatus = LedgerPostStatus.Posted;
            });

            var result = trLedger.FinalValidate();

            if (result == false)
            {
                this.erpNodeDBContext.LedgerGroups.Remove(trLedger);
            }

            this.erpNodeDBContext.SaveChanges();
            return(true);
        }
コード例 #2
0
        public void UpdateLedgerGroup(int id, LedgerGroup ledgerGroup)
        {
            var lg = GetLedgerGroupById(id);

            lg.LedgerGroupName = ledgerGroup.LedgerGroupName;
            _context.SaveChanges();
        }
コード例 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            LedgerGroup ledgerGroup = db.LedgerGroups.Find(id);

            db.LedgerGroups.Remove(ledgerGroup);
            db.SaveChanges();
            return(RedirectToAction("LedgerList"));
        }
コード例 #4
0
        // public InventoryContext Context { get => _context; set => _context = value; }

        public LedgerGroup AddLedgerGroup(LedgerGroup ledgerGroup)
        {
            var lg = new LedgerGroup
            {
                LedgerGroupName = ledgerGroup.LedgerGroupName
            };

            _context.Add(lg);
            _context.SaveChanges();
            //  int id = lg.LedgerGroupId;
            return(lg);
        }
コード例 #5
0
        // GET: LedgerGroups/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            LedgerGroup ledgerGroup = db.LedgerGroups.Find(id);

            if (ledgerGroup == null)
            {
                return(HttpNotFound());
            }
            return(View(ledgerGroup));
        }
コード例 #6
0
        public ActionResult Create([Bind(Include = "Id,Name,LedgerHeadID,CreatedBy,SessionId")] LedgerGroup ledgerGroup)
        {
            if (ModelState.IsValid)
            {
                var uid = User.Identity.GetUserId();
                ledgerGroup.CreatedBy = db.AspNetUsers.Where(x => x.Id == uid).Select(x => x.Name).FirstOrDefault();
                db.LedgerGroups.Add(ledgerGroup);
                db.SaveChanges();
                return(RedirectToAction("LedgerList"));
            }

            ViewBag.SessionId    = new SelectList(db.AspNetSessions, "Id", "SessionName");
            ViewBag.LedgerHeadID = new SelectList(db.LedgerHeads, "Id", "Name", ledgerGroup.LedgerHeadID);
            return(View(ledgerGroup));
        }
コード例 #7
0
        public async Task <ActionResult> LedgerGroupFromFile(RegisterViewModel model)
        {
            // if (ModelState.IsValid)
            var dbTransaction = db.Database.BeginTransaction();

            try
            {
                HttpPostedFileBase file = Request.Files["Ledger_Groups"];
                if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName))
                {
                    string fileName        = file.FileName;
                    string fileContentType = file.ContentType;
                    byte[] fileBytes       = new byte[file.ContentLength];
                    var    data            = file.InputStream.Read(fileBytes, 0, Convert.ToInt32(file.ContentLength));
                }
                var teacherList = new List <RegisterViewModel>();
                using (var package = new ExcelPackage(file.InputStream))
                {
                    var currentSheet             = package.Workbook.Worksheets;
                    var workSheet                = currentSheet.First();
                    var noOfCol                  = workSheet.Dimension.End.Column;
                    var noOfRow                  = workSheet.Dimension.End.Row;
                    ApplicationDbContext context = new ApplicationDbContext();
                    for (int rowIterator = 2; rowIterator <= noOfRow; rowIterator++)
                    {
                        LedgerGroup ledgergroup = new LedgerGroup();

                        ledgergroup.Name = workSheet.Cells[rowIterator, 1].Value.ToString();
                        var Ledgerhead = workSheet.Cells[rowIterator, 2].Value.ToString();
                        ledgergroup.LedgerHeadID = db.LedgerHeads.Where(x => x.Name == Ledgerhead).Select(x => x.Id).FirstOrDefault();
                        var uid = User.Identity.GetUserId();
                        ledgergroup.CreatedBy = db.AspNetUsers.Where(x => x.Id == uid).Select(x => x.Name).FirstOrDefault();

                        //ledgergroup.SessionId = db.AspNetSessions.Where(x => x.StatusId == 1).Select(x => x.Id).FirstOrDefault();
                        db.LedgerGroups.Add(ledgergroup);
                        db.SaveChanges();
                    }
                    dbTransaction.Commit();
                    return(RedirectToAction("LedgerList"));
                }
            }
            catch (Exception e)
            {
                //   ModelState.AddModelError("Error", e.InnerException);
                dbTransaction.Dispose();
                return(RedirectToAction("Create", "LedgerGroups"));
            }
        }
コード例 #8
0
        // GET: LedgerGroups/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            LedgerGroup ledgerGroup = db.LedgerGroups.Find(id);

            if (ledgerGroup == null)
            {
                return(HttpNotFound());
            }
            //ViewBag.SessionId = new SelectList(db.AspNetSessions, "Id", "Year", ledgerGroup.SessionId);
            ViewBag.LedgerHeadID = new SelectList(db.LedgerHeads, "Id", "Name", ledgerGroup.LedgerHeadID);
            return(View(ledgerGroup));
        }
コード例 #9
0
ファイル: FiscalYears.cs プロジェクト: lulzzz/ERPCore
        public bool PostLedger(FiscalYear tr, bool SaveImmediately = true)
        {
            if (tr.PostStatus == LedgerPostStatus.Posted)
            {
                return(false);
            }

            var trLedger = new LedgerGroup()
            {
                Id = tr.Id,
                TransactionDate = tr.EndDate,
                TransactionName = tr.Name,
                TransactionType = transactionType
            };

            tr.PeriodAccountBalances
            .Where(b => b.Account.Type == AccountTypes.Income || b.Account.Type == AccountTypes.Expense)
            .ToList().ForEach(b =>
            {
                trLedger.AddDebit(b.Account, b.TotalCredit);
                trLedger.AddCredit(tr.ClosingAccount, b.TotalCredit);

                trLedger.AddCredit(b.Account, b.TotalDebit);
                trLedger.AddDebit(tr.ClosingAccount, b.TotalDebit);
            });

            if (trLedger.FinalValidate())
            {
                erpNodeDBContext.LedgerGroups.Add(trLedger);
                tr.PostStatus = LedgerPostStatus.Posted;
            }
            else
            {
                return(false);
            }


            if (SaveImmediately)
            {
                erpNodeDBContext.SaveChanges();
            }

            return(true);
        }
コード例 #10
0
 public ActionResult Edit([Bind(Include = "Id,Name,LedgerHeadID,CreatedBy,SessionId")] LedgerGroup ledgerGroup)
 {
     if (ModelState.IsValid)
     {
         if (ledgerGroup.Name == "Cash" || ledgerGroup.Name == null || ledgerGroup.Name == "Bank")
         {
             ViewBag.ErrorMessage = "Can't Edit this page";
         }
         else
         {
             db.Entry(ledgerGroup).State = EntityState.Modified;
             db.SaveChanges();
             return(RedirectToAction("ChartsOf_Accounts", "ChartOfAccounts"));
         }
     }
     //ViewBag.SessionId = new SelectList(db.AspNetSessions, "Id", "Year", ledgerGroup.SessionId);
     ViewBag.LedgerHeadID = new SelectList(db.LedgerHeads, "Id", "Name", ledgerGroup.LedgerHeadID);
     return(View("Edit", ledgerGroup));
     //return RedirectToAction("Edit","LedgerGroups",new {id=ledgerGroup.Id });
 }
コード例 #11
0
        public ActionResult CreateGroup(LedgerGroup ledgerGroup, int?id = 0)
        {
            //int i = 1;
            if (ledgerGroup == null)
            {
                return(Json("No Data"));
            }

            LedgerGroup lg = _context.AddLedgerGroup(ledgerGroup);

            if (id == 0)
            {
                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                return(Json(lg));
                //return RedirectToAction("Create","Ledger");
            }
            //  return Json(ledgerGroup.LedgerGroupName);
        }