示例#1
0
        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));
        }
示例#2
0
        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));
        }
示例#3
0
        // 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));
        }