public ActionResult DeleteConfirmed(int id)
        {
            VoucherRecord voucherRecord = db.VoucherRecords.Find(id);

            db.VoucherRecords.Remove(voucherRecord);
            db.SaveChanges();
            return(RedirectToAction("VoucherRecord"));
        }
 public ActionResult Edit([Bind(Include = "Id,LedgerId,Type,Amount,CurrentBalance,AfterBalance,VoucherId")] VoucherRecord voucherRecord)
 {
     if (ModelState.IsValid)
     {
         db.Entry(voucherRecord).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("VoucherRecord"));
     }
     ViewBag.LedgerId  = new SelectList(db.Ledgers, "Id", "Name", voucherRecord.LedgerId);
     ViewBag.VoucherId = new SelectList(db.Vouchers, "Id", "Name", voucherRecord.VoucherId);
     return(View(voucherRecord));
 }
        // GET: VoucherRecords/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            VoucherRecord voucherRecord = db.VoucherRecords.Find(id);

            if (voucherRecord == null)
            {
                return(HttpNotFound());
            }
            return(View(voucherRecord));
        }
        // GET: VoucherRecords/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            VoucherRecord voucherRecord = db.VoucherRecords.Find(id);

            if (voucherRecord == null)
            {
                return(HttpNotFound());
            }
            ViewBag.LedgerId  = new SelectList(db.Ledgers, "Id", "Name", voucherRecord.LedgerId);
            ViewBag.VoucherId = new SelectList(db.Vouchers, "Id", "Name", voucherRecord.VoucherId);
            return(View(voucherRecord));
        }
Beispiel #5
0
        public MainWindow()
        {
            InitializeComponent();

            euroCostText.Text = "10 Euros = " + Configuration.VoucherPrice;

            VoucherRecord.GetVouchersFromXml();
            ColorAnimation ca = new ColorAnimation(Colors.OrangeRed, TimeSpan.FromMilliseconds(600));

            ca.AutoReverse    = true;
            ca.RepeatBehavior = RepeatBehavior.Forever;
            Storyboard.SetTarget(ca, txtNumber);
            Storyboard.SetTargetProperty(ca, new PropertyPath("Background.Color"));
            numberErrorStory.Children.Add(ca);

            ICollectionView cv = CollectionViewSource.GetDefaultView(RecordsList.ItemsSource);

            cv.SortDescriptions.Add(new SortDescription("Status", ListSortDirection.Ascending));
            cv.SortDescriptions.Add(new SortDescription("Date", ListSortDirection.Descending));
            FocusManager.SetFocusedElement(this, textBox1);
        }
Beispiel #6
0
        public static VoucherModel Map(VoucherRecord voucherRecord)
        {
            var voucherModel = new VoucherModel
            {
                Id        = voucherRecord.Id,
                Code      = voucherRecord.Code,
                OnlyNamed = voucherRecord.OnlyNamed,
                Quantity  = voucherRecord.Quantity,
                Title     = voucherRecord.Title
            };

            if (!voucherRecord.Price.Contains("^"))
            {
                voucherModel.Price = Money.From(int.Parse(voucherRecord.Price));
            }
            else
            {
                voucherModel.Notes = voucherRecord.Price;
            }

            return(voucherModel);
        }
        public ActionResult StudentFeeUpdate(int id, int ClassId, double RemainingFee = 0, double Discount = 0, double CashReceived = 0, string DueDate = null, string IssueDate = null)
        {
            var FeePayable = RemainingFee + Discount + CashReceived;
            int?sessionId  = db.AspNetClasses.Where(x => x.Id == ClassId).FirstOrDefault().SessionID;

            // db.AspNetSessions.Where(x=>x.Id==)
            var SessionName = db.AspNetSessions.Where(x => x.Id == sessionId).FirstOrDefault().SessionName;

            var studenfee = db.StudentFeeMonths.Where(x => x.Id == id).FirstOrDefault();

            StudentFeeMonth stdFeeMonth = new StudentFeeMonth();

            stdFeeMonth.StudentId = studenfee.StudentId;

            //    stdFeeMonth.IssueDate = DateTime.Now;


            stdFeeMonth.TotalFee    = studenfee.TotalFee;
            stdFeeMonth.FeePayable  = RemainingFee;
            stdFeeMonth.Discount    = Discount;
            stdFeeMonth.FeeType     = studenfee.FeeType;
            stdFeeMonth.SessionId   = sessionId;
            stdFeeMonth.FeeReceived = CashReceived;

            DateTime Date = Convert.ToDateTime(DueDate);

            stdFeeMonth.DueDate = Date;

            DateTime ConvertedIssueDate = Convert.ToDateTime(IssueDate);

            stdFeeMonth.IssueDate = ConvertedIssueDate;



            if (RemainingFee == 0)
            {
                stdFeeMonth.Status = "Paid";
            }
            else
            {
                stdFeeMonth.Status = "Pending";
            }

            //var Month = DateTime.Now.ToString("MMMM");

            var Month = ConvertedIssueDate.ToString("MMMM");

            stdFeeMonth.Months = Month;

            db.StudentFeeMonths.Add(stdFeeMonth);
            db.SaveChanges();

            var     idd      = User.Identity.GetUserId();
            var     username = db.AspNetUsers.Where(x => x.Id == idd).Select(x => x.Name).FirstOrDefault();
            Voucher voucher  = new Voucher();

            var UsrId = db.AspNetStudents.Where(x => x.Id == studenfee.StudentId).FirstOrDefault().StudentID;

            var StudentName = db.AspNetUsers.Where(x => x.Id == UsrId).FirstOrDefault().Name;

            voucher.Name      = "Fee Received by Admin of Student " + StudentName + " Session Name " + SessionName;
            voucher.Notes     = "Fee Received by Admin " + StudentName + " Session Name " + SessionName;
            voucher.StudentId = studenfee.StudentId;
            voucher.Date      = GetLocalDateTime.GetLocalDateTimeFunction();
            voucher.CreatedBy = username;
            voucher.SessionID = SessionID;
            int?VoucherObj = db.Vouchers.Max(x => x.VoucherNo);

            voucher.VoucherNo = Convert.ToInt32(VoucherObj) + 1;
            db.Vouchers.Add(voucher);

            db.SaveChanges();


            var           Leadger = db.Ledgers.Where(x => x.Name == "Account Receiveable").FirstOrDefault();
            int           AccountReceiveableId = Leadger.Id;
            decimal?      CurrentBalance       = Leadger.CurrentBalance;
            decimal?      AfterBalance         = 0;
            VoucherRecord voucherRecord        = new VoucherRecord();

            if (Discount != 0)
            {
                AfterBalance = CurrentBalance - Convert.ToDecimal(CashReceived) - Math.Round(Convert.ToDecimal(Discount));
            }
            else
            {
                AfterBalance = CurrentBalance - Convert.ToDecimal(CashReceived);
            }
            voucherRecord.LedgerId       = AccountReceiveableId;
            voucherRecord.Type           = "Cr";
            voucherRecord.Amount         = Convert.ToDecimal(CashReceived) + Math.Round(Convert.ToDecimal(Discount));
            voucherRecord.CurrentBalance = CurrentBalance;

            voucherRecord.AfterBalance = AfterBalance;
            voucherRecord.VoucherId    = voucher.Id;
            voucherRecord.Description  = "Fee received of Student (" + StudentName + ") (" + SessionName + ") ";

            Leadger.CurrentBalance = AfterBalance;
            try
            {
                db.VoucherRecords.Add(voucherRecord);
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                var a = ex.Message;
            }

            var     LeadgerAD        = db.Ledgers.Where(x => x.Name == "Admin Drawer").FirstOrDefault();
            int     AdminDrawerId    = LeadgerAD.Id;
            decimal?CurrentBalanceAD = LeadgerAD.CurrentBalance;

            VoucherRecord voucherRecord1 = new VoucherRecord();
            decimal?      AfterBalanceAD = CurrentBalanceAD + Convert.ToDecimal(CashReceived);

            voucherRecord1.LedgerId       = AdminDrawerId;
            voucherRecord1.Type           = "Dr";
            voucherRecord1.Amount         = Convert.ToDecimal(CashReceived);
            voucherRecord1.CurrentBalance = CurrentBalanceAD;

            voucherRecord1.AfterBalance = AfterBalanceAD;
            voucherRecord1.VoucherId    = voucher.Id;
            voucherRecord1.Description  = "Fee Collected by student  (" + StudentName + ") (" + SessionName + ") ";

            LeadgerAD.CurrentBalance = AfterBalanceAD;
            db.VoucherRecords.Add(voucherRecord1);
            db.SaveChanges();


            if (Discount != 0)
            {
                VoucherRecord voucherRecord3 = new VoucherRecord();

                var LeadgerDiscount = db.Ledgers.Where(x => x.Name == "Discount").FirstOrDefault();

                decimal?CurrentBalanceOfDiscount = LeadgerDiscount.CurrentBalance;
                decimal?AfterBalanceOfDiscount   = CurrentBalanceOfDiscount + Math.Round(Convert.ToDecimal(Discount));
                voucherRecord3.LedgerId        = LeadgerDiscount.Id;
                voucherRecord3.Type            = "Dr";
                voucherRecord3.Amount          = Math.Round(Convert.ToDecimal(Discount));
                voucherRecord3.CurrentBalance  = CurrentBalanceOfDiscount;
                voucherRecord3.AfterBalance    = AfterBalanceOfDiscount;
                voucherRecord3.VoucherId       = voucher.Id;
                voucherRecord3.Description     = "Discount given to student (" + StudentName + ") (" + SessionName + ")  on payable fee " + FeePayable;
                LeadgerDiscount.CurrentBalance = AfterBalanceOfDiscount;

                db.VoucherRecords.Add(voucherRecord3);
                db.SaveChanges();
            }


            return(Json("", JsonRequestBehavior.AllowGet));
        }
        public ActionResult ChangeStatus(int Id)
        {
            var StudentFeeMonthToUpdate = db.StudentFeeMonths.Where(x => x.Id == Id).FirstOrDefault();

            StudentFeeMonthToUpdate.Status = "Paid";
            db.SaveChanges();



            var id       = User.Identity.GetUserId();
            var username = db.AspNetUsers.Where(x => x.Id == id).Select(x => x.Name).FirstOrDefault();



            Voucher voucher = new Voucher();

            voucher.Name      = "Student Fee Clear";
            voucher.Notes     = "Student Fee Clear";
            voucher.Date      = GetLocalDateTime.GetLocalDateTimeFunction();
            voucher.CreatedBy = username;
            voucher.SessionID = SessionID;

            int?VoucherObj = db.Vouchers.Max(x => x.VoucherNo);

            voucher.VoucherNo = Convert.ToInt32(VoucherObj) + 1;

            db.Vouchers.Add(voucher);
            db.SaveChanges();

            var Leadger = db.Ledgers.Where(x => x.Name == "Account Receiveable").FirstOrDefault();

            int AccountRecId = Leadger.Id;

            decimal?CurrentBalance = Leadger.CurrentBalance;


            VoucherRecord voucherRecord = new VoucherRecord();
            decimal?      AfterBalance  = CurrentBalance - Convert.ToDecimal(StudentFeeMonthToUpdate.FeePayable);

            voucherRecord.LedgerId = AccountRecId;
            voucherRecord.Type     = "Cr";
            voucherRecord.Amount   = Convert.ToDecimal(StudentFeeMonthToUpdate.FeePayable);

            voucherRecord.CurrentBalance = CurrentBalance;
            voucherRecord.AfterBalance   = AfterBalance;
            voucherRecord.VoucherId      = voucher.Id;
            voucherRecord.Description    = "Student Fee Credit in Account Receiveable";

            Leadger.CurrentBalance = AfterBalance;

            db.VoucherRecords.Add(voucherRecord);
            db.SaveChanges();


            //Second;

            VoucherRecord voucherRecord1 = new VoucherRecord();

            var LeadgerAdminDrawer = db.Ledgers.Where(x => x.Name == "Admin Drawer").FirstOrDefault();

            decimal?CurrentBalanceOfAdminDrawer = LeadgerAdminDrawer.CurrentBalance;

            decimal?AfterBalanceOfAdminDrawer = CurrentBalanceOfAdminDrawer + Convert.ToDecimal(StudentFeeMonthToUpdate.FeePayable);

            voucherRecord1.LedgerId           = LeadgerAdminDrawer.Id;
            voucherRecord1.Type               = "Dr";
            voucherRecord1.Amount             = Convert.ToDecimal(StudentFeeMonthToUpdate.FeePayable);
            voucherRecord1.CurrentBalance     = CurrentBalanceOfAdminDrawer;
            voucherRecord1.AfterBalance       = AfterBalanceOfAdminDrawer;
            voucherRecord1.VoucherId          = voucher.Id;
            voucherRecord1.Description        = "Student Fee Debit in Admin Drawr";
            LeadgerAdminDrawer.CurrentBalance = AfterBalanceOfAdminDrawer;

            db.VoucherRecords.Add(voucherRecord1);
            db.SaveChanges();



            return(Json("", JsonRequestBehavior.AllowGet));
        }
Beispiel #9
0
        public ActionResult ApproveOrders(int OrderId, string OrderType)
        {
            AspNetOrder OrderToModify = db.AspNetOrders.Where(x => x.Id == OrderId).FirstOrDefault();

            OrderToModify.Status = "Paid";


            db.Entry(OrderToModify).State = EntityState.Modified;
            db.SaveChanges();


            List <AspNetNotesOrder> NotesOrderToModify = db.AspNetNotesOrders.Where(x => x.OrderId == OrderId).ToList();

            foreach (var NotesOrder in NotesOrderToModify)
            {
                NotesOrder.Status = "Paid";

                db.Entry(NotesOrder).State = EntityState.Modified;

                db.SaveChanges();
            }
            var result = from Notes in db.AspNetNotes
                         join OrderNotes in db.AspNetNotesOrders on Notes.Id equals OrderNotes.NotesID
                         join Order in db.AspNetOrders on OrderNotes.OrderId equals Order.Id
                         join Student in db.AspNetStudents on OrderNotes.StudentID equals Student.Id
                         join User in db.AspNetUsers on Student.StudentID equals User.Id
                         where Order.Id == OrderId
                         select new
            {
                classId       = Student.ClassID,
                Title         = Notes.Title,
                Quantity      = OrderNotes.Quantity,
                GrandTotal    = Notes.GrandTotal,
                PhotoCopier   = Notes.PhotoCopierPrice,
                NameOfStudent = User.Name,
                StudentId     = Student.Id,

                TotalPhotoCopierPrice = (Notes.PhotoCopierPrice * OrderNotes.Quantity)
            };

            var NameOfStudent = result.FirstOrDefault().NameOfStudent;
            var classIdd      = result.FirstOrDefault().classId;
            var SessionIdd    = db.AspNetClasses.Where(x => x.Id == classIdd).FirstOrDefault().SessionID;
            var SessionName   = db.AspNetSessions.Where(x => x.Id == SessionIdd).FirstOrDefault().SessionName;

            double TotalPriceOfPhotoCopier = 0;

            foreach (var item in result)
            {
                TotalPriceOfPhotoCopier = Convert.ToDouble(TotalPriceOfPhotoCopier + item.TotalPhotoCopierPrice);
            }

            var     id       = User.Identity.GetUserId();
            var     username = db.AspNetUsers.Where(x => x.Id == id).Select(x => x.Name).FirstOrDefault();
            Voucher voucher  = new Voucher();

            voucher.Name      = "Notes paid by Student " + NameOfStudent + " Session Name " + SessionName;
            voucher.Notes     = "Cash received for notes";
            voucher.Date      = GetLocalDateTime.GetLocalDateTimeFunction();
            voucher.StudentId = result.FirstOrDefault().StudentId;

            voucher.CreatedBy = username;
            voucher.SessionID = SessionID;
            int?VoucherObj = db.Vouchers.Max(x => x.VoucherNo);

            voucher.VoucherNo = Convert.ToInt32(VoucherObj) + 1;
            db.Vouchers.Add(voucher);
            db.SaveChanges();

            if (OrderType == "Postpaid")
            {
                var           Leadger        = db.Ledgers.Where(x => x.Name == "Admin Drawer").FirstOrDefault();
                int           AdminDrawerId  = Leadger.Id;
                decimal?      CurrentBalance = Leadger.CurrentBalance;
                VoucherRecord voucherRecord  = new VoucherRecord();
                decimal?      AfterBalance   = CurrentBalance + OrderToModify.TotalAmount;
                voucherRecord.LedgerId       = AdminDrawerId;
                voucherRecord.Type           = "Dr";
                voucherRecord.Amount         = OrderToModify.TotalAmount;
                voucherRecord.CurrentBalance = CurrentBalance;

                voucherRecord.AfterBalance = AfterBalance;
                voucherRecord.VoucherId    = voucher.Id;
                voucherRecord.Description  = "Notes paid by student (" + NameOfStudent + ") (" + SessionName + ")";
                Leadger.CurrentBalance     = AfterBalance;
                db.VoucherRecords.Add(voucherRecord);
                db.SaveChanges();

                VoucherRecord voucherRecord1 = new VoucherRecord();

                var LeadgerNotes = db.Ledgers.Where(x => x.Name == "Notes").FirstOrDefault();

                decimal?CurrentBalanceOfNotes = LeadgerNotes.CurrentBalance;
                decimal?AfterBalanceOfNotes   = CurrentBalanceOfNotes + OrderToModify.TotalAmount;
                voucherRecord1.LedgerId       = LeadgerNotes.Id;
                voucherRecord1.Type           = "Cr";
                voucherRecord1.Amount         = OrderToModify.TotalAmount;
                voucherRecord1.CurrentBalance = CurrentBalanceOfNotes;
                voucherRecord1.AfterBalance   = AfterBalanceOfNotes;
                voucherRecord1.VoucherId      = voucher.Id;
                voucherRecord1.Description    = "Notes against order ID " + OrderId;
                LeadgerNotes.CurrentBalance   = AfterBalanceOfNotes;

                db.VoucherRecords.Add(voucherRecord1);
                db.SaveChanges();
            }//end of if

            VoucherRecord voucherRecord2 = new VoucherRecord();

            var IdofLedger = from Ledger in db.Ledgers
                             join LedgerHd in db.LedgerHeads on Ledger.LedgerHeadId equals LedgerHd.Id
                             where LedgerHd.Name == "Liabilities" && Ledger.Name == "Photocopier"
                             select new
            {
                Ledger.Id
            };


            int photoCopierId       = Convert.ToInt32(IdofLedger.FirstOrDefault().Id);
            var LeadgerPhotoCopierL = db.Ledgers.Where(x => x.Id == photoCopierId).FirstOrDefault();

            decimal?CurrentBalanceOfPhotoCopiter = LeadgerPhotoCopierL.CurrentBalance;
            decimal?AfterBalanceOfPhotoCopier    = CurrentBalanceOfPhotoCopiter + Convert.ToDecimal(TotalPriceOfPhotoCopier);

            voucherRecord2.LedgerId            = LeadgerPhotoCopierL.Id;
            voucherRecord2.Type                = "Cr";
            voucherRecord2.Amount              = Convert.ToDecimal(TotalPriceOfPhotoCopier);
            voucherRecord2.CurrentBalance      = CurrentBalanceOfPhotoCopiter;
            voucherRecord2.AfterBalance        = AfterBalanceOfPhotoCopier;
            voucherRecord2.VoucherId           = voucher.Id;
            voucherRecord2.Description         = "Notes against order ID " + OrderId;
            LeadgerPhotoCopierL.CurrentBalance = AfterBalanceOfPhotoCopier;
            db.VoucherRecords.Add(voucherRecord2);

            db.SaveChanges();

            VoucherRecord voucherRecord3 = new VoucherRecord();

            var IdofLedger1 = from Ledger in db.Ledgers
                              join LedgerHd in db.LedgerHeads on Ledger.LedgerHeadId equals LedgerHd.Id
                              where LedgerHd.Name == "Expense" && Ledger.Name == "Photocopier"
                              select new
            {
                Ledger.Id
            };

            int photoCopierIdOfExpense = Convert.ToInt32(IdofLedger1.FirstOrDefault().Id);
            var LeadgerPhotoCopierE    = db.Ledgers.Where(x => x.Id == photoCopierIdOfExpense).FirstOrDefault();

            decimal?CurrentBalanceOfPhotoCopiterE = LeadgerPhotoCopierE.CurrentBalance;
            decimal?AfterBalanceOfPhotoCopierE    = CurrentBalanceOfPhotoCopiterE + Convert.ToDecimal(TotalPriceOfPhotoCopier);

            voucherRecord3.LedgerId            = LeadgerPhotoCopierE.Id;
            voucherRecord3.Type                = "Dr";
            voucherRecord3.Amount              = Convert.ToDecimal(TotalPriceOfPhotoCopier);
            voucherRecord3.CurrentBalance      = CurrentBalanceOfPhotoCopiterE;
            voucherRecord3.AfterBalance        = AfterBalanceOfPhotoCopierE;
            voucherRecord3.VoucherId           = voucher.Id;
            voucherRecord3.Description         = "Notes against order ID " + OrderId;
            LeadgerPhotoCopierE.CurrentBalance = AfterBalanceOfPhotoCopierE;

            db.VoucherRecords.Add(voucherRecord3);
            db.SaveChanges();



            return(Json("", JsonRequestBehavior.AllowGet));
        }
Beispiel #10
0
        // POST: StudentRecurringFees/Edit/5
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see http://go.microsoft.com/fwlink/?LinkId=317598.

        public ActionResult AddData(FeesData data)
        {
            int?sessionId = db.AspNetClasses.Where(x => x.Id == data.ClassId).FirstOrDefault().SessionID;

            if (ModelState.IsValid)
            {
                var TotalFee = db.AspNetSessions.Where(x => x.Id == SessionID).FirstOrDefault().Total_Fee;

                decimal?TotalFeeOfAllStudents = 0;


                var feetype = Request.Form["feeType"];
                IEnumerable <string> selectedstudents = Request.Form["students"].Split(',');
                int count = selectedstudents.Count();

                for (int i = 1; i <= count; i++)
                {
                    TotalFeeOfAllStudents = TotalFee + TotalFeeOfAllStudents;
                }
                StudentRecurringFee studentRecurringFees = new StudentRecurringFee();
                studentRecurringFees.ClassId   = data.ClassId;
                studentRecurringFees.SessionId = sessionId;
                studentRecurringFees.TutionFee = TotalFee;
                studentRecurringFees.TotalFee  = TotalFee;
                db.StudentRecurringFees.Add(studentRecurringFees);
                db.SaveChanges();

                var Total_Fees = studentRecurringFees.TotalFee;

                if (feetype == "Installment")
                {
                    var CalculatedFee = Total_Fees / 2;
                    foreach (var std in selectedstudents)
                    {
                        AspNetStudent student = db.AspNetStudents.Where(x => x.StudentID == std).FirstOrDefault();

                        var classid = db.AspNetStudents.Where(x => x.Id == student.Id).Select(x => x.ClassID).FirstOrDefault();
                        var Month   = DateTime.Now.ToString("MMMM");

                        for (int i = 0; i <= 3; i++)
                        {
                            var             FirstMonth  = DateTime.Now.ToString("MMMM");
                            StudentFeeMonth stdfeemonth = new StudentFeeMonth();
                            stdfeemonth.StudentId  = student.Id;
                            stdfeemonth.Multiplier = 2;
                            stdfeemonth.SessionId  = sessionId;
                            stdfeemonth.Status     = "Pending";

                            var dddd = DateTime.Now;
                            var d    = dddd.ToString("yyyy-MM-dd");
                            //shahzad   stdfeemonth.IssueDate = d;

                            if (i == 0)
                            {
                                stdfeemonth.Months           = DateTime.Now.ToString("MMMM");
                                stdfeemonth.InstalmentAmount = CalculatedFee;
                                stdfeemonth.FeePayable       = CalculatedFee;
                            }
                            else if (i == 1)
                            {
                                stdfeemonth.InstalmentAmount = 0;
                                stdfeemonth.FeePayable       = 0;
                                stdfeemonth.Months           = DateTime.Now.Date.AddMonths(1).ToString("MMMM");
                            }
                            else if (i == 2)
                            {
                                stdfeemonth.Months           = DateTime.Now.Date.AddMonths(2).ToString("MMMM");
                                stdfeemonth.InstalmentAmount = CalculatedFee;
                                stdfeemonth.FeePayable       = CalculatedFee;
                            }
                            else if (i == 3)
                            {
                                stdfeemonth.InstalmentAmount = 0;
                                stdfeemonth.FeePayable       = 0;
                                stdfeemonth.Months           = DateTime.Now.Date.AddMonths(3).ToString("MMMM");
                            }
                            else
                            {
                                //do nothing
                            }

                            stdfeemonth.FeeType = "Installment";
                            db.StudentFeeMonths.Add(stdfeemonth);
                            db.SaveChanges();
                        }
                    }
                }


                else if (feetype == "PerMonth")
                {
                    foreach (var std in selectedstudents)
                    {
                        var           CalculatedFee = Total_Fees / 4;
                        AspNetStudent student       = db.AspNetStudents.Where(x => x.StudentID == std).FirstOrDefault();

                        var classid = db.AspNetStudents.Where(x => x.Id == student.Id).Select(x => x.ClassID).FirstOrDefault();
                        var Month   = DateTime.Now.ToString("MMMM");

                        for (int i = 0; i <= 3; i++)
                        {
                            var             FirstMonth  = DateTime.Now.ToString("MMMM");
                            StudentFeeMonth stdfeemonth = new StudentFeeMonth();
                            stdfeemonth.StudentId  = student.Id;
                            stdfeemonth.Multiplier = 1;
                            stdfeemonth.SessionId  = sessionId;
                            stdfeemonth.Status     = "Pending";

                            var dddd = DateTime.Now;
                            var d    = dddd.ToString("yyyy-MM-dd");
                            //shahzad  stdfeemonth.IssueDate = d;

                            if (i == 0)
                            {
                                stdfeemonth.Months           = DateTime.Now.ToString("MMMM");
                                stdfeemonth.InstalmentAmount = CalculatedFee;
                                stdfeemonth.FeePayable       = CalculatedFee;
                            }
                            else
                            {
                                stdfeemonth.InstalmentAmount = CalculatedFee;
                                stdfeemonth.FeePayable       = CalculatedFee;
                                stdfeemonth.Months           = DateTime.Now.Date.AddMonths(i).ToString("MMMM");
                            }

                            stdfeemonth.FeeType = "PerMonth";
                            db.StudentFeeMonths.Add(stdfeemonth);
                            db.SaveChanges();
                        }
                    }
                }
                else
                {
                    foreach (var std in selectedstudents)
                    {
                        AspNetStudent student = db.AspNetStudents.Where(x => x.StudentID == std).FirstOrDefault();

                        var classid = db.AspNetStudents.Where(x => x.Id == student.Id).Select(x => x.ClassID).FirstOrDefault();
                        var Month   = DateTime.Now.ToString("MMMM");

                        for (int i = 0; i <= 3; i++)
                        {
                            var             FirstMonth  = DateTime.Now.ToString("MMMM");
                            StudentFeeMonth stdfeemonth = new StudentFeeMonth();
                            stdfeemonth.StudentId  = student.Id;
                            stdfeemonth.Multiplier = 4;
                            stdfeemonth.SessionId  = sessionId; //could be change To SessionID
                            stdfeemonth.Status     = "Pending";

                            var dddd = DateTime.Now;
                            var d    = dddd.ToString("yyyy-MM-dd");
                            //shahzad  stdfeemonth.IssueDate = d;

                            if (i == 0)
                            {
                                stdfeemonth.Months           = DateTime.Now.ToString("MMMM");
                                stdfeemonth.InstalmentAmount = Total_Fees;
                                stdfeemonth.FeePayable       = Total_Fees;
                            }
                            else
                            {
                                stdfeemonth.InstalmentAmount = 0;
                                stdfeemonth.FeePayable       = 0;
                                stdfeemonth.Months           = DateTime.Now.Date.AddMonths(i).ToString("MMMM");
                            }

                            stdfeemonth.FeeType = "Lumsum";
                            db.StudentFeeMonths.Add(stdfeemonth);
                            db.SaveChanges();
                        }
                    }
                }

                var id       = User.Identity.GetUserId();
                var username = db.AspNetUsers.Where(x => x.Id == id).Select(x => x.Name).FirstOrDefault();

                Voucher voucher = new Voucher();
                voucher.Name      = "Student Fee Created";
                voucher.Notes     = "Student Fee Created";
                voucher.Date      = DateTime.Now;
                voucher.Name      = username;
                voucher.CreatedBy = username;
                voucher.SessionID = sessionId;
                int?VoucherObj = db.Vouchers.Max(x => x.VoucherNo);

                voucher.VoucherNo = Convert.ToInt32(VoucherObj) + 1;
                db.Vouchers.Add(voucher);
                db.SaveChanges();

                var Leadger = db.Ledgers.Where(x => x.Name == "Account Receiveable").FirstOrDefault();

                int           AccountRecId   = Leadger.Id;
                decimal?      CurrentBalance = Leadger.CurrentBalance;
                VoucherRecord voucherRecord  = new VoucherRecord();
                decimal?      AfterBalance   = CurrentBalance + TotalFeeOfAllStudents;
                voucherRecord.LedgerId       = AccountRecId;
                voucherRecord.Type           = "Dr";
                voucherRecord.Amount         = TotalFeeOfAllStudents;
                voucherRecord.CurrentBalance = CurrentBalance;
                voucherRecord.AfterBalance   = AfterBalance;
                voucherRecord.VoucherId      = voucher.Id;
                voucherRecord.Description    = "Student Fee debited in Account Receiveable";
                Leadger.CurrentBalance       = AfterBalance;
                db.VoucherRecords.Add(voucherRecord);
                db.SaveChanges();

                //Second;

                VoucherRecord voucherRecord1 = new VoucherRecord();

                var LeadgerStudentFee = db.Ledgers.Where(x => x.Name == "Student Fee").FirstOrDefault();

                decimal?CurrentBalanceOfStudentFee = LeadgerStudentFee.CurrentBalance;
                decimal?AfterBalanceOfStudentFee   = CurrentBalanceOfStudentFee + TotalFeeOfAllStudents;
                voucherRecord1.LedgerId          = LeadgerStudentFee.Id;
                voucherRecord1.Type              = "Cr";
                voucherRecord1.Amount            = TotalFeeOfAllStudents;
                voucherRecord1.CurrentBalance    = CurrentBalanceOfStudentFee;
                voucherRecord1.AfterBalance      = AfterBalanceOfStudentFee;
                voucherRecord1.VoucherId         = voucher.Id;
                voucherRecord1.Description       = "Student Fee Credit in Income";
                LeadgerStudentFee.CurrentBalance = AfterBalanceOfStudentFee;

                db.VoucherRecords.Add(voucherRecord1);
                db.SaveChanges();


                // db.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }
Beispiel #11
0
 public static string GetMissing(InvoiceSummary MF, VoucherRecord SLR, VoucherRecord LB, List <SBC.Invoice> SBC) =>
 string.Join(",",
             new string[] { MF == null ? "M" : "", SLR == null ? "SLR" : "", LB == null ? "LB" : "", SBC == null || !SBC.Any() ? "SBC" : "" }
             .Where(o => o.Any())
             );
        // 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"));
        }
Beispiel #14
0
        public ActionResult AddCashBankVoucher(CashBank_Voucher CBVoucher)
        {
            string[] D4 = CBVoucher.Date.Split('-');
            CBVoucher.Date = 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 = CBVoucher.Date + " " + time[1] + " " + time[2];

            DateTime dt = DateTime.ParseExact(date, "dd/MM/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture).Add(DateTime.Now.TimeOfDay);

            v.Date      = dt;
            v.Notes     = CBVoucher.Description;
            v.VoucherNo = CBVoucher.VoucherNo;
            v.Name      = "Cash And Bank";
            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();
            //////////////////////CREDIT//////////////////////////////
            VoucherRecord voucherrecord = new VoucherRecord();

            string[] fdfd     = CBVoucher.PaymentFrom.Split(new char[] { '-' }, 2);
            var      ledgerid = Convert.ToInt32(fdfd[0]);

            voucherrecord.LedgerId  = ledgerid;
            voucherrecord.VoucherId = db.Vouchers.Select(x => x.Id).Max();
            var type   = fdfd[1];
            var amount = 0;

            if (type == "Cr")
            {
                voucherrecord.Type = "Cr";
                amount             = CBVoucher.Amount;

                voucherrecord.Amount      = amount;
                voucherrecord.Description = CBVoucher.Description;
                var ledgerrecord = db.Ledgers.Where(x => x.Id == voucherrecord.LedgerId).FirstOrDefault();
                voucherrecord.CurrentBalance = ledgerrecord.CurrentBalance;
                /////////////////Game/////////////////////
                var groupid    = ledgerrecord.LedgerGroupId;
                var ledgerHead = "";

                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();

                if (ledgerHead == "Assets")
                {
                    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();
            }
            ////////////////////////////////DEBIT/////////////////////////
            VoucherRecord voucher_record = new VoucherRecord();

            string[] rece_Array = CBVoucher.ReceivedIn.Split(new char[] { '-' }, 2);
            ledgerid = Convert.ToInt32(rece_Array[0]);
            voucher_record.LedgerId  = ledgerid;
            voucher_record.VoucherId = db.Vouchers.Select(x => x.Id).Max();
            type   = rece_Array[1];
            amount = 0;

            if (type == "Dr")
            {
                voucher_record.Type = "Dr";
                amount = CBVoucher.Amount;

                voucher_record.Amount      = amount;
                voucher_record.Description = CBVoucher.Description;
                var ledgerrecord = db.Ledgers.Where(x => x.Id == voucher_record.LedgerId).FirstOrDefault();
                voucher_record.CurrentBalance = ledgerrecord.CurrentBalance;
                ////////////////Game/////////////////
                var groupid      = ledgerrecord.LedgerGroupId;
                var ledgerHead   = "";
                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();
                if (ledgerHead == "Assets")
                {
                    voucher_record.AfterBalance = ledgerrecord.CurrentBalance + amount;
                    Ledger ledger = db.Ledgers.Where(x => x.Id == voucher_record.LedgerId).FirstOrDefault();
                    ledger.CurrentBalance = voucher_record.AfterBalance;
                    db.SaveChanges();
                }

                db.VoucherRecords.Add(voucher_record);
                db.SaveChanges();
            }
            return(Json(JsonRequestBehavior.AllowGet));
        }