public async Task <IActionResult> Create(ImageCreateEditViewModel vm, IEnumerable <IFormFile> images) { vm.AppUserId = User.UserGuidId(); if (ModelState.IsValid) { if (images != null) { //Convert Image to byte and save to database foreach (var file in images) { using (var ms = new MemoryStream()) { //image.Save(ms, new PngEncoder()); var imageBLL = new ImageBLL(); imageBLL.AppUserId = User.UserGuidId(); await file.CopyToAsync(ms); imageBLL.Picture = ms.ToArray(); imageBLL.ItemId = vm.ItemId; _bll.Images.Add(imageBLL); } } await _bll.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); } vm.ItemSelectList = new SelectList(await _bll.Items.GetAllAsync(User.UserGuidId()), nameof(ItemBLL.Id), nameof(ItemBLL.Description), vm.ItemId); return(View(vm)); }
public async Task <IActionResult> Edit(Guid id, ImageCreateEditViewModel vm) { if (id != vm.Id) { return(BadRequest(new MessageDTO("Id and vm.id do not match"))); } if (!await _bll.Images.ExistsAsync(vm.Id, User.UserGuidId())) { return(NotFound(new MessageDTO($"Current user does not have image with this id {id}"))); } vm.AppUserId = User.UserGuidId(); if (ModelState.IsValid) { await _bll.Images.UpdateAsync(_mapper.Map(vm)); await _bll.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } vm.ItemSelectList = new SelectList(await _bll.Items.GetAllAsync(User.UserGuidId()), nameof(ItemBLL.Id), nameof(ItemBLL.Description), vm.ItemId); return(View(vm)); }
// GET: Images/Create public async Task <IActionResult> Create() { var vm = new ImageCreateEditViewModel { ItemSelectList = new SelectList(await _bll.Items.GetAllAsync(User.UserGuidId()), nameof(ItemBLL.Id), nameof(ItemBLL.Description)) }; return(View(vm)); }