Пример #1
0
        public async Task <ActionResult> Edit(int id)
        {
            var dashboardDto = await _dashboardManager.GetById(id);

            if (dashboardDto != null)
            {
                EditDashboardViewModel model = _mapper.Map <DashboardDto, EditDashboardViewModel>(dashboardDto);
                return(ViewComponent("DashboardEdit", model));
            }
            return(ViewComponent("DashboardEdit", null));
        }
Пример #2
0
        protected override DriverResult Editor(SidebarDashboardPart part, dynamic shapeHelper)
        {
            if (!_crmContentOwnershipService.IsCurrentUserAdvanceOperator())
            {
                return(null);
            }

            List <string> currentPortlets =
                string.IsNullOrEmpty(part.SidebarPortletList) ?
                new List <string>() :
                part.SidebarPortletList.Split(',').Select(c => c.ToUpper(CultureInfo.InvariantCulture).Trim()).ToList();

            var portlets = _orchardServices
                           .ContentManager
                           .HqlQuery()
                           .ForType(Consts.SidebarProjectionPortletTemplateType, Consts.SidebarStaticPortletType)
                           .List()
                           .Select(c => c.As <TitlePart>());

            List <EditDashboardViewModel> model = new List <EditDashboardViewModel>();


            // we assume all portlets have TitleParts
            foreach (var item in portlets.Where(c => c.Is <TitlePart>()))
            {
                string title = string.IsNullOrEmpty(item.Title) ? string.Empty : item.Title.ToUpper(CultureInfo.InvariantCulture).Trim();
                EditDashboardViewModel modelMember = new EditDashboardViewModel();
                modelMember.PortletId = item.Id;
                modelMember.Title     = item.As <TitlePart>().Title;
                modelMember.IsChecked = currentPortlets.Contains(title);
                modelMember.Order     = modelMember.IsChecked ? currentPortlets.IndexOf(item.Title) : -int.MaxValue;

                model.Add(modelMember);
            }

            model = model.OrderByDescending(c => c.Order).ToList();

            return(ContentShape("Parts_SidebarDashboard_Edit",
                                () => shapeHelper.EditorTemplate(
                                    TemplateName: "Parts/SidebarDashboard",
                                    Model: model,
                                    Prefix: Prefix)));
        }
Пример #3
0
        public async Task <IActionResult> Edit(EditDashboardViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            DashboardDto dashboardDto = _mapper.Map <EditDashboardViewModel, DashboardDto>(model);
            IconDto      iconDto      = null;

            if (model.IconFile != null)
            {
                dashboardDto.IconId = await _iconManager.CreateAndGetIconId(model.IconFile);

                iconDto = await _iconManager.GetById(dashboardDto.IconId.GetValueOrDefault());

                dashboardDto.IconPath = iconDto.Path;
            }
            dashboardDto.AppUserId = _userManager.GetUserId(User);
            var res = _dashboardManager.Update(dashboardDto).Result;

            if (res != null)
            {
                res = _dashboardManager.GetById(res.Id).Result;
                DashboardViewModel dashmodel = _mapper.Map <DashboardDto, DashboardViewModel>(res);
                if (model.IconFile == null)
                {
                    iconDto = await _iconManager.GetById(dashboardDto.IconId.GetValueOrDefault());

                    dashboardDto.IconPath = iconDto.Path;
                }
                if (!dashmodel.IsPublic)
                {
                    dashmodel.DashCreatorUserName = User.Claims.ElementAt(1).Value;
                }
                return(ViewComponent("DashboardElement", dashmodel));
            }
            else
            {
                //ModelState.AddModelError(res.Property, res.Message);
                return(View(model));
            }
        }
Пример #4
0
 public IViewComponentResult Invoke(EditDashboardViewModel model) => View(model);