public async Task <DataResult <GetAdminDto> > InsertAsync(InsertAdminDto insertAdminDto) { var randomPass = RandomHelper.Mixed(6); HashingHelper.CreatePasswordHash(randomPass, out var passwordHash, out var passwordSalt); var admin = new Admin { Email = insertAdminDto.Email, IsActive = true, Person = new Person { FirstName = insertAdminDto.FirstName, LastName = insertAdminDto.LastName, UserName = insertAdminDto.Email, Gsm = insertAdminDto.Gsm, PersonType = PersonType.Admin, CreatedUserName = "", CreatedAt = DateTime.Now, PasswordHash = passwordHash, PasswordSalt = passwordSalt, RefreshToken = RandomHelper.Mixed(32) } }; await _repository.InsertAsync(admin); await _smsHelper.SendAsync(new List <string> { admin.Person.Gsm }, "Welcome to the PatientTracker System. \n You are registered to patientTracker.net as Admin by " + _userService.FullName + " \n Your password is " + randomPass + "\n Wis"); var result = await _repository.TableNoTracking.Where(x => x.Id == admin.Id) .Include(x => x.Person) .FirstOrDefaultAsync(); var res = new SuccessDataResult <GetAdminDto>(new GetAdminDto { PersonId = result.PersonId, UserName = result.Person.UserName, FirstName = result.Person.FirstName, LastName = result.Person.LastName, Gsm = result.Person.Gsm, IsActive = admin.IsActive }); return(res); }
public async Task <Result> UpdateAsync(int adminId, InsertAdminDto insertAdminDto) { var admin = await _repository.GetAsync(adminId); admin.Email = insertAdminDto.Email; var result = await _repository.UpdateAsync(admin); if (!result.Success) { return(new ErrorResult()); } var person = await _personRepo.GetAsync(x => x.Id == admin.PersonId); admin.Person.FirstName = insertAdminDto.FirstName; admin.Person.LastName = insertAdminDto.LastName; admin.Person.Gsm = insertAdminDto.Gsm; return(await _personRepo.UpdateAsync(person)); }
public async Task <IActionResult> Update([FromQuery] int adminId, [FromBody] InsertAdminDto admin) { return(Ok(await _adminService.UpdateAsync(adminId, admin))); }
public async Task <IActionResult> Post([FromBody] InsertAdminDto dto) { return(Ok(await _adminService.InsertAsync(dto))); }