public async Task CreateAsync( ImagesCreateInputModel imagesCreateInputModel, string creatorId, string url, string thumbUrl) { var imageToDb = Mapper.Map <Image>(imagesCreateInputModel); imageToDb.Url = url; imageToDb.ThumbUrl = thumbUrl; imageToDb.CreatorId = creatorId; imageToDb.CreatedOn = DateTime.UtcNow; imageToDb.IsDeleted = false; await this.db.Images.AddAsync(imageToDb); await this.db.SaveChangesAsync(); }
public async Task <IActionResult> Upload(ImagesCreateInputModel imagesCreateInputModel) { if (!ModelState.IsValid) { return(this.View(imagesCreateInputModel)); } var images = imagesCreateInputModel.Images.ToList(); var errors = new List <string>(); foreach (var image in images) { var isEmpty = image.Length == 0; if (isEmpty) { errors.Add(string.Format(GlobalConstants.CorruptedImage, image.FileName)); continue; } var fileUrls = this.cloudFileUploader.UploadImageAsync(image); if (fileUrls == null) { errors.Add(string.Format(GlobalConstants.CorruptedImage, image.FileName)); continue; } var userId = this.userManager.GetUserId(this.User); await this.imageService.CreateAsync(imagesCreateInputModel, userId, fileUrls.Url, fileUrls.ThumbUrl); } if (errors.Any()) { var formattedErrors = string.Join(GlobalConstants.HtmlNewLine, errors); this.SetAlertMessage(AlertMessageLevel.Error, formattedErrors); } else { this.SetAlertMessage(AlertMessageLevel.Success, GlobalConstants.SuccessfulImageUpload); } return(this.RedirectToAction(nameof(Upload))); }