Example #1
0
        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);
                }
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
        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);
        }