コード例 #1
0
ファイル: ItemService.cs プロジェクト: NellyIfandieva/Gallery
        public async Task <int?> CreateAsync(ItemCreateSM model)
        {
            var item = new Item
            {
                Type           = model.Type,
                CommercialType = model.CommercialType,
                Title          = model.Title,
                Description    = model.Description,
                Size           = model.Size,
                Price          = model.Price,
                Quantity       = model.Quantity
            };

            this.db.Items.Add(item);
            int?result = await db.SaveChangesAsync();

            if (result == null)
            {
                return(result);
            }

            item.Images = await CreateImages(model.ImageUrls, item);

            result = await db.SaveChangesAsync();

            if (result == null)
            {
                return(result);
            }

            return(item.Id);
        }
コード例 #2
0
        public async Task <IActionResult> Create(ItemCreateIM model)
        {
            if (ModelState.IsValid == false)
            {
                return(View(model));
            }

            ItemType itemType;
            bool     isValidType = Enum.TryParse <ItemType>(model.Type, out itemType);

            CommercialType itemCommType;
            bool           isValidCommercialType = Enum.TryParse <CommercialType>(model.CommercialType, out itemCommType);

            Sizing size;
            bool   isValidSize = Enum.TryParse <Sizing>(model.Size, out size);

            if (isValidCommercialType == false ||
                isValidType == false ||
                isValidSize == false)
            {
                var error = new ErrorVM
                {
                    Message = "Please, insert Personal, Gift or ForSale as Commercial Type"
                };

                return(RedirectToAction("Error", error));
            }

            var createSM = new ItemCreateSM
            {
                Title          = model.Title,
                Description    = model.Description,
                Type           = itemType,
                CommercialType = itemCommType,
                Size           = size,
                Price          = model.Price,
                Quantity       = model.Quantity
            };

            createSM.ImageUrls = await UploadImages((List <IFormFile>) model.Images, model.Title);

            var createResult = await this.itemService.CreateAsync(createSM);

            if (createResult == null)
            {
                var error = new ErrorVM
                {
                    Message = "The item was not properly added to the Database."
                };

                return(RedirectToAction("Error", error));
            }

            return(Redirect("/"));
        }