public IActionResult List(DataSourceRequest command, int Id) { if (!_permissionService.Authorize(StandardPermissionProvider.AccessAdminPanel)) { return(AccessDeniedKendoGridJson()); } if (Id == 0) { var pickupPoints = _MediaCategoryService.GetMediaCategoryByLevelAndParentId(0, pageIndex: command.Page - 1, pageSize: command.PageSize); var model = pickupPoints.Select(point => { var store = _MediaCategoryService.GetMediaCategoryById(point.Id); return(new MediaCategory() { Id = point.Id, MediaCategoryName = point.MediaCategoryName, MediaCategoryLatinName = point.MediaCategoryLatinName, MediaCategoryCode = point.MediaCategoryCode, }); }).ToList(); return(Json(new DataSourceResult { Data = model, Total = pickupPoints.TotalCount })); } else { var Category = _MediaCategoryService.GetMediaCategoryById(Id); var pickupPoints = _MediaCategoryService.GetMediaCategoryByLevelAndParentId(Category.Id, pageIndex: command.Page - 1, pageSize: command.PageSize); var model = pickupPoints.Select(point => { var store = _MediaCategoryService.GetMediaCategoryById(point.Id); return(new MediaCategory() { Id = point.Id, MediaCategoryName = point.MediaCategoryName, MediaCategoryLatinName = point.MediaCategoryLatinName, MediaCategoryCode = point.MediaCategoryCode }); }).ToList(); return(Json(new DataSourceResult { Data = model, Total = pickupPoints.TotalCount })); } }
public async Task <IActionResult> CreateAsync(MediaModel model, IFormFile file, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.AccessAdminPanel)) { return(AccessDeniedView()); } try { if (model.Title == null) { return(RedirectToAction("Create")); } if (model.CategoryId == 0) { return(RedirectToAction("Create")); } #region FileUpload if (file == null || file.Length == 0) { return(RedirectToAction("Create")); } var Extention = Path.GetExtension(file.FileName); if (!Directory.Exists("wwwroot/Media/Company.Media/Media")) { Directory.CreateDirectory("wwwroot/Media/Company.Media/Media"); } var path = ""; if (System.IO.File.Exists("wwwroot/Media/Company.Media/Media/" + file.FileName)) { var Exist = true; int Count = 1; var StepCount = 0; while (Exist) { if (!System.IO.File.Exists("wwwroot/Media/Company.Media/Media/" + Count.ToString() + "_" + file.FileName)) { Exist = false; StepCount = Count; } Count++; } var Existpath = StepCount.ToString() + "_" + file.FileName; path = Path.Combine( Directory.GetCurrentDirectory(), "wwwroot/Media/Company.Media/Media", Existpath); } else { path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/Media/Company.Media/Media", file.FileName); } using (var stream = new FileStream(path, FileMode.Create)) { await file.CopyToAsync(stream); } #endregion var Customer = EngineContext.Current.Resolve <IWorkContext>().CurrentCustomer; #region MediaTable var MediaModel = new Media.Domain.Media() { URL = $"/Media/Company.Media/Media/{file.FileName}", FileName = file.FileName, CreateDate = DateTime.Now, PublishDate = DateTime.Now, UpdateDate = DateTime.Now, ContentType = file.ContentType, MediaStatus = Media.Domain.Media.StatusType.Active, UserId = Customer.Id, Title = model.Title, AltText = model.Text, FileExtention = Extention }; _MediaService.InsertMedia(MediaModel); #endregion var parent = true; while (parent) { var Mediacategories = new MediaCategories() { MediaId = MediaModel.Id, MediaCategoryId = model.CategoryId }; _MediaCategoriesService.InsertMediaCategories(Mediacategories); var category = _MediaCategoryService.GetMediaCategoryById(model.CategoryId); if (category.MediaCategoryParentId != 0) { model.CategoryId = category.MediaCategoryParentId; } else { parent = false; } } ViewBag.RefreshPage = true; model.CategoryList = new System.Collections.Generic.List <SelectListItem>(); return(View("~/Plugins/Company.Media/Views/Media/Create.cshtml", model)); } catch (Exception exception) { ViewBag.RefreshPage = true; model.CategoryList = new System.Collections.Generic.List <SelectListItem>(); return(View("~/Plugins/Company.Media/Views/Media/Create.cshtml", model)); } }