Exemple #1
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"));
        }
        public ActionResult StudentAssignmentSubmission(int LessonID)
        {
            var IsSubmitted = "";
            var UserId1     = User.Identity.GetUserId();

            AspNetStudent Student = db.AspNetStudents.Where(x => x.StudentID == UserId1).FirstOrDefault();

            AspnetStudentAssignmentSubmission StudentAssignmentSubmission = db.AspnetStudentAssignmentSubmissions.Where(x => x.LessonId == LessonID && x.StudentId == Student.Id).FirstOrDefault();

            if (StudentAssignmentSubmission == null)
            {
                IsSubmitted = "Submit Assignment Successfully";

                var File = Request.Files["file"];

                var fileName = "";
                if (File.ContentLength > 0)
                {
                    fileName = Path.GetFileName(File.FileName);
                    File.SaveAs(Server.MapPath("~/Content/StudentAssignments/") + fileName);
                }

                AspnetStudentAssignmentSubmission AssignmentSubmission = new AspnetStudentAssignmentSubmission();

                int?TopicId   = db.AspnetLessons.Where(x => x.Id == LessonID).FirstOrDefault().TopicId;
                int?SubjectId = db.AspnetSubjectTopics.Where(x => x.Id == TopicId).FirstOrDefault().SubjectId;

                //  db.AspnetSubjectTopics.Where(x => x.Id == LessonID);

                var Subject = db.GenericSubjects.Where(x => x.Id == SubjectId).FirstOrDefault();

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

                int StudentId = db.AspNetStudents.Where(x => x.StudentID == UserId).FirstOrDefault().Id;
                int?ClassId   = db.AspNetStudents.Where(x => x.StudentID == UserId).FirstOrDefault().ClassID;

                var AssignmentDueDate = db.AspnetStudentAssignments.Where(x => x.LessonId == LessonID).FirstOrDefault().DueDate;


                TimeZone time2    = TimeZone.CurrentTimeZone;
                DateTime test     = time2.ToUniversalTime(DateTime.Now);
                var      pakistan = TimeZoneInfo.FindSystemTimeZoneById("Pakistan Standard Time");


                DateTime pakistantime = TimeZoneInfo.ConvertTimeFromUtc(test, pakistan);
                AssignmentSubmission.LessonId   = LessonID;
                AssignmentSubmission.TopicId    = TopicId;
                AssignmentSubmission.SubjectId  = SubjectId;
                AssignmentSubmission.ClassId    = ClassId;
                AssignmentSubmission.CourseType = Subject.SubjectType;
                AssignmentSubmission.StudentId  = StudentId;
                AssignmentSubmission.AssignmentSubmittedDate = pakistantime;
                AssignmentSubmission.AssignmentDueDate       = AssignmentDueDate;
                AssignmentSubmission.AssignmentFileName      = fileName;

                db.AspnetStudentAssignmentSubmissions.Add(AssignmentSubmission);
                db.SaveChanges();
            }
            else
            {
                IsSubmitted = "Submit Assignment failed, you have already Submited Assignment";
            }


            StudentLessonTracking LessonTracking = db.StudentLessonTrackings.Where(x => x.LessonId == LessonID && x.StudentId == UserId1).FirstOrDefault();

            if (LessonTracking != null)
            {
                LessonTracking.Assignment_Status = "Submitted";
                db.SaveChanges();
            }


            return(Json(IsSubmitted, JsonRequestBehavior.AllowGet));
        }// Student Assignment Submission
Exemple #3
0
        public async Task <ActionResult> CreateStudent(RegisterViewModel model)
        {
            var dbTransaction = db.Database.BeginTransaction();

            string fullName = model.Name;

            char[] upper = fullName.ToCharArray();
            upper[0] = char.ToUpper(upper[0]);
            string upperr = new string(upper) + " ";
            string pass   = upperr.Substring(0, upperr.IndexOf(" "));

            model.Email           = model.UserName + "@gmail.com";
            model.Password        = pass + "@1234";
            model.ConfirmPassword = model.Password;

            if (ModelState.IsValid)
            {
                ApplicationDbContext context          = new ApplicationDbContext();
                IEnumerable <string> selectedsubjects = Request.Form["subjects"].Split(',');
                var user = new ApplicationUser {
                    UserName = model.UserName, Email = model.Email, EmailConfirmed = false, Name = model.Name, PhoneNumber = Request.Form["cellNo"]
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    AspNetStudent student = new AspNetStudent();
                    student.StudentID   = user.Id;
                    student.SchoolName  = Request.Form["SchoolName"];
                    student.BirthDate   = Request.Form["BirthDate"];
                    student.Nationality = Request.Form["Nationality"];
                    student.Religion    = Request.Form["Religion"];
                    student.Gender      = Request.Form["Gender"];
                    student.ClassID     = Convert.ToInt32(Request.Form["ClassID"]);

                    db.AspNetStudents.Add(student);
                    var errors = ModelState.Values.SelectMany(v => v.Errors);
                    db.SaveChanges();
                    var errors1 = ModelState.Values.SelectMany(v => v.Errors);

                    foreach (var item in selectedsubjects)
                    {
                        AspNetStudent_Subject stu_sub = new AspNetStudent_Subject();
                        stu_sub.StudentID = user.Id;
                        stu_sub.SubjectID = Convert.ToInt32(item);
                        db.AspNetStudent_Subject.Add(stu_sub);

                        db.SaveChanges();
                    }

                    var roleStore   = new RoleStore <IdentityRole>(context);
                    var roleManager = new RoleManager <IdentityRole>(roleStore);

                    var userStore   = new UserStore <ApplicationUser>(context);
                    var userManager = new UserManager <ApplicationUser>(userStore);
                    userManager.AddToRole(user.Id, "Student");

                    dbTransaction.Commit();
                    // string Error = "Student successfully saved.";
                    return(RedirectToAction("StudentsIndex"));
                }
                else
                {
                    dbTransaction.Dispose();
                    // AddErrors(result);
                }
            }

            ViewBag.ClassID = new SelectList(db.AspNetClasses, "Id", "ClassName");
            return(View(model));
        }