public async Task UpdateTeacherAsync(TeacherItemViewModel teacher) { _sharedService.WriteLogs("UpdateTeacherAsync started by:" + _userSettings.UserName, true); try { var _teacher = await _teacherRepository.GetByIdAsync(teacher.Id); Guard.Against.NullTeacher(teacher.Id, _teacher); _teacher.TeacherNumber = teacher.TeacherNumber; _teacher.SchoolId = teacher.SchoolId.Value; _teacher.YearId = teacher.YearId; _teacher.TeacherName = teacher.TeacherName; _teacher.Email = teacher.Email; _teacher.PhoneNumber = teacher.PhoneNumber; _teacher.TeacherStatusId = teacher.TeacherStatusId; _teacher.ModifiedDate = DateTime.Now; _teacher.ModifiedBy = _userSettings.UserName; await _teacherRepository.UpdateAsync(_teacher); } catch (Exception ex) { _sharedService.WriteLogs("UpdateTeacherAsync failed:" + ex.Message, false); } }
public async Task <TeacherItemViewModel> GetTeacherItem(int teacherId) { _sharedService.WriteLogs("GetTeacherItem started by:" + _userSettings.UserName, true); try { var teacher = await _teacherRepository.GetByIdAsync(teacherId); Guard.Against.NullTeacher(teacherId, teacher); var vm = new TeacherItemViewModel() { Id = teacher.Id, UserId = teacher.UserId, TeacherNumber = teacher.TeacherNumber, SchoolId = teacher.SchoolId, SiteId = _dbContext.Schools.Where(s => s.Id == teacher.SchoolId).Select(s => s.SiteId).FirstOrDefault(), YearId = teacher.YearId, TeacherName = teacher.TeacherName, Email = teacher.Email, PhoneNumber = teacher.PhoneNumber, TeacherStatusId = teacher.TeacherStatusId, CreatedDate = teacher.CreatedDate, CreatedBy = teacher.CreatedBy, ModifiedDate = teacher.ModifiedDate, ModifiedBy = teacher.ModifiedBy }; return(vm); } catch (Exception ex) { _sharedService.WriteLogs("GetTeacherItem failed:" + ex.Message, false); var vm = new TeacherItemViewModel(); return(vm); } }
public async Task <int> CreateTeacherAsync(TeacherItemViewModel teacher) { _sharedService.WriteLogs("CreateTeacherAsync started by:" + _userSettings.UserName, true); try { var _teacher = new Teacher(); var user = _identityContext.Users.Where(p => p.UserName == teacher.Email).FirstOrDefault(); string userid = string.Empty; if (user == null) { try { string[] names = teacher.TeacherName.Split(' '); string firstname = names[0]; string lastname = names[1]; var newuser = new EDIApplicationUser { UserName = teacher.Email, Email = teacher.Email, FirstName = firstname, LastName = lastname }; var result = await _userManager.CreateAsync(newuser); var role = _identityContext.Roles.Where(p => p.Name == "Teacher").FirstOrDefault(); await _userManager.AddToRoleAsync(newuser, role.Name); userid = newuser.Id; } catch (Exception ex) { _sharedService.WriteLogs("CreateTeacherAsync failed:" + ex.Message, false); } } else { userid = user.Id; } _teacher.UserId = userid; _teacher.TeacherNumber = teacher.TeacherNumber; _teacher.SchoolId = teacher.SchoolId.Value; _teacher.YearId = teacher.YearId; _teacher.TeacherName = teacher.TeacherName; _teacher.Email = teacher.Email; _teacher.PhoneNumber = teacher.PhoneNumber; _teacher.TeacherStatusId = teacher.TeacherStatusId; _teacher.CreatedDate = DateTime.Now; _teacher.CreatedBy = _userSettings.UserName; _teacher.ModifiedDate = DateTime.Now; _teacher.ModifiedBy = _userSettings.UserName; await _teacherRepository.AddAsync(_teacher); var school = _dbContext.Schools.Where(p => p.Id == teacher.SchoolId.Value).FirstOrDefault(); var province = _dbContext.Provinces.Where(p => p.Id == school.ProvinceId).FirstOrDefault(); var provinceid = province.Id; var provincename = province.English.Replace(" ", ""); var predicateTeacher = "p => p." + provincename + ".Value && p.YearId == " + teacher.YearId + " && p.QuestionnaireName == \"Teacher Feedback\""; var questionnaireTeacher = _dbContext.Questionnaires.Where(predicateTeacher).FirstOrDefault(); var _QuestionnairesDataTeacherProfile = new QuestionnairesDataTeacherProfile(); _QuestionnairesDataTeacherProfile.TeacherId = _teacher.Id; _QuestionnairesDataTeacherProfile.YearId = teacher.YearId; _QuestionnairesDataTeacherProfile.QuestionnaireId = questionnaireTeacher.Id; _QuestionnairesDataTeacherProfile.CreatedDate = DateTime.Now; _QuestionnairesDataTeacherProfile.CreatedBy = _userSettings.UserName; _QuestionnairesDataTeacherProfile.ModifiedDate = DateTime.Now; _QuestionnairesDataTeacherProfile.ModifiedBy = _userSettings.UserName; await _profileRepository.AddAsync(_QuestionnairesDataTeacherProfile); return(_teacher.Id); } catch (Exception ex) { _sharedService.WriteLogs("CreateTeacherAsync failed:" + ex.Message, false); return(0); } }