// 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
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)); }