private async Task <BasePlainResponse> UploadImage(IFormFile file, string fileName) { var checklistReponse = new BasePlainResponse(); var client = new AmazonS3Client(_configuration.GetSection("AmazonS3:accessKey").Value, _configuration.GetSection("AmazonS3:accessSecret").Value, Amazon.RegionEndpoint.EUCentral1); byte[] fileBytes = new Byte[file.Length]; file.OpenReadStream().Read(fileBytes, 0, Int32.Parse(file.Length.ToString())); PutObjectResponse response = null; using (var stream = new MemoryStream(fileBytes)) { var request = new PutObjectRequest { BucketName = _configuration.GetSection("AmazonS3:bucket").Value, Key = fileName, InputStream = stream, ContentType = file.ContentType, CannedACL = S3CannedACL.PublicRead }; response = await client.PutObjectAsync(request); if (response.HttpStatusCode == System.Net.HttpStatusCode.OK) { return(checklistReponse); } else { checklistReponse.IsSuccessful = false; checklistReponse.ErrorMessage = "Something went wrong when saving images."; return(checklistReponse); } } }
private async Task <BasePlainResponse> DoesUserChecklistBelongToUser(int checklistId, string userEmail) { var checklistReponse = new BasePlainResponse(); var isUserChecklist = await _unitOfWork.dashboardRepository.DoesChecklistBelongToUser(checklistId, userEmail); if (!isUserChecklist) { checklistReponse.IsSuccessful = false; checklistReponse.ErrorMessage = "This checklist doesn't belong to this user"; return(checklistReponse); } return(checklistReponse); }
public async Task <BasePlainResponse> Add(UserChecklistDto checklistDto, string userEmail) { var plainResponse = new BasePlainResponse(); var checklist = _mapper.Map <UserChecklist>(checklistDto); var user = await _unitOfWork.userRepository.GetByEmail(userEmail); checklist.User = user; checklist.CreatedDate = DateTime.UtcNow; await _unitOfWork.dashboardRepository.Create(checklist); await _unitOfWork.Save(); return(plainResponse); }
public async Task <BasePlainResponse> Update(UserChecklistDto userChecklistDto, string userEmail) { var checklistNotBelongToUserResponse = await DoesUserChecklistBelongToUser(userChecklistDto.Id, userEmail); if (!checklistNotBelongToUserResponse.IsSuccessful) { return(checklistNotBelongToUserResponse); } var checklistReponse = new BasePlainResponse(); _unitOfWork.dashboardRepository.Update(_mapper.Map <UserChecklist>(userChecklistDto)); await _unitOfWork.Save(); return(checklistReponse); }
public async Task <BasePlainResponse> Add(UserDto userDto) { var plainResponse = new BasePlainResponse(); var user = _mapper.Map <User>(userDto); var doesUserExist = await _unitOfWork.userRepository.IsEmailExist(user.Email); if (doesUserExist) { plainResponse.IsSuccessful = false; plainResponse.ErrorMessage = "The e-mail address already exists in database"; return(plainResponse); } user.CreatedDate = DateTime.UtcNow; user.PasswordHash(userDto.Password); await _unitOfWork.userRepository.Create(user); await _unitOfWork.Save(); return(plainResponse); }
public async Task <BasePlainResponse> Delete(int userChecklitId, string userEmail) { var checklistNotBelongToUserResponse = await DoesUserChecklistBelongToUser(userChecklitId, userEmail); if (!checklistNotBelongToUserResponse.IsSuccessful) { return(checklistNotBelongToUserResponse); } var checklistReponse = new BasePlainResponse(); var checklist = await _unitOfWork.dashboardRepository.GetListById(userChecklitId); foreach (var image in checklist.ChecklistImages) { await DeleteImage(image.Name); } await _unitOfWork.dashboardRepository.Delete(userChecklitId); await _unitOfWork.Save(); return(checklistReponse); }
public async Task <BasePlainResponse> UploadImage(IFormFile file, int checklistId, string userEmail) { var checklistNotBelongToUserResponse = await DoesUserChecklistBelongToUser(checklistId, userEmail); if (!checklistNotBelongToUserResponse.IsSuccessful) { return(checklistNotBelongToUserResponse); } var checklistReponse = new BasePlainResponse(); var fileName = Guid.NewGuid() + file.FileName; var imageUloadedResponse = await UploadImage(file, fileName); if (!imageUloadedResponse.IsSuccessful) { return(imageUloadedResponse); } await _unitOfWork.dashboardRepository.AddUserChecklistImage(checklistId, fileName); await _unitOfWork.Save(); return(checklistReponse); }