public async Task <ActionResult <VendorUserForGetDTO> > Post(VendorUserForAddDTO model) { if (await _vendorUserRepository.IsExistByPhone(model.Phone).ConfigureAwait(true)) { return(Conflict(new ApiResponse(409, StringConcatenates.Exist("Phone", model.Phone)))); } if (await _vendorUserRepository.IsExistByEmail(model.Email).ConfigureAwait(true)) { return(Conflict(new ApiResponse(409, StringConcatenates.Exist("Email", model.Email)))); } VendorUser vendorUser = _mapper.Map <VendorUser>(model); string password = SecurePassword.GeneratePassword(8); SecurePassword.CreatePasswordHash(password, out byte[] passwordHash, out byte[] passwordSalt); vendorUser.PasswordHash = passwordHash; vendorUser.PasswordSalt = passwordSalt; await _vendorUserRepository.AddAsync(vendorUser).ConfigureAwait(true); await _unitOfWork.CompleteAsync().ConfigureAwait(true); Email.Send("Momen", vendorUser.Email, "password", password); VendorUserForGetDTO vendorUserDto = _mapper.Map <VendorUserForGetDTO>(vendorUser); return(Ok(vendorUserDto)); }
public async Task <ActionResult <VendorUserForGetDTO> > GetAdmin(int vendorId) { if (!await _vendorRepository.IsExist(vendorId).ConfigureAwait(true)) { return(NotFound(new ApiResponse(404, StringConcatenates.NotExist("Vendor", vendorId)))); } VendorUser vendorUser = await _vendorUserRepository.GetAdminAsync(vendorId).ConfigureAwait(true); VendorUserForGetDTO vendorUserDto = _mapper.Map <VendorUserForGetDTO>(vendorUser); return(Ok(vendorUserDto)); }
public async Task <ActionResult <VendorUserForGetDTO> > Delete(int id) { if (!await _vendorUserRepository.IsExist(id).ConfigureAwait(true)) { return(NotFound(new ApiResponse(404, StringConcatenates.NotExist("Vendor User", id)))); } VendorUser vendorUser = await _vendorUserRepository.GetAsync(id).ConfigureAwait(true); _vendorUserRepository.Remove(vendorUser); await _unitOfWork.CompleteAsync().ConfigureAwait(true); VendorUserForGetDTO vendorUserDto = _mapper.Map <VendorUserForGetDTO>(vendorUser); return(Ok(vendorUserDto)); }
public async Task <ActionResult <VendorUserForGetDTO> > Put(int id, VendorUserForEditDTO model) { if (id != model.Id) { return(BadRequest(new ApiResponse(400, StringConcatenates.NotEqualIds(id, model.Id)))); } if (!await _vendorUserRepository.IsExist(id).ConfigureAwait(true)) { return(NotFound(new ApiResponse(404, StringConcatenates.NotExist("Vendor User", id)))); } if (await _vendorUserRepository.IsExistByPhone(id, model.Phone).ConfigureAwait(true)) { return(Conflict(new ApiResponse(409, StringConcatenates.Exist("Phone", model.Phone)))); } if (await _vendorUserRepository.IsExistByEmail(id, model.Email).ConfigureAwait(true)) { return(Conflict(new ApiResponse(409, StringConcatenates.Exist("Email", model.Email)))); } VendorUser oldVendorUser = await _vendorUserRepository.GetAsync(id).ConfigureAwait(true); VendorUser vendorUser = _mapper.Map <VendorUser>(model); vendorUser.PasswordHash = oldVendorUser.PasswordHash; vendorUser.PasswordSalt = oldVendorUser.PasswordSalt; vendorUser.VendorId = oldVendorUser.VendorId; vendorUser.IsRandom = oldVendorUser.IsRandom; _vendorUserRepository.Edit(vendorUser); await _unitOfWork.CompleteAsync().ConfigureAwait(true); VendorUserForGetDTO vendorUserDto = _mapper.Map <VendorUserForGetDTO>(vendorUser); return(Ok(vendorUserDto)); }