コード例 #1
0
        public async Task <IActionResult> NewProduct()
        {
            var model = new ProductFormForDto();

            var serRes = await _categoryService.GetCategoryManagement(GetToken());

            if (serRes.ResultStatus.Status != Enums.ResultStatus.Success)
            {
                AddSweetAlert("Beklenmedik bir durum oluştu", serRes.ResultStatus.Explanation, Enums.NotificationType.warning);

                return(View(model));
            }

            if (serRes.Result != null && serRes.Result.Categories != null && serRes.Result.Categories.Any())
            {
                model.Categories = serRes.Result.Categories;
            }

            return(View(model));
        }
コード例 #2
0
        public async Task <IActionResult> ProductUpdate(int id)
        {
            var model = new ProductFormForDto();

            #region Kategoriler
            var serRes = await _categoryService.GetCategoryManagement(GetToken());

            if (serRes.ResultStatus.Status != Enums.ResultStatus.Success)
            {
                AddSweetAlert("Beklenmedik bir durum oluştu", serRes.ResultStatus.Explanation, Enums.NotificationType.warning);

                return(View(model));
            }

            if (serRes.Result != null && serRes.Result.Categories != null && serRes.Result.Categories.Any())
            {
                model.Categories = serRes.Result.Categories;
            }
            #endregion

            var productSerRes = await _productService.ProductDetail(GetToken(), id);

            if (productSerRes.ResultStatus.Status != Enums.ResultStatus.Success)
            {
                AddSweetAlert("Bulunamadı.", serRes.ResultStatus.Explanation, Enums.NotificationType.warning);
                return(View(model));
            }

            model.Id          = productSerRes.Result.Id;
            model.Name        = productSerRes.Result.Name;
            model.Price       = productSerRes.Result.Price;
            model.Description = productSerRes.Result.Description;
            model.CategoryId  = productSerRes.Result.CategoryId;
            model.ImageName   = productSerRes.Result.ImageUrl;

            ViewBag.ImageUrl = productSerRes.Result.ImageUrl;

            return(View(model));
        }
コード例 #3
0
        public async Task <IActionResult> NewProduct(ProductFormForDto model)
        {
            #region Kategorileri Çekiyoruz

            var serRes = await _categoryService.GetCategoryManagement(GetToken());

            if (serRes.ResultStatus.Status != Enums.ResultStatus.Success)
            {
                AddSweetAlert("Beklenmedik bir durum oluştu", serRes.ResultStatus.Explanation, Enums.NotificationType.warning);

                return(View(new ProductFormForDto()));
            }

            if (serRes.Result != null && serRes.Result.Categories != null && serRes.Result.Categories.Any())
            {
                model.Categories = serRes.Result.Categories;
            }

            #endregion

            if (!ModelState.IsValid)
            {
                if (string.IsNullOrEmpty(model.Name) || !model.CategoryId.HasValue || model.File == null || !model.Price.HasValue)
                {
                    ModelState.AddModelError("", "Lütfen tüm alanları doldurunuz.");
                }

                return(View(model));
            }

            var uniqueFileName = Tools.GetUniqueFileName(model.File.FileName);
            var uploadsPath    = Path.Combine(_hostingEnvironment.WebRootPath, "uploads");

            // Ürün ekleniyor.
            var dataModel = new ProductAddForDto
            {
                Name        = model.Name,
                ImageUrl    = "/uploads/" + uniqueFileName,
                Price       = model.Price.Value,
                CategoryId  = model.CategoryId.Value,
                Description = model.Description,
                UserName    = GetUserName()
            };

            var newProductSerRes = await _productService.NewProduct(GetToken(), dataModel);

            if (newProductSerRes.ResultStatus.Status != Enums.ResultStatus.Success)
            {
                AddSweetAlert("Hata", serRes.ResultStatus.Explanation, Enums.NotificationType.error);
                return(View(model));
            }

            var filePath = Path.Combine(uploadsPath, uniqueFileName);
            using (var stream = new FileStream(filePath, FileMode.Create))
            {
                await model.File.CopyToAsync(stream);

                stream.Close();
            }

            AddSweetAlert("Tebrikler", "Ürün başarıyla eklendi", Enums.NotificationType.success);

            return(RedirectToAction("Index"));
        }