Beispiel #1
0
        public IActionResult UpdatePictureFolder(int picureFolderId, [FromBody] string pictureFolderName)
        {
            if (string.IsNullOrWhiteSpace(pictureFolderName))
            {
                return(BadRequest("Picture folder can not null or empty"));
            }

            var pFolder = _pictureRepository.GetById <PictureFolder>(picureFolderId);

            if (pFolder == null)
            {
                return(NotFound(picureFolderId));
            }

            if (pictureFolderName == pFolder.FolderName)
            {
                return(BadRequest("No Changes in folder name. try to give different name"));
            }

            if (_pictureRepository.IfFolderExists(pictureFolderName))
            {
                return(BadRequest("Picture folder name already exists"));
            }
            pFolder.FolderName     = pictureFolderName;
            pFolder.LastModified   = DateTime.UtcNow;
            pFolder.LastModifiedBy = "Share Point";
            _pictureRepository.Attach <PictureFolder>(pFolder);
            _pictureRepository.Complete();
            return(NoContent());
        }
        public async Task <IActionResult> UpdatePicture(int pictureId, [FromForm] PictureRequest file)
        {
            if (file == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var picture = _pictureRepository.GetById <Picture>(pictureId);

            if (picture == null)
            {
                return(NotFound(file));
            }

            try
            {
                // Save Blob
                using (var stream = file.File.OpenReadStream())
                {
                    var url = await _azureStorageService.SavePictureAsync(stream, file.File.FileName, file.CRMPartnerId, file.PictureFolderId);

                    if (string.IsNullOrWhiteSpace(url))
                    {
                        throw new ArgumentException("Unable to save file.");
                    }
                }
                var pictureData = _mapper.Map <PictureRequest, Picture>(file);
                pictureData.LastModified   = DateTime.UtcNow;
                pictureData.LastModifiedBy = "Share Point";
                _pictureRepository.Attach <Picture>(pictureData);
                _pictureRepository.Complete();

                _pictureRepository.UpdateCrmPartnerLastImageModfiedDate(pictureData.CRMPartnerId, pictureData.LastModified);
                return(NoContent());
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }