1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- using Karsha_Site.Application.Interfaces.FacadPatterns;
- using Karsha_Site.Application.Services.Products.Commands.AddNewProduct;
- using Microsoft.AspNetCore.Http;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.AspNetCore.Mvc.Rendering;
-
- namespace EndPoint.Site.Areas.Admin.Controllers
- {
- [Area("Admin")]
- public class ProductsController : Controller
- {
-
- private readonly IProductFacad _productFacad;
-
- public ProductsController(IProductFacad productFacad)
- {
- _productFacad = productFacad;
- }
- public IActionResult Index(int Page = 1, int PageSize = 10)
- {
- return View(_productFacad.GetProductForAdminService.Execute(Page, PageSize).Data);
- }
-
- public IActionResult Detail(int Id)
- {
- return View(_productFacad.GetProductDetailForAdminService.Execute(Id).Data);
- }
-
- [HttpGet]
- public IActionResult AddNewProduct()
- {
- ViewBag.Categories = new SelectList(_productFacad.GetAllCategoriesService.Execute().Data, "ID", "Title");
- return View();
- }
-
- [HttpPost]
- public IActionResult AddNewProduct(RequestAddNewProductDto request, List<AddNewProduct_Features> Features)
- {
- List<IFormFile> images = new List<IFormFile>();
- for (int i = 0; i < Request.Form.Files.Count; i++)
- {
- var file = Request.Form.Files[i];
- images.Add(file);
- }
- request.Images = images;
- request.Features = Features;
- return Json(_productFacad.AddNewProductService.Execute(request));
- }
- [HttpPost]
- public IActionResult Delete(int ProductId)
- {
- return Json(_productFacad.RemoveProductService.Execute(ProductId));
- }
- }
- }
|