Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
 public async Task UpdateAsync(EDIApplicationUser entity)
 {
     _identityContext.Entry(entity).State = EntityState.Modified;
     await _identityContext.SaveChangesAsync();
 }
Esempio n. 4
0
 public async Task DeleteAsync(EDIApplicationUser entity)
 {
     _identityContext.Set <EDIApplicationUser>().Remove(entity);
     await _identityContext.SaveChangesAsync();
 }