public async Task CreateAccountAsync(AccountItemViewModel account) { _sharedService.WriteLogs("CreateAccountAsync started by:" + _userSettings.UserName, true); try { if (!string.IsNullOrEmpty(account.Email)) { if (!ValidateExtension.IsEmailValid(account.Email)) { _sharedService.WriteLogs("Email: " + account.Email + " is invalid.", false); return; } } var user = new EDIApplicationUser { UserName = account.Email, Email = account.Email, PhoneNumber = account.PhoneNumber, FirstName = account.FirstName, LastName = account.LastName, CountryID = account.CountryID, ProvinceID = account.ProvinceID }; var result = await _userManager.CreateAsync(user); if (!string.IsNullOrEmpty(account.RoleID)) { var role = await _accountRepository.GetRoleByIdAsync(account.RoleID); await _userManager.AddToRoleAsync(user, role.Name); } if (result.Succeeded) { var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); //var callbackUrl = _urlHelper.EmailConfirmationLink(user.Id, code, account.Scheme); var callbackUrl = @"htts://fanout.phri.ca"; await _emailSender.SendEmailConfirmationAsync(account.Email, callbackUrl, user.FirstName); _logger.LogInformation("User created a new account with password."); } } catch (Exception ex) { _sharedService.WriteLogs("CreateAccount failed:" + ex.Message, false); } }
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); } }
public async Task UpdateAsync(EDIApplicationUser entity) { _identityContext.Entry(entity).State = EntityState.Modified; await _identityContext.SaveChangesAsync(); }
public async Task DeleteAsync(EDIApplicationUser entity) { _identityContext.Set <EDIApplicationUser>().Remove(entity); await _identityContext.SaveChangesAsync(); }