public ActionResult Index()
        {
            WorkContext.Breadcrumbs.Add(new Breadcrumb {
                Text = T("Quản lý sản phẩm"), Url = "#"
            });

            var result       = new ControlGridFormResult <ProductInfo>();
            var siteSettings = WorkContext.Resolve <SiteSettings>();

            result.Title                = this.T("Quản lý sản phẩm");
            result.CssClass             = "table table-bordered table-striped";
            result.UpdateActionName     = "Update";
            result.IsAjaxSupported      = true;
            result.DefaultPageSize      = siteSettings.DefaultPageSize;
            result.EnablePaginate       = true;
            result.FetchAjaxSource      = this.GetProducts;
            result.GridWrapperStartHtml = Constants.Grid.GridWrapperStartHtml;
            result.GridWrapperEndHtml   = Constants.Grid.GridWrapperEndHtml;
            result.ClientId             = TableName;
            result.ActionsColumnWidth   = 180;

            result.AddCustomVar(Extensions.Constants.SearchText, "$('#" + Extensions.Constants.SearchText + "').val();", true);
            result.AddCustomVar(Extensions.Constants.ProductGroup, "$('#" + Extensions.Constants.ProductGroup + "').val();", true);

            result.AddColumn(x => x.Id, T("ID")).AlignCenter().HasWidth(100);
            result.AddColumn(x => x.Image, T("Ảnh đại diện"))
            .AlignCenter()
            .HasWidth(100)
            .RenderAsImage(y => y.Image, Extensions.Constants.CssThumbsSize);
            result.AddColumn(x => x.Name, T("Tên sản phẩm"));
            result.AddColumn(x => GetName(x), T("Loại"));
            result.AddColumn(x => x.Price, T("Giá"));
            result.AddColumn(x => x.IsPublished)
            .HasHeaderText(T("Đã đăng"))
            .AlignCenter()
            .HasWidth(100)
            .RenderAsStatusImage();

            result.AddAction().HasText(this.T("Create")).HasUrl(this.Url.Action("Edit", new { id = 0 })).HasButtonStyle(ButtonStyle.Primary).HasBoxButton(false).HasCssClass(Constants.RowLeft).HasRow(true);
            result.AddRowAction().HasText(this.T("Edit")).HasUrl(x => Url.Action("Edit", new { id = x.Id })).HasButtonStyle(ButtonStyle.Default).HasButtonSize(ButtonSize.ExtraSmall);
            result.AddRowAction(true).HasText(this.T("Delete")).HasName("Delete").HasValue(x => Convert.ToString(x.Id)).HasButtonStyle(ButtonStyle.Danger).HasButtonSize(ButtonSize.ExtraSmall).HasConfirmMessage(this.T(Constants.Messages.ConfirmDeleteRecord));

            result.AddAction(new ControlFormHtmlAction(BuildProductGroup)).HasParentClass(Constants.ContainerCssClassCol3);
            result.AddAction(new ControlFormHtmlAction(BuildSearchText)).HasParentClass(Constants.ContainerCssClassCol3);

            result.AddReloadEvent("UPDATE_ENTITY_COMPLETE");
            result.AddReloadEvent("DELETE_ENTITY_COMPLETE");
            return(result);
        }
        public ActionResult Edit(int id)
        {
            WorkContext.Breadcrumbs.Add(new Breadcrumb {
                Text = T("Quản lý đơn hàng"), Url = "#"
            });
            WorkContext.Breadcrumbs.Add(new Breadcrumb {
                Text = T("Xem thông tin đơn hàng"), Url = Url.Action("Index")
            });
            var model = new OrdersModel();

            if (id > 0)
            {
                model = this.service.GetById(id);
            }

            var result = new ControlFormResult <OrdersModel>(model)
            {
                Title                = this.T("Xem thông tin đơn hàng"),
                FormMethod           = FormMethod.Post,
                UpdateActionName     = "Update",
                ShowCancelButton     = false,
                ShowBoxHeader        = false,
                FormWrapperStartHtml = Constants.Form.FormWrapperStartHtml,
                FormWrapperEndHtml   = Constants.Form.FormWrapperEndHtml
            };

            result.MakeReadOnlyProperty(x => x.OrderCode);
            result.MakeReadOnlyProperty(x => x.FullName);
            result.MakeReadOnlyProperty(x => x.PhoneNumber);
            result.MakeReadOnlyProperty(x => x.Email);
            result.MakeReadOnlyProperty(x => x.PaymentType);
            result.MakeReadOnlyProperty(x => x.PaymentCode);
            result.RegisterExternalDataSource(x => x.PaymentType, y => BindPaymentTypes());

            var result2 = new ControlGridFormResult <OrderDetailsInfo>
            {
                Title                = T("Danh sách sản phẩm"),
                CssClass             = "table table-bordered table-striped",
                IsAjaxSupported      = true,
                FetchAjaxSource      = GetProducts,
                DefaultPageSize      = WorkContext.DefaultPageSize,
                EnablePaginate       = true,
                UpdateActionName     = "Update",
                GridWrapperStartHtml = Constants.Grid.GridWrapperStartHtml,
                GridWrapperEndHtml   = Constants.Grid.GridWrapperEndHtml,
                ClientId             = TableName
            };

            result2.AddCustomVar(Extensions.Constants.OrderId, id);
            result2.AddColumn(x => x.ProductName, T("Tên sản phẩm"));
            result2.AddColumn(x => x.Capacity, T("Thể tích"));
            result2.AddColumn(x => x.Quantity, T("Số lượng"));
            result2.AddColumn(x => x.Price, T("Giá"));
            result2.AddColumn(x => (x.Price * x.Quantity), T("Thành tiền"));

            result.AddAction().HasText(this.T("Back")).HasUrl(this.Url.Action("Index")).HasButtonStyle(ButtonStyle.Danger);

            return(new ControlFormsResult(result, result2));
        }
        public ActionResult LocalizableStrings(int languageId)
        {
            if (!CheckPermission(StandardPermissions.FullAccess))
            {
                return(new HttpUnauthorizedResult());
            }

            ViewBag.Title = T("Manage Localizable Strings");

            var language = languageService.GetById(languageId);

            WorkContext.Breadcrumbs.Add(T("Languages"), Url.Action("Index", "Language", new { area = Constants.Areas.Localization }));
            WorkContext.Breadcrumbs.Add(language.Name);
            WorkContext.Breadcrumbs.Add(T("Localizable Strings"));

            var result = new ControlGridFormResult <ComparitiveLocalizableString>
            {
                Title              = "Manage Localizable Strings",
                CssClass           = "table-excel",
                UpdateActionName   = "Update",
                EnablePaginate     = true,
                DefaultPageSize    = 15,
                FetchAjaxSource    = options => GetComparitiveTable(options, language.CultureCode),
                ActionsColumnWidth = 100,
                ClientId           = TableName,
                EnableSearch       = true
            };

            result.AddCustomVar("SearchText", "$('#txtSearchText').val();", true);

            result.AddColumn(x => x.Key).RenderAsHtml(s => string.Format("{1}<input type=\"hidden\" name=\"KeyValue${0}\" value=\"{1}\" />", s.SequenceId, s.Key));
            result.AddColumn(x => x.InvariantValue).HasHeaderText("Invariant String");
            result.AddColumn(x => x.LocalizedValue).HasHeaderText("Localized String").RenderAsHtml(s => string.Format("<input type=\"text\" name=\"LocalizedValue${1}\" class=\"form-control input-sm\" value=\"{0}\">", s.LocalizedValue, s.SequenceId));

            result.AddAction(true)
            .HasText(T("Save"))
            .HasName("Save")
            .HasIconCssClass("cx-icon cx-icon-save")
            .HasValue(language.CultureCode)
            .HasButtonStyle(ButtonStyle.Primary).HasParentClass(Constants.ContainerCssClassCol12);

            result.AddAction(new ControlFormHtmlAction(BuildSearchText)).HasParentClass(Constants.ContainerCssClassCol3);

            result.AddRowAction(true)
            .HasText(T("Delete"))
            .HasName("Delete")
            .HasValue(x => x.Key)
            .HasButtonStyle(ButtonStyle.Danger)
            .HasButtonSize(ButtonSize.ExtraSmall)
            .HasConfirmMessage(T(Constants.Messages.ConfirmDeleteRecord));

            result.AddReloadEvent("UPDATE_ENTITY_COMPLETE");

            return(result);
        }
Пример #4
0
        protected override void OnViewIndex(ControlGridFormResult <User> controlGrid)
        {
            controlGrid.ClientId           = TableName;
            controlGrid.ActionsColumnWidth = 250;

            controlGrid.AddCustomVar("RoleId", "$('#ddlRoleId').val();", true);
            controlGrid.AddCustomVar("SearchText", "$('#txtSearchText').val();", true);

            controlGrid.AddColumn(x => x.UserName).HasHeaderText(T("User Name")).EnableFilter();
            controlGrid.AddColumn(x => x.FullName).HasHeaderText(T("Full Name")).EnableFilter();
            controlGrid.AddColumn(x => x.Email).EnableFilter();
            controlGrid.AddColumn(x => x.IsLockedOut)
            .HasHeaderText(T("Is Active"))
            .EnableFilter()
            .AlignCenter()
            .HasWidth(100)
            .RenderAsStatusImage(true);

            controlGrid.AddAction(new ControlFormHtmlAction(BuildRoleDropDown)).HasParentClass(Constants.ContainerCssClassCol3);
            controlGrid.AddAction(new ControlFormHtmlAction(BuildSearchText)).HasParentClass(Constants.ContainerCssClassCol3);

            controlGrid.AddRowAction()
            .HasText(T("Roles"))
            .HasUrl(x => Url.Action("EditRoles", new { userId = x.Id }))
            .HasButtonSize(ButtonSize.ExtraSmall)
            .ShowModalDialog();

            controlGrid.AddRowAction()
            .HasText(T("Password"))
            .HasUrl(x => Url.Action("ChangePassword", new { userId = x.Id }))
            .HasButtonSize(ButtonSize.ExtraSmall)
            .ShowModalDialog();

            controlGrid.GridWrapperStartHtml = Constants.Grid.GridWrapperStartHtml;
            controlGrid.GridWrapperEndHtml   = Constants.Grid.GridWrapperEndHtml;
        }
Пример #5
0
        public ActionResult Index()
        {
            WorkContext.Breadcrumbs.Add(new Breadcrumb {
                Text = T("Quản lý chuyên mục"), Url = "#"
            });
            var result       = new ControlGridFormResult <CategoryInfo>();
            var siteSettings = WorkContext.Resolve <SiteSettings>();

            result.Title                = this.T("Quản lý chuyên mục");
            result.CssClass             = "table table-bordered table-striped";
            result.UpdateActionName     = "Update";
            result.IsAjaxSupported      = true;
            result.DefaultPageSize      = siteSettings.DefaultPageSize;
            result.EnablePaginate       = true;
            result.FetchAjaxSource      = GetCategories;
            result.GridWrapperStartHtml = Constants.Grid.GridWrapperStartHtml;
            result.GridWrapperEndHtml   = Constants.Grid.GridWrapperEndHtml;
            result.ClientId             = TableName;
            result.ActionsColumnWidth   = 180;

            result.AddCustomVar(Extensions.Constants.StatusId, "$('#" + Extensions.Constants.StatusId + "').val();", true);

            result.AddColumn(x => x.Id, T("Mã"))
            .AlignCenter()
            .HasWidth(60);
            result.AddColumn(x => x.ParentName, T("Chuyên mục cha")).HasWidth(150);
            result.AddColumn(x => x.ShortName, T("Tên chuyên mục")).HasWidth(150);
            result.AddColumn(x => x.Url, T("Đường dẫn Url"));
            result.AddColumn(x => x.IsActived)
            .HasHeaderText(T("Hiển thị"))
            .AlignCenter()
            .HasWidth(100)
            .RenderAsStatusImage();

            result.AddAction().HasText(this.T("Create")).HasUrl(this.Url.Action("Edit", new { id = 0 })).HasButtonStyle(ButtonStyle.Primary).HasBoxButton(false).HasCssClass(Constants.RowLeft).HasRow(true);
            result.AddRowAction().HasText(this.T("Edit")).HasUrl(x => Url.Action("Edit", new { id = x.Id })).HasButtonStyle(ButtonStyle.Default).HasButtonSize(ButtonSize.ExtraSmall);
            //result.AddRowAction(true).HasText(this.T("Delete")).HasName("Delete").HasValue(x => Convert.ToString(x.Id)).HasButtonStyle(ButtonStyle.Danger).HasButtonSize(ButtonSize.ExtraSmall).HasConfirmMessage(this.T(Constants.Messages.ConfirmDeleteRecord));

            result.AddAction(new ControlFormHtmlAction(BuildStatus)).HasParentClass(Constants.ContainerCssClassCol3);

            result.AddReloadEvent("UPDATE_ENTITY_COMPLETE");
            result.AddReloadEvent("DELETE_ENTITY_COMPLETE");
            return(result);
        }
Пример #6
0
        public ActionResult Index()
        {
            WorkContext.Breadcrumbs.Add(new Breadcrumb {
                Text = T("Quản lý banner"), Url = "#"
            });
            var result       = new ControlGridFormResult <SliderInfo>();
            var siteSettings = WorkContext.Resolve <SiteSettings>();

            result.Title                = this.T("Quản lý banner");
            result.CssClass             = "table table-bordered table-striped";
            result.UpdateActionName     = "Update";
            result.IsAjaxSupported      = true;
            result.DefaultPageSize      = siteSettings.DefaultPageSize;
            result.EnablePaginate       = true;
            result.FetchAjaxSource      = this.GetSliders;
            result.GridWrapperStartHtml = Constants.Grid.GridWrapperStartHtml;
            result.GridWrapperEndHtml   = Constants.Grid.GridWrapperEndHtml;
            result.ClientId             = TableName;
            result.ActionsColumnWidth   = 120;

            result.AddCustomVar(Extensions.Constants.PageType, "$('#" + Extensions.Constants.PageType + "').val();", true);

            result.AddColumn(x => x.SortOrder, T("Thứ tự")).HasWidth(80).AlignCenter();
            result.AddColumn(x => x.ImageUrl, T("Ảnh"))
            .AlignCenter()
            .HasWidth(200)
            .RenderAsImage(y => y.ImageUrl, Extensions.Constants.CssThumbsSize);
            result.AddColumn(x => x.Caption, T("Mô tả"));

            result.AddAction().HasText(this.T("Create")).HasUrl(this.Url.Action("Edit", new { id = 0 })).HasButtonStyle(ButtonStyle.Primary).HasBoxButton(false).HasCssClass(Constants.RowLeft).HasRow(true);
            result.AddRowAction().HasText(this.T("Edit")).HasUrl(x => Url.Action("Edit", new { id = x.Id })).HasButtonStyle(ButtonStyle.Default).HasButtonSize(ButtonSize.ExtraSmall);
            result.AddRowAction(true).HasText(this.T("Delete")).HasName("Delete").HasValue(x => Convert.ToString(x.Id)).HasButtonStyle(ButtonStyle.Danger).HasButtonSize(ButtonSize.ExtraSmall).HasConfirmMessage(this.T(Constants.Messages.ConfirmDeleteRecord));

            result.AddAction(new ControlFormHtmlAction(BuildPageType)).HasParentClass(Constants.ContainerCssClassCol3);

            result.AddReloadEvent("UPDATE_ENTITY_COMPLETE");
            result.AddReloadEvent("DELETE_ENTITY_COMPLETE");
            return(result);
        }
Пример #7
0
 public ControlGrid <TModel> AddCustomVar(string name, object value, bool isFunction = false)
 {
     model.AddCustomVar(name, value, isFunction);
     return(this);
 }