public async Task <int> CreateStudent(CreateEditStudentInputModel model) { DateTime BirthDate = model.BirthDate ?? DateTime.Now; var age = DateTime.Today.Year - BirthDate.Year; if (BirthDate.Date > DateTime.Today.AddYears(-age)) { age--; //Case for a leap year } var student = new Student { FirstName = model.FirstName, MiddleName = model.MiddleName, LastName = model.LastName, Gender = model.Gender, Age = age, BirthDate = BirthDate, Grade = model.Grade, Status = model.Status, ProfilePicURI = model.ProfileImage == null ? Constants.defaultProfPicURL : await cloudinaryService.UploadPicASync(model.ProfileImage, null) }; await this.db.Students.AddAsync(student); await this.db.SaveChangesAsync(); return(student.Id); }
public async Task EditInfo(CreateEditStudentInputModel model) { DateTime BirthDate = model.BirthDate ?? DateTime.Now; var student = await this.db.Students.FirstOrDefaultAsync(x => x.Id == model.Id); var age = DateTime.Today.Year - BirthDate.Year; if (BirthDate.Date > DateTime.Today.AddYears(-age)) { age--; //Case for a leap year } student.FirstName = model.FirstName; student.MiddleName = model.MiddleName; student.LastName = model.LastName; student.Gender = model.Gender; student.Age = age; student.BirthDate = BirthDate; student.Grade = model.Grade; if (model.ProfileImage != null) { student.ProfilePicURI = await this.cloudinaryService.UploadPicASync(model.ProfileImage, student.ProfilePicURI); } await this.db.SaveChangesAsync(); }
public async Task <IActionResult> Create(CreateEditStudentInputModel model) { if (ModelState.IsValid == false) { return(await Task.Run(() => this.View())); } var studentId = await this.studentsService.CreateStudent(model); this.TempData["studentId"] = studentId; return(await Task.Run(() => this.RedirectToAction("Details", new { studentId = studentId }))); }
public async Task <IActionResult> EditInfo(CreateEditStudentInputModel model) { int studentId = await CheckStudentId(TempData["studentId"]); model.ProfilePicURI = this.TempData["profilePicUri"].ToString(); this.TempData.Keep("profilePicUri"); if (ModelState.IsValid == false) { return(await Task.Run(() => this.View(model))); } model.Id = studentId; await this.studentsService.EditInfo(model); return(await Task.Run(() => this.RedirectToAction("Details", new { studentId = studentId }))); }
public async Task <CreateEditStudentInputModel> GetInfoForEdit(int studentId) { var student = await this.db.Students .FirstOrDefaultAsync(x => x.Id == studentId); var model = new CreateEditStudentInputModel { FirstName = student.FirstName, MiddleName = student.MiddleName, LastName = student.LastName, BirthDate = student.BirthDate, Gender = student.Gender, Grade = student.Grade, ProfilePicURI = student.ProfilePicURI, }; return(model); }