Beispiel #1
0
        public static string AddToCartMobile(this HtmlHelper helper,
                                             Expression <Action <CartController> > action)
        {
            var urlHelper = new UrlHelper(helper.ViewContext.RequestContext);
            var url       = urlHelper.Action(action);
            var split     = url.Split('?');

            if (split.Length < 2)
            {
                return(null);
            }
            var queryString = split[1];
            var parseResult = HttpUtility.ParseQueryString(queryString);
            var form        = new TagBuilder("form");

            form.Attributes.Add("id", "rec");
            form.Attributes.Add("action", url);
            form.Attributes.Add("method", "post");
            var innerHtml = H.Submit("Записаться на курс").Class("submit").ToString();

            foreach (var key in parseResult.Keys)
            {
                innerHtml += HtmlControls.Hidden(key.ToString(),
                                                 parseResult[key.ToString()]);
            }
            innerHtml += HtmlControls.Hidden(CartController.IsStay,
                                             "false");
            form.InnerHtml = innerHtml;
            return(form.ToString());
        }
Beispiel #2
0
        /* public static string AddToCartButton(this HtmlHelper helper,
         *   Expression<Action<CartController>> action) {
         *   return AddToCart(helper, action, true);
         * }*/

        public static string AddToCart(this HtmlHelper helper,
                                       Expression <Action <CartController> > action, string imgUrl, bool withoutDialog = false)
        {
            var urlHelper = new UrlHelper(helper.ViewContext.RequestContext);
            var url       = urlHelper.Action(action);
            var split     = url.Split('?');

            if (split.Length < 2)
            {
                return(null);
            }
            var queryString = split[1];
            var parseResult = HttpUtility.ParseQueryString(queryString);
            var form        = new TagBuilder("form");

            form.Attributes.Add("action", url);
            form.Attributes.Add("method", "post");
            var innerHtml = HtmlControls.ImgSubmit(imgUrl)
                            .Class(withoutDialog ? "" : "add-cart-button").Attr(new { title = "Добавить в корзину" })
                            .ToString();

            foreach (var key in parseResult.Keys)
            {
                innerHtml += HtmlControls.Hidden(key.ToString(),
                                                 parseResult[key.ToString()]);
                if (withoutDialog)
                {
                    innerHtml += HtmlControls.Hidden("isStay", "true");
                }
            }
            form.InnerHtml = innerHtml;
            return(form.ToString());
        }
        private List <TrainerInfoVM> GetTrainers()
        {
            var trainers = EmployeeService.GetAll(e => e.EmpGroup_TC ==
                                                  EmpGroups.Trainer).ToList();
            var trainerTCs     = trainers.Select(x => x.Employee_TC).ToList();
            var responseCounts = ResponseService.GetAll().IsActive()
                                 .Where(x => x.Type == RawQuestionnaireType.Teacher &&
                                        trainerTCs.Contains(x.Employee_TC))
                                 .GroupBy(x => x.Employee_TC)
                                 .Select(x => new { Key = x.Key.ToUpper(), Count = x.Count() })
                                 .ToDictionary(x => x.Key, x => x.Count);
            var groupCounts = GroupService.GetAll().PlannedAndNotBegin()
                              .Where(x => x.DateBeg < DateTime.Today.AddMonths(6) &&
                                     trainerTCs.Contains(x.Teacher_TC))
                              .GroupBy(x => x.Teacher_TC)
                              .Select(x => new { x.Key, Count = x.Count() })
                              .ToDictionary(x => x.Key, x => x.Count);

            return(trainers.Select(e => new TrainerInfoVM {
                Trainer = e,
                Link = HtmlControls.Anchor(Const.Common.SiteDomain + Html.GetUrlFor(e),
                                           e.FullName).ToString(),
                ResponseCount =
                    responseCounts.GetValueOrDefault(e.Employee_TC),
                HasPhoto = Urls.Employee(e.Employee_TC) != null,
                HasDescription = e.SiteDescription.GetOrDefault(x => x.Length > 50),
                Groups = groupCounts.GetValueOrDefault(e.Employee_TC)
            }
                                   ).Where(x => x.Trainer.SiteVisible || x.Groups > 0).ToList());
        }
Beispiel #4
0
 public static string GetCityNote(City city)
 {
     return
         (city.MainComplex.Address.Tag("p") +
          city.PhoneList.FirstOrDefault().Tag("p") +
          HtmlControls.MailTo(city.Email).ToString().Tag("p"));
 }
Beispiel #5
0
        public static string SiteObjectLink(this HtmlHelper helper, SiteObject siteObject)
        {
            if (siteObject == null)
            {
                return(null);
            }
            var entityType = (new ContextProvider()).GetTypeByTableName(siteObject.Type);
            var linkName   = siteObject.Name;

            /*   if(siteObject.Type == LinqToSqlUtils.GetTableName(typeof(Block)))
             * {
             *         var context = new SpecialistWebDataContext();
             *         var block = context.Blocks.FirstOrDefault(
             *                 b => b.BlockID == (int) siteObject.ID);
             *         return helper.BlockLink(block);
             *
             * }*/
            if (siteObject.Type == LinqToSqlUtils.GetTableName(typeof(Employee)) &&
                siteObject.Entity != null)
            {
                return(HtmlControls.Anchor(Const.Common.SiteDomain +
                                           helper.GetUrlFor(siteObject.Entity),
                                           siteObject.ObjectType.Name + ":" +
                                           siteObject.Entity.As <Employee>().FullName).ToString());
            }
            if (linkName.IsEmpty())
            {
                linkName = siteObject.Type;
            }
            return(helper.ActionLink(siteObject.ObjectType.Name + ":" + linkName, "Edit",
                                     entityType.Name + Const.Common.ControlPosfix, new {
                id = siteObject.ID
            }, null).ToString());
        }
Beispiel #6
0
        public static string ComplexImages(this Complex model)
        {
            var complexImagePath = Urls.ImageFolder + "Complex/Image/" +
                                   model.UrlName;
            var imageDirectory = Urls.SysRoot + complexImagePath;

/*
 *          var imageDirectory =
 *              viewPage.Server.MapPath(ComplexImageFolder +
 *              viewPage.Model.Complex_ID);
 */
            if (!Directory.Exists(imageDirectory))
            {
                return(null);
            }
            var files = (new DirectoryInfo(imageDirectory)).GetFiles("*.jpg");

            if (files.Length == 0)
            {
                return(null);
            }
            var result = string.Empty;

            foreach (var file in files)
            {
                result += HtmlControls.Image(Urls.ContentRoot(complexImagePath
                                                              + "/" + file.Name), "").ToString()
                          .Tag("p");
            }
            return(result);
        }
Beispiel #7
0
        public List <string> GetBreadCrumbs(CityVM model)
        {
            var breadcrumb = new List <string>();

            breadcrumb.Add(HtmlControls.Anchor(MainMenu.Urls.Locations,
                                               "Классы и филиалы").ToString());
            return(breadcrumb);
        }
Beispiel #8
0
        public List <string> Get()
        {
            if (_helper == null)
            {
                return(null);
            }
            var breadCrumbPart = GetBreadCrumbPart();

            if (_model != null)
            {
                var path = breadCrumbPart.GetPath(_model.GetType());
                if (path != null)
                {
                    return(path.Select(bc => bc.Link).Reverse().ToList());
                }
            }
            var breadcrumb = new List <string>();

            Home = HtmlControls.Anchor("/", "Главная").ToString();



            var model        = _model;
            var pageSysName  = string.Empty;
            var isSimplePage = false;

            model.Match <EntityCommonVM>(x =>
                                         x.Entity.Match <SimplePage>(y => {
                pageSysName  = y.SysName;
                isSimplePage = true;
            }));
            if (_mainMenu != null && _mainMenu.PageSysName != pageSysName &&
                !isSimplePage)
            {
                breadcrumb.Add(HtmlControls.Anchor(_mainMenu.Url, _mainMenu.Name)
                               .ToString());
            }
            if (model == null)
            {
                return(breadcrumb);
            }
            var breadCrumbsbyDispatch = GetBreadCrumbs((dynamic)model) as List <string>;

            if (breadCrumbsbyDispatch.IsEmpty())
            {
                var forumBreadCrumbs = new ForumBreadCrumbs(_helper);
                breadCrumbsbyDispatch = forumBreadCrumbs.GetBreadCrumbs((dynamic)model);
            }


            breadcrumb.AddRange(breadCrumbsbyDispatch);
            if (!(_model is MainPageVM) && breadcrumb.All(s => !s.Contains(@"""/""")))
            {
                breadcrumb.Insert(0, Home);
            }
            return(breadcrumb);
        }
Beispiel #9
0
        public string GetManagerNote(Employee employee)
        {
            var note = string.Empty;

            if (AuthService.CurrentUser != null)
            {
                note += HtmlControls.MailTo(employee.FirstEmail)
                        .ToString().Tag("p");
            }
            return(note);
        }
Beispiel #10
0
        /* public static bool InRole(this HtmlHelper helper, params string[] roles)
         * {
         *   var user = helper.ViewData[AuthService.CurrentUserSessionKey]
         *       as User;
         *   return user != null && roles.Any(user.InRole);
         * }
         */



        public static TagBuilder File(this HtmlHelper htmlHelper, string name)
        {
            var        builder = HtmlControls.File(name);
            ModelState state;

            if (htmlHelper.ViewData.ModelState.TryGetValue(name, out state) && (state.Errors.Count > 0))
            {
                builder.AddCssClass(HtmlHelper.ValidationInputCssClassName);
            }
            return(builder);
        }
Beispiel #11
0
 public static TagBuilder SimplePageLink(this HtmlHelper helper, SimplePage page)
 {
     if (page.WithoutLink)
     {
         return(new TagBuilder("span")
         {
             InnerHtml = page.LinkTitle
         });
     }
     return(HtmlControls.Anchor(page.Url, page.LinkTitle));
 }
Beispiel #12
0
        public static string CourseLink(this HtmlHelper helper, ICourseLink course)
        {
            if (course == null)
            {
                return(null);
            }
            if (course.IsTrack.GetValueOrDefault())
            {
                return(HtmlControls.Anchor("/track/" + course.UrlName,
                                           course.GetName()).ToString());
            }

            return(helper.CourseLink(course.UrlName, course.GetName()));
        }
Beispiel #13
0
 public override string ToString()
 {
     if (Entity == null)
     {
         return(string.Empty);
     }
     return(HtmlControls.Anchor(
                _urlHelper.Action("Edit", Entity.GetType().Name
                                  + Const.Common.ControlPosfix,
                                  new { id = LinqToSqlUtils.GetPK(Entity) }),
                EntityDisplayName
                .CutLong(MetaData.DisplayProperty().GetValue(Entity).ToString())
                ).ToString());
 }
Beispiel #14
0
            protected override void Init()
            {
                var message = "Чтобы подписаться на бумажные издания"
                              + " необходимо в "
                              + HtmlControls.Anchor("/profile/editprofile", "профиле")
                              + " заполнить почтовый адрес";
                var user = AuthService.CurrentUser;

                RuleFor(x => x.Subscribes)
                .Must(x => x == 0 || user.HasFullAddress)
                .WithMessage(message);

                /*  RuleFor(x => x.NewspaperSubscribed)
                 *    .Must(x => user.CatalogSubscribed || !x || user.HasFullAddress)
                 *        .WithMessage(message);*/
            }
Beispiel #15
0
        public static string Calendar(this HtmlHelper helper, decimal groupId)
        {
            var urlHelper = new UrlHelper(helper.ViewContext.RequestContext);
            var url       = urlHelper.Action <GroupController>(c => c.Calendar(groupId));
            var form      = new TagBuilder("form");

            form.Class("add-calendar");
            form.Attributes.Add("action", url);
            form.Attributes.Add("method", "post");
            var innerHtml = HtmlControls.ImgSubmit(Urls.Main("add_in.gif"))
                            .Attr(new { title = "Добавить в календарь" })
                            .ToString();

            innerHtml     += HtmlControls.Hidden("groupId", groupId);
            form.InnerHtml = innerHtml;
            return(form.ToString());
        }
Beispiel #16
0
 private ActionResult ProcessImage(CreateMessageVM model, string viewName = null)
 {
     if (CheckMessageImage())
     {
         var imageUrl = UserImages.SaveMessageImage(Request.Files, User.UserID);
         if (!imageUrl.IsEmpty())
         {
             var value = ModelState["Description"].Value;
             image = HtmlControls.Image(imageUrl);
             ModelState["Description"].Value =
                 new ValueProviderResult(
                     new[] { model.Description + image },
                     value.AttemptedValue + image, null);
         }
     }
     if (viewName.IsEmpty())
     {
         return(View(model));
     }
     return(View(viewName, model));
 }
Beispiel #17
0
        public static List <string> MyCourses(
            this ProfileVM model, UrlHelper url)
        {
            var result = _.List(model.GetLink(HtmlControls.Anchor(
                                                  url.Action <ProfileController>(c => c.Learning()),
                                                  "Предстоящие", LearningListType.Coming).ToString()));

            result.Add(
                model.GetLink(HtmlControls.Anchor(
                                  url.Action <ProfileController>(c => c.Learning()),
                                  "Текущие", LearningListType.Current).ToString()));

            result.Add(model.GetLink(HtmlControls.Anchor(
                                         url.Action <ProfileController>(c => c.Learning()),
                                         "Законченные", LearningListType.Ended).ToString()));

            result.Add(model.GetLink(HtmlControls.Anchor(
                                         url.Action <ProfileController>(c => c.Learning()),
                                         "Экзамены", LearningListType.Exam).ToString()));

            return(result);
        }
Beispiel #18
0
        public void OrderComplete(Entities.Context.Order order, bool sendToUser)
        {
            var user             = AuthService.CurrentUser;
            var isCredit         = order.PaymentType_TC == PaymentTypes.AlphaCredit;
            var template         = MailTemplateService.GetTemplate(isCredit ? MailTemplates.OrderCompleteCredit : MailTemplates.OrderComplete, user.FullName);
            var orderDescription = GetOrderDescription(order);

            orderDescription += HtmlControls.Anchor(CommonConst.SiteRoot +
                                                    "/order/paymenttypechoice?orderid=" + order.OrderID) + Br;
            if (order.PaymentType_TC == PaymentTypes.SberBank)
            {
                orderDescription += "Квитанция:" + Br +
                                    HtmlControls.Anchor(CommonConst.SiteRoot +
                                                        "/order/receipt?orderid=" + order.OrderID) + Br +
                                    "После оплаты необходимо подтвердить оплату обучения на странице:" + Br +
                                    HtmlControls.Anchor(CommonConst.SiteRoot +
                                                        "/order/confirm?orderid=" + order.OrderID) + Br;
            }

            var managerTC = order.Manager_TC ?? Employees.MainManager;
            var manager   = EmployeeService.AllEmployees()[order.Manager_TC];

            var body = TemplateEngine.GetText(
                template.Description, new {
                orderDescription,
                Manager = H.Anchor("/manager/" + managerTC.ToLower(),
                                   manager.LastName + " " + manager.FirstName).AbsoluteHref().ToString()
            });

            if (sendToUser)
            {
                Send(info, MailAddress(order.User), body, template.Name);
            }

            OrderInfoForManager(order);
        }
Beispiel #19
0
 public static BreadCrumb GetBreadCrumbPart(HtmlHelper _helper)
 {
     if (root == null)
     {
         root = new BreadCrumb(typeof(MainPageVM),
                               HtmlControls.Anchor("/", "Главная").ToString()).Add(
             new BreadCrumb(typeof(ProfileVM),
                            _helper.Profile())
             .Add(
                 new BreadCrumb(typeof(EditProfileVM),
                                _helper.ActionLink <ProfileController>(
                                    c => c.EditProfile(), "Редактирование профиля").ToString()),
                 new BreadCrumb(typeof(ChangePasswordVM),
                                _helper.ActionLink <ProfileController>(
                                    c => c.ChangePassword(), "Сменить пароль").ToString()),
                 new BreadCrumb(typeof(SubscribesVM)),
                 new BreadCrumb(typeof(StudyTypeStatsVM)),
                 new BreadCrumb(typeof(UploadStudentPhotoVM)),
                 new BreadCrumb(typeof(CertificateListVM)),
                 new BreadCrumb(typeof(RealSpecialistVM)),
                 new BreadCrumb(typeof(WorkPlace)),
                 new BreadCrumb(typeof(GroupPhotosVM)),
                 new BreadCrumb(typeof(ClassmatesVM)),
                 new BreadCrumb(typeof(SeminarListVM)),
                 new BreadCrumb(typeof(SeminarCompleteVM)),
                 new BreadCrumb(typeof(AddSeminarVM)),
                 new BreadCrumb(typeof(PlanTestUserStatsVM)),
                 new BreadCrumb(typeof(PlanTestQuestionStatsVM)),
                 new BreadCrumb(typeof(LearningVM),
                                _helper.ActionLink <ProfileController>(
                                    c => c.Learning(), "Мои курсы").ToString())
                 .Add(
                     new BreadCrumb(typeof(GroupVM)),
                     new BreadCrumb(typeof(CoursePlannedTestVM))
                     ),
                 new BreadCrumb(typeof(EditExamQuestionnaireVM)),
                 new BreadCrumb(typeof(ChangeStatusVM)),
                 new BreadCrumb(typeof(FileListVM)),
                 new BreadCrumb(typeof(OrgGroupSearchVM)),
                 new BreadCrumb(typeof(OrgStudentVM)),
                 new BreadCrumb(typeof(OrgFileListVM)),
                 new BreadCrumb(typeof(OrgListVM)),
                 new BreadCrumb(typeof(OrgStatusUpdateVM)),
                 new BreadCrumb(typeof(OrgGroupVM)),
                 new BreadCrumb(typeof(OrgRealSpecialistVM)),
                 new BreadCrumb(typeof(TrainerCoursesVM)),
                 new BreadCrumb(typeof(TrainerGroupsVM)),
                 new BreadCrumb(typeof(EditSuccessStoryVM)),
                 new BreadCrumb(typeof(MyResponses)),
                 new BreadCrumb(typeof(LibraryVM)),
                 new BreadCrumb(typeof(MarketingActionsVM)),
                 new BreadCrumb(typeof(PrivateMessageListVM)),
                 new BreadCrumb(typeof(CompanyTestResultsVM)),
                 new BreadCrumb(typeof(TestEditVM)),
                 new BreadCrumb(typeof(TestReadOnlyVM)),
                 new BreadCrumb(typeof(CompanyTestsVM)),
                 new BreadCrumb(typeof(TestResultVM)),
                 new BreadCrumb(typeof(UserTestsVM), _helper.Url().UserTests().ToString()),
                 new BreadCrumb(typeof(TestCertificatesVM)),
                 new BreadCrumb(typeof(GroupInfosVM),
                                _helper.Url().GroupTests().ToString()).Add(new BreadCrumb(typeof(GroupInfoVM)),
                                                                           new BreadCrumb(typeof(GroupTestResultVM))),
                 new BreadCrumb(typeof(GroupPrepareVM)),
                 new BreadCrumb(typeof(TestListVM)),
                 new BreadCrumb(SimplePages.HostingInfo),
                 new BreadCrumb(typeof(CompetitionsVM),
                                _helper.ActionLink <CenterController>(
                                    c => c.Competitions(), "Конкурсы").ToString())
                 .Add(
                     new BreadCrumb(typeof(CompetitionVM))
                     ),
                 new BreadCrumb(typeof(CompanyFileListVM),
                                _helper.Url().CompanyFile().List("Файлы компаний").ToString()).Add(
                     new BreadCrumb(typeof(CompanyFileVM))
                     ),
                 new BreadCrumb(typeof(UserFileListVM),
                                _helper.ActionLink <FileController>(
                                    c => c.List(1), "Материалы преподавателя").ToString())
                 .Add(
                     new BreadCrumb(typeof(UserFileVM))
                     ),
                 new BreadCrumb(typeof(UserExamQuestionnaire),
                                _helper.ActionLink <ProfileController>(
                                    c => c.ExamQuestionnaire(null), "Анкета для сдачи экзаменов").ToString())
                 )
             );
     }
     return(root);
 }
Beispiel #20
0
 public static string UserFileLink(this HtmlHelper helper, UserFile userFile)
 {
     return(HtmlControls.Anchor(
                UserFiles.GetUserFileUrl(userFile), userFile.Name).ToString());
 }
    internal static void WriteOnClickAttribute(HtmlTextWriter writer,
                                               HtmlControls.HtmlControl control,
                                               bool submitsAutomatically,
                                               bool submitsProgramatically,
                                               bool causesValidation,
                                               string validationGroup) {
        AttributeCollection attributes = control.Attributes;
        string injectedOnClick = null;
        if (submitsAutomatically) {
            if (causesValidation) {
                injectedOnClick = Util.GetClientValidateEvent(validationGroup);
            }
            control.Page.ClientScript.RegisterForEventValidation(control.UniqueID);
        }
        else if (submitsProgramatically) {
            if (causesValidation) {
                injectedOnClick = Util.GetClientValidatedPostback(control, validationGroup);
            }
            else {
                injectedOnClick = control.Page.ClientScript.GetPostBackEventReference(control, String.Empty, true);
            }
        }
        else {
            control.Page.ClientScript.RegisterForEventValidation(control.UniqueID);
        }

        if (injectedOnClick != null) {
            string existingOnClick = attributes["onclick"];
            if (existingOnClick != null) {
                attributes.Remove("onclick");
                writer.WriteAttribute("onclick", existingOnClick + " " + injectedOnClick);
            }
            else {
                writer.WriteAttribute("onclick", injectedOnClick);
            }
        }
    }
Beispiel #22
0
        private TagDiv GetTable(string title, List <PiStudentInGroupLecture> students, int offset,
                                bool webinar = false)
        {
            var disable         = Model.LectureEditStatus != LectureEditStatus.All;
            var checkboxPostfix = webinar ? "" : "1";

            if (students.Any())
            {
                var data         = new { Students = new PiStudentInGroupLecture() };
                var isSameCourse = Model.StudentInfos.Select(x => x.Value.CourseTC).Distinct().Count() <= 1;
                var table        =
                    bh.Table(H.Head("#", "Слушатель", "Присут." + ShowWhenEdit(InputCheckbox("", "").Class("all-present" + checkboxPostfix).Title("Присутствие")), "Оценка", "Тип оценки",
                                    "Опоздание (мин)", "Уход (мин)", Model.LastLecture ? "Аттестация" : null, "Примечание"),
                             students.Select(x => {
                    var info = Model.StudentInfos[x.StudentInGroup_ID];
                    return(new {
                        Student = x,
                        info = info
                    });
                })
                             .OrderBy(x => x.info.FullName).Select((kk, idx) => {
                    var i               = idx + offset;
                    var x               = kk.Student;
                    var info            = kk.info;
                    var megaGroupCourse = isSameCourse ? "" : " ({0})".FormatWith(info.CourseTC);
                    var row             = _.List <object>(
                        i + 1, H.CleanRaw(
                            Url.Lms().Student(info.StudentID, Raw(info.FullName)).Class("student-fullname").ToString() +
                            Hidden(data.For(y => y.Students.StudentInGroupLecture_ID, i),
                                   x.StudentInGroupLecture_ID) + megaGroupCourse
                            + span[info.Email.GetOrDefault(y => " (" + HtmlControls.MailTo(y) + ")")].Class("student-email")
                            + UnlimitPart(info, x, data.For(z => z.Students.IsRecognized, i))),
                        Div("checkbox")[
                            InputCheckbox(data.For(z => z.Students.IsPresent, i), "true")
                            .SetChecked(x.IsPresent && x.Truancy.HasValue)
                            .SetDisabled(disable)
                            .Style("width:40px;margin-right:auto;margin-left:auto;")
                            .Class("present-control" + checkboxPostfix),
                            Hidden(data.For(z => z.Students.IsPresent, i), "false")
                        ],
                        Select(data.For(y => y.Students.Mark, i),
                               x.Mark.HasValue ? x.Mark.Value.ToString("n0") : "",
                               Enumerable.Range(1, 5).ToList(), z => z, z => z, true, "")
                        .Style("width:60px;").Class("form-control mark-control")
                        .SetDisabled(disable),
                        Select(data.For(y => y.Students.TestMethodType_TC, i), x.TestMethodType_TC,
                               TestMethodType.All, z => z.Name, z => z.TC, true, "Выбрать")
                        .Style("width:100px;").Class("form-control method-type-control")
                        .SetDisabled(disable),
                        InputNumber(data.For(y => y.Students.Lateness, i), x.Lateness).Style("width:60px;")
                        .Class("form-control").SetDisabled(disable),
                        InputNumber(data.For(y => y.Students.Departure, i), x.Departure)
                        .Class("form-control").Style("width:60px;").SetDisabled(disable)
                        );
                    if (Model.LastLecture)
                    {
                        var list = GetExamMarkList();
                        row.Add(
                            Select(data.For(y => y.Students.FinalExamMark_TC, i), info.FinalExamMark_TC,
                                   list, z => z.Item2, z => z.Item1, true, "Выбрать")
                            .Style("width:100px;").Class("form-control exam-mark-control")
                            .SetDisabled(disable));
                    }
                    row.Add(InputText(data.For(y => y.Students.Notes, i), x.Notes)
                            .SetDisabled(Model.LectureEditStatus == LectureEditStatus.Nothing)
                            .Class("form-control text2area").Size(300).Style("width:300px;"));
                    return(Row(row.ToArray()));
                }));
                return(div[h4[title], table]);
            }
            return(null);
        }
Beispiel #23
0
        static Tree <string> GetMainMenu(this HtmlHelper helper)
        {
            var paymentTypes =
                MvcApplication.Container.Resolve <IRepository <PaymentType> >().GetAll();


            var model = new Tree <string>();

            var startedOrderMenu  = Tree.New(helper.ListLink <Order>("Незавершенные"));
            var completeOrderMenu = Tree.New(HtmlControls
                                             .Anchor("/OrderEntity/List?IsComplete=True&pageIndex=1",
                                                     "Завершенные").ToString());

            foreach (var paymentType in paymentTypes)
            {
                completeOrderMenu.AddNode(Tree.New(
                                              HtmlControls
                                              .Anchor(
                                                  "/OrderEntity/List?PaymentType_TC={0}&IsComplete=True&pageIndex=1"
                                                  .FormatWith(paymentType.PaymentType_TC), paymentType.Name)
                                              .ToString()));
            }

            Func <string, Expression <Action <CourseEntityController> >, Tree <string> > courseLink =
                (title, selector) => Tree.New(helper.ActionLink(selector, title).ToString());

            model
            .AddNode(
                Tree.New("Объекты сайта")
                .AddNode(Tree.New(helper.ListLink <Section>("Направления")))
                .AddNode(Tree.New(helper.ListLink <Vendor>("Вендоры")))
                .AddNode(Tree.New(helper.ListLink <Profession>("Профессии")))
                .AddNode(Tree.New(helper.ListLink <Product>("Продукты")))
                .AddNode(Tree.New(helper.ListLink <SiteTerm>("Технологии")))
                .AddNode(Tree.New(helper.ListLink <Course>("Курсы"))
                         .AddNode(Tree.New(helper.ActionLink <SiteObjectRelationEntityController>(
                                               c => c.ReverseRelationSorting(typeof(Course).Name, null, null), "Сортировка").ToString()))
                         .AddNode(Tree.New(helper.ActionLink <CourseEntityController>(
                                               c => c.Update(), "Обновление").ToString()))
                         )
                )
            .AddNode(
                Tree.New("Контент")
                .AddNode(Tree.New(helper.ListLink <News>("Новости")))
                .AddNode(Tree.New(helper.ListLink <Advice>("Советы")))
                .AddNode(Tree.New(helper.ListLink <Video>("Видео"))
                         .AddNode(Tree.New(helper.ListLink <VideoCategory>("Разделы"))))
                .AddNode(Tree.New(helper.ListLink <SuccessStory>("Истории успеха")))
                .AddNode(Tree.New(helper.ListLink <UsefulInformation>("Полезная информация")))
                .AddNode(Tree.New(helper.ListLink <Guide>("Путеводители"))
                         .AddNode(Tree.New(helper.ActionLink <SiteObjectRelationEntityController>(
                                               c => c.ReverseRelationSorting(typeof(Guide).Name, null, null), "Сортировка").ToString()))
                         )
                .AddNode(Tree.New(helper.ListLink <UserWork>("Работы слушателей"))
                         .AddNode(Tree.New(helper.ListLink <UserWorkSection>("Разделы"))))
                .AddNode(Tree.New(helper.ListLink <Banner>("Баннеры")))
                .AddNode(Tree.New(helper.ListLink <Response>("Отзывы"))
                         .AddNode(Tree.New(helper.ActionLink <ResponseEntityController>(
                                               c => c.ExportSearch(null, null, null, null, false), "Поиск")
                                           .ToString())))
                .AddNode(Tree.New(helper.ListLink <Organization>("Организации"))
                         .AddNode(Tree.New(helper.ListLink <OrgResponse>("Отзывы")))
                         .AddNode(Tree.New(helper.ListLink <OrgProject>("Проекты"))))
                )
            .AddNode(
                Tree.New("Маркетинговые акции")
                .AddNode(Tree.New(helper.ListLink <MarketingAction>("Акции"))))
            .AddNode(
                Tree.New("Инфраструктура").AddNode(Tree.New("Инфо").AddNode(Tree.New(
                                                                                helper.ActionLink <EmployeeEntityController>(c => c.TrainersInfo(),
                                                                                                                             "Преподаватели").ToString()),
                                                                            Tree.New(
                                                                                helper.ActionLink <UserEntityController>(c => c.Subscribers(),
                                                                                                                         "Подписчики").ToString()),
                                                                            Tree.New(
                                                                                helper.ActionLink <OrderEntityController>(c => c.Beeline(),
                                                                                                                          "Билайн").ToString())
                                                                            ))
                .AddNode(
                    Tree.New("Курсы")
                    .AddNode(courseLink("Анонсы", c => c.CourseInfo()))
                    .AddNode(courseLink("Новые верcии", c => c.CourseNewVersions()))
                    .AddNode(courseLink("Без связей", c => c.WithoutTag(0)))
                    .AddNode(courseLink("Без путеводителей", c => c.WithoutGuide()))
                    .AddNode(courseLink("Без описания", c => c.WithoutDescription()))
                    .AddNode(courseLink("Меньше 10 отзывов", c => c.WithoutResponse()))
                    .AddNode(courseLink("Привязки", c => c.TagsReport(null)))
                    .AddNode(courseLink("Без цепочек", c => c.WithoutChain())))
                .AddNode(Tree.New(helper.ListLink <Poll>("Опросы")))
                .AddNode(Tree.New(helper.ListLink <Competition>("Конкурсы")))
                .AddNode(Tree.New(helper.ListLink <Vacancy>("Вакансии")))
                .AddNode(Tree.New(helper.ListLink <SimplePage>("Страницы"))
                         .AddNode(
                             Tree.New(helper.ListLink <SimplePageRelation>("Связи страниц")))
                         .AddNode(Tree.New(helper.ListLink <PageMeta>("Мета теги")))
                         .AddNode(Tree.New(helper.ListLink <HtmlBlock>("Html блоки")))
                         )
                .AddNode(Tree.New(helper.ListLink <MailTemplate>("Шаблоны писем"))
                         .AddNode(Tree.New(helper.ActionLink <MailTemplateEntityController>(
                                               c => c.MailList(), "Рассылка").ToString())))
                .AddNode(Tree.New("Яндекс.Директ").AddNode(Tree.New(
                                                               helper.ActionLink <HomeController>(c => c.Competitors(null), "Конкуренты").ToString()))
                         .AddNode(Tree.New(
                                      helper.ActionLink <HomeController>(c => c.WordStat(), "WordStat").ToString()))
                         )
                )
            .AddNode(
                Tree.New("Заказы")
                .AddNode(startedOrderMenu)
                .AddNode(completeOrderMenu))
            .AddNode(
                Tree.New("Тесты")
                .AddNode(Tree.New(helper.ListLink <Test>("Тесты")))
                .AddNode(Tree.New(helper.ActionLink <OrderEntityController>(c => c.TestCertGroup(null),
                                                                            "Сертификаты группы").ToString())
                         ));
            //                .AddNode(Tree.New(helper.ListLink<OrderDetail>("Заказы курсов"))));
            return(model);
        }