Пример #1
0
        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
                }));
            }
        }
Пример #2
0
        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));
            }
        }