public PurchaseDeliveryDetail(PageMode pm) : base(pm)
 {
     InitializeComponent();
     ModuleName = "PurchaseDelivery";
     VM = new DeliveryVM(DeliveryType.InternalTDBOL);
     BindData();
 }
Ejemplo n.º 2
0
        protected void btnDelete_Click(object sender, EventArgs e)
        {
            CurrentUiTemplate = GetSelectedJQueryTemplate();

            string invalidReason;
            if (ValidateUiTemplateBeforeDelete(out invalidReason))
            {
                CurrentUiTemplate.Delete();
                BindTemplateNameDropDownList();
                CurrentUiTemplate = GetSelectedJQueryTemplate();
                BindUiTemplate();
                ViewMode = PageMode.Edit;

                ClientMessage = new ClientMessageOptions
                {
                    Title = Resources.GalleryServerPro.Admin_Save_Success_Hdr,
                    Message = Resources.GalleryServerPro.Admin_Templates_Deleted_Msg,
                    Style = MessageStyle.Success
                };
            }
            else
            {
                ClientMessage = new ClientMessageOptions
                {
                    Title = Resources.GalleryServerPro.Validation_Summary_Text,
                    Message = invalidReason,
                    Style = MessageStyle.Error
                };
            }
        }
 public PurchaseDeliveryDetail(int deliveryId, PageMode pm) : base(pm)
 {
     InitializeComponent();
     ModuleName = "PurchaseDelivery";
     VM = new DeliveryVM(deliveryId);
     BindData();
 }
Ejemplo n.º 4
0
 public EditGoalStep(AppUser usr, PageMode pageMode, int goalID)
 {
     InitializeComponent();
     CurrentUser = usr;
     CurrentPageMode = pageMode;
     GoalID = goalID;
 }
Ejemplo n.º 5
0
 protected override void LoadBrudCrumbs(PageMode currentPageMode)
 {
     List<CrumbItem> crumbs = new List<CrumbItem>();
     crumbs.Add(new CrumbItem { DisplayText = "My Dashboard", URL = "/" });
     ViewBag.Crumbs = crumbs;
     setBreadCrumbData();
 }
Ejemplo n.º 6
0
 public void SetPageMode(PageMode mode)
 {
     if (Dictionary.ContainsKey(KEY_PAGE_MODE))
         Dictionary[KEY_PAGE_MODE] = "/" + mode;
     else
         Dictionary.Add(KEY_PAGE_MODE, "/" + mode);
 }
 public NewImportDeliveryDetail(int deliveryId, PageMode pageMode)
 {
     InitializeComponent();
     ModuleName = "PurchaseDelivery";
     DVM = new DeliveryVM(deliveryId);
     BindData();
 }
Ejemplo n.º 8
0
 public BankDetail(int bankId, PageMode pageMode)
     : base(pageMode, Properties.Resources.Bank)
 {
     InitializeComponent();
     ModuleName = "BankAccountSetting";
     VM = new BankDetailVM(bankId);
     BindData();
 }
Ejemplo n.º 9
0
        public RoleDetail(PageMode pageMode) : base(pageMode, Properties.Resources.Role)
        {
            InitializeComponent();
            ModuleName = "RoleSetting";
            VM = new RoleDetailVM();

            BindData();
        }
Ejemplo n.º 10
0
 public BankAccountDetail(PageMode pageMode, int accountId)
     : base(pageMode, Properties.Resources.BankAccount)
 {
     InitializeComponent();
     ModuleName = "BankAccountSetting";
     VM = new BankAccountDetailVM(accountId);
     BindData();
 }
Ejemplo n.º 11
0
        public LinkCommodity(PageMode pageMode, int userId) : base(pageMode)
        {
            InitializeComponent();
            ModuleName = "UserSetting";

            VM = new LinkCommodityVM(userId);
            BindData();
        }
 public CommodityTypeDetail(PageMode pageMode)
     : base(pageMode, Properties.Resources.CommodityType)
 {
     InitializeComponent();
     ModuleName = "CommoditySetting";
     VM = new CommodityTypeDetailVM();
     BindData();
 }
Ejemplo n.º 13
0
 protected ObjectBasePage(PageMode pageMode, string objectName)
     : base(pageMode)
 {
     PageName = objectName;
     var pmc = new PageModeConverter();
     ActionName = (string) pmc.Convert(PageMode, typeof (string), null, null);
     PageName +=  "-" + ActionName;
 }
Ejemplo n.º 14
0
 public PaymentMeanDetail(int paymentmenanId, PageMode pageMode)
     : base(pageMode, Properties.Resources.PaymentMean)
 {
     InitializeComponent();
     ModuleName = "DataDictSetting";
     VM = new PaymentMeanDetailVM(paymentmenanId);
     BindData();
 }
Ejemplo n.º 15
0
 public StorageFeeDetail(int id,PageMode pageMode, List<StorageFeeRule> allStorageFeeRules, List<StorageFeeRule> addStorageFeeRules, List<StorageFeeRule> updateStorageFeeRules)
     : base(pageMode, "仓储费更新")
 {
     InitializeComponent();
     ModuleName = "WarehouseSetting";
     SFVM = new StorageFeeDetailVM(id,allStorageFeeRules, addStorageFeeRules,updateStorageFeeRules);
     BindData();
 }
 public LMECarryPositionDetail(int id, PageMode pageMode)
     : base(pageMode)
 {
     InitializeComponent();
     ModuleName = "LMEPositionSetting";
     VM = new LMECarryPositionDetailVM(id);
     BindData();
 }
Ejemplo n.º 17
0
 public LogRegister(PageMode pageMode)
     : base(pageMode)
 {
     InitializeComponent();
     ModuleName = "LogRegistration";
     VM = new LogRegisterVM();
     BindData();
 }
Ejemplo n.º 18
0
        protected void btnCancel_Click(object sender, EventArgs e)
        {
            if (ViewMode == PageMode.Insert)
                BindTemplateNameDropDownList();

            CurrentUiTemplate = GetSelectedJQueryTemplate();
            BindUiTemplate();
            ViewMode = PageMode.Edit;
        }
Ejemplo n.º 19
0
        public PaymentUsageDetail(PageMode pageMode, int paymentusageId)
            : base(pageMode, Properties.Resources.PaymentUsage)
        {
            InitializeComponent();
            ModuleName = "DataDictSetting";

            VM = new PaymentUsageVM(paymentusageId);
            BindData();
        }
Ejemplo n.º 20
0
        public UserDetail(PageMode pageMode, int userId)
            : base(pageMode, Properties.Resources.User)
        {
            InitializeComponent();
            ModuleName = "UserSetting";

            VM = new UserDetailVM(userId);
            BindData();
        }
Ejemplo n.º 21
0
        protected void btnCancel_Click(object sender, EventArgs e)
        {
            if (ViewMode == PageMode.Insert)
                BindBrowserIdDropDownList();

            CurrentMediaTemplate = GetSelectedMediaTemplate();
            BindMediaTemplate();
            ViewMode = PageMode.Edit;
        }
Ejemplo n.º 22
0
        public RateDetail(PageMode pageMode, int rateId)
            : base(pageMode, Properties.Resources.ExchangeRate)
        {
            InitializeComponent();
            ModuleName = "CurrencyRateSetting";

            VM = new RateDetailVM(rateId);
            BindData();
        }
Ejemplo n.º 23
0
        public ModuleSetting(PageMode pageMode)
            : base(pageMode)
        {
            InitializeComponent();
            ModuleName = "ModuleSetting";
            _moduleSettingVM = new ModuleSettingVM();
            _moduleSettingVM.Load();

            BindData();
        }
Ejemplo n.º 24
0
        public RolePerms(int roleId, PageMode pageMode)
            : base(pageMode)
        {
            InitializeComponent();
            ModuleName = "RoleSetting";

            VM = new RolePermsVM(roleId);
            VM.Load();
            BindData();
        }
 public WarehouseOutLineDetail(int quotaId, PageMode pageMode, List<WarehouseOutLine> lines,
                               List<WarehouseInLine> inLines, List<WarehouseOutLine> addLines,
                               int internalCustomerID, int warehouseId)
     : base(pageMode, ResWarehouseOut.WarehouseOutLine)
 {
     InitializeComponent();
     ModuleName = "WarehouseOutHome";
     WVM = new WarehouseOutLineDetailVM(quotaId, lines, inLines, addLines, internalCustomerID, warehouseId);
     BindData();
 }
 public BusinessPartnerDetail(int id, PageMode pageMode)
     : base(pageMode, Properties.Resources.BP)
 {
     InitializeComponent();
     ModuleName = "BusinessPartnerSetting";
     VM = new BusinessPartnerDetailVM(id);
     pgBankList.OnNewPage += pgBankList_OnNewPage;
     pgBankList.Init(((BusinessPartnerDetailVM)VM).BankTotalCount, BankPerPage);
     BindData();
 }
Ejemplo n.º 27
0
 /// <summary>
 /// 分页
 /// </summary>
 /// <param name="helper"></param>
 /// <param name="id">分页id</param>
 /// <param name="currentPageIndex">当前页</param>
 /// <param name="pageSize">分页尺寸</param>
 /// <param name="recordCount">记录总数</param>
 /// <param name="htmlAttributes">分页头标签属性</param>
 /// <param name="className">分页样式</param>
 /// <param name="mode">分页模式</param>
 /// <returns></returns>
 public static string Pager(this HtmlHelper helper, string id, int currentPageIndex, int pageSize, int recordCount, object htmlAttributes, string className, PageMode mode)
 {
     TagBuilder builder = new TagBuilder("table");
     builder.IdAttributeDotReplacement = "_";
     builder.GenerateId(id);
     builder.AddCssClass(className);
     builder.MergeAttributes(new RouteValueDictionary(htmlAttributes));
     builder.InnerHtml = GetNormalPage(currentPageIndex, pageSize, recordCount, mode);
     return builder.ToString();
 }
Ejemplo n.º 28
0
 public SHFEPositionDetail(int id,PageMode pageMode): base(pageMode)
 {
     InitializeComponent();
     ModuleName = "SHFEPositionSetting";
     VM=new SHFEPositionAddVM(id);
     BindData();
     if (pageMode == PageMode.ViewMode)
     {
         IsEnabled = false;
     }
 }
 public CommodityTypeDetail(int id, PageMode pageMode)
     : base(pageMode, Properties.Resources.CommodityType)
 {
     InitializeComponent();
     if (id > 0 && pageMode == PageMode.EditMode) 
     {
         comboBox1.IsEnabled = false;
     }
     ModuleName = "CommoditySetting";
     VM = new CommodityTypeDetailVM(id);
     BindData();
 }
        public ShortContractDetail(TradeType tradeType, ContractType contractType, PageMode pageMode, string pageName)
            : base(pageMode, pageName)
        {
            InitializeComponent();
            ModuleName = ContractHomeVM.GetModuleNameByContractType(contractType);

            TradeType = tradeType;
            ContractType = contractType;
            VM = new ShortContractDetailVM(tradeType, contractType);
            InitPage();
            BindData();
        }
Ejemplo n.º 31
0
 /// <summary>
 /// 分页
 /// </summary>
 /// <param name="helper"></param>
 /// <param name="id">分页id</param>
 /// <param name="currentPageIndex">当前页</param>
 /// <param name="pageSize">分页尺寸</param>
 /// <param name="recordCount">记录总数</param>
 /// <param name="mode">分页模式</param>
 /// <returns></returns>
 public static string Pager(this HtmlHelper helper, string id, int currentPageIndex, int pageSize, int recordCount, PageMode mode)
 {
     return(Pager(helper, id, currentPageIndex, pageSize, recordCount, "pagerTableClass", mode));
 }
Ejemplo n.º 32
0
 /// <summary>
 /// 分页
 /// </summary>
 /// <param name="helper"></param>
 /// <param name="id">分页id</param>
 /// <param name="currentPageIndex">当前页</param>
 /// <param name="pageSize">分页尺寸</param>
 /// <param name="recordCount">记录总数</param>
 /// <param name="className">分页样式</param>
 /// <param name="mode">分页模式</param>
 /// <returns></returns>
 public static string Pager(this HtmlHelper helper, string id, int currentPageIndex, int pageSize, int recordCount, string className, PageMode mode)
 {
     return(Pager(helper, id, currentPageIndex, pageSize, recordCount, null, className, mode));
 }
Ejemplo n.º 33
0
        /// <summary>
        /// 获取普通分页
        /// </summary>
        /// <param name="currentPageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="recordCount"></param>
        /// <returns></returns>
        private static string GetNormalPage(int currentPageIndex, int pageSize, int recordCount, PageMode mode)
        {
            if (currentPageIndex <= 0)
            {
                currentPageIndex = 1;
            }

            int           pageCount = recordCount % pageSize == 0 ? recordCount / pageSize : recordCount / pageSize + 1;
            StringBuilder url       = new StringBuilder();

            url.Append(HttpContext.Current.Request.Url.AbsolutePath + "?page={0}");
            NameValueCollection collection = HttpContext.Current.Request.QueryString;

            string[] keys = collection.AllKeys;
            for (int i = 0; i < keys.Length; i++)
            {
                if (keys[i].ToLower() != "page")
                {
                    url.AppendFormat("&{0}={1}", keys[i], System.Web.HttpUtility.UrlEncode(collection[keys[i]]));
                }
            }

            StringBuilder sb = new StringBuilder();

            sb.Append("<tr><td>");
            sb.Append(@"<script language='javascript' language='javascript'>
                                    function goToSumbit(pageNo) {
                                        var pageno = parseInt(pageNo);
                                        if (pageno <= 0) { pageno = 1; }
                                        document.getElementById('hdPagerHelpToPageNo').value = pageno
                                        document.getElementById('SubmitPagerHelpToPageNo').click();

                                    }
                                </script>");
            sb.Append("<input type='hidden' name='hdPagerHelpToPageNo' id='hdPagerHelpToPageNo'/>");
            sb.Append("<input type='submit' name='SubmitPagerHelpToPageNo' id='SubmitPagerHelpToPageNo' style='display:none;'/>");

            sb.AppendFormat("总共{0}条记录,共{1}页&nbsp;&nbsp;", recordCount, pageCount);//当前第{2}页

            if (currentPageIndex == 1)
            {
                sb.Append("<a>首页</a>&nbsp;");
            }
            else
            {
                string url1 = string.Format(url.ToString(), 1);
                sb.Append("<span><a href='javascript:void(0)' onclick='return goToSumbit(1);'>首页</a></span>&nbsp;");
            }
            if (currentPageIndex > 1)
            {
                string url1 = string.Format(url.ToString(), currentPageIndex - 1);
                sb.AppendFormat("<span><a href='javascript:void(0)' onclick='return goToSumbit({0});'>上一页</a></span>&nbsp;", currentPageIndex - 1);
            }
            else
            {
                sb.Append("<a>上一页</a>&nbsp;");
            }
            if (mode == PageMode.Numeric)
            {
                sb.Append(GetNumericPage(currentPageIndex, pageSize, recordCount, pageCount, url.ToString()));
            }
            if (currentPageIndex < pageCount)
            {
                string url1 = string.Format(url.ToString(), currentPageIndex + 1);
                sb.AppendFormat("<span><a href='javascript:void(0)' onclick='return goToSumbit({0});'>下一页</a></span>&nbsp;", currentPageIndex + 1);
            }
            else
            {
                sb.Append("<a>下一页</a>&nbsp;");
            }

            if (currentPageIndex == pageCount || pageCount <= 0)
            {
                sb.Append("<a>末页</a>&nbsp;");
            }
            else
            {
                string url1 = string.Format(url.ToString(), pageCount);
                sb.AppendFormat("<span><a href='javascript:void(0)' onclick='return goToSumbit({0});'>末页</a></span>&nbsp;", pageCount);
            }

            sb.Append("</td></tr>");
            return(sb.ToString());
        }
Ejemplo n.º 34
0
        /// <summary>
        /// 分页
        /// </summary>
        /// <param name="helper"></param>
        /// <param name="id">分页id</param>
        /// <param name="currentPageIndex">当前页</param>
        /// <param name="pageSize">分页尺寸</param>
        /// <param name="recordCount">记录总数</param>
        /// <param name="htmlAttributes">分页头标签属性</param>
        /// <param name="className">分页样式</param>
        /// <param name="mode">分页模式</param>
        /// <returns></returns>
        public static string Pager(this HtmlHelper helper, string id, int currentPageIndex, int pageSize, int recordCount, object htmlAttributes, string className, PageMode mode)
        {
            TagBuilder builder = new TagBuilder("table");

            builder.IdAttributeDotReplacement = "_";
            builder.GenerateId(id);
            builder.AddCssClass(className);
            builder.MergeAttributes(new RouteValueDictionary(htmlAttributes));
            builder.InnerHtml = GetNormalPage(currentPageIndex, pageSize, recordCount, mode);
            return(builder.ToString());
        }
Ejemplo n.º 35
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DisplayProperties" /> class.
 /// </summary>
 /// <param name="Links">Link to the document.</param>
 /// <param name="CenterWindow">Gets or sets flag specifying whether position of the document&#39;s window will be centerd on the screen.</param>
 /// <param name="Direction">Gets or sets reading order of text: L2R (left to right) or R2L (right to left).</param>
 /// <param name="DisplayDocTitle">Gets or sets flag specifying whether document&#39;s window title bar should display document title.</param>
 /// <param name="HideMenuBar">Gets or sets flag specifying whether menu bar should be hidden when document is active.</param>
 /// <param name="HideToolBar">Gets or sets flag specifying whether toolbar should be hidden when document is active.</param>
 /// <param name="HideWindowUI">Gets or sets flag specifying whether user interface elements should be hidden when document is active.</param>
 /// <param name="NonFullScreenPageMode">Gets or sets page mode, specifying how to display the document on exiting full-screen mode.</param>
 /// <param name="PageLayout">Gets or sets page layout which shall be used when the document is opened.</param>
 /// <param name="PageMode">Gets or sets page mode, specifying how document should be displayed when opened.</param>
 public DisplayProperties(List <Link> Links = default(List <Link>), bool?CenterWindow = default(bool?), Direction Direction = default(Direction), bool?DisplayDocTitle = default(bool?), bool?HideMenuBar = default(bool?), bool?HideToolBar = default(bool?), bool?HideWindowUI = default(bool?), PageMode NonFullScreenPageMode = default(PageMode), PageLayout PageLayout = default(PageLayout), PageMode PageMode = default(PageMode))
 {
     this.Links                 = Links;
     this.CenterWindow          = CenterWindow;
     this.Direction             = Direction;
     this.DisplayDocTitle       = DisplayDocTitle;
     this.HideMenuBar           = HideMenuBar;
     this.HideToolBar           = HideToolBar;
     this.HideWindowUI          = HideWindowUI;
     this.NonFullScreenPageMode = NonFullScreenPageMode;
     this.PageLayout            = PageLayout;
     this.PageMode              = PageMode;
 }
Ejemplo n.º 36
0
 public virtual void PrepareViewBagsWithPrefixName(T Model, PageMode pageMode, string cutomePrefixname)
 {
     PrepareViewBagsWithPrefixName <T>(Model, pageMode, cutomePrefixname);
 }
Ejemplo n.º 37
0
        public void DoSetup()
        {
            string vmdir    = MainDir;
            string datadir  = MainDir;
            string modeldir = MainDir;
            string vmns     = MainNs + ".ViewModels";
            string datans   = MainNs;
            string modelns  = MainNs;

            if (ProjectType == ProjectTypeEnum.Single)
            {
                Directory.CreateDirectory($"{MainDir}\\Models");
                File.WriteAllText($"{MainDir}\\Models\\ReadMe.txt", "Put your models here");
                Directory.CreateDirectory($"{MainDir}\\ViewModels\\HomeVMs");
                vmdir = MainDir + "\\ViewModels";
            }
            else
            {
                Directory.CreateDirectory($"{MainDir}.ViewModel\\HomeVMs");
                Directory.CreateDirectory($"{MainDir}.Model");
                Directory.CreateDirectory($"{MainDir}.DataAccess");
                vmdir    = MainDir + ".ViewModel";
                datadir  = MainDir + ".DataAccess";
                modeldir = MainDir + ".Model";
                vmns     = MainNs + ".ViewModel";
                datans   = MainNs + ".DataAccess";
                modelns  = MainNs + ".Model";
                File.WriteAllText($"{modeldir}\\{modelns}.csproj", GetResource("Proj.txt"), Encoding.UTF8);
                File.WriteAllText($"{vmdir}\\{vmns}.csproj", GetResource("Proj.txt"), Encoding.UTF8);
                File.WriteAllText($"{datadir}\\{datans}.csproj", GetResource("Proj.txt"), Encoding.UTF8);
            }
            Directory.CreateDirectory($"{MainDir}\\Areas");
            Directory.CreateDirectory($"{MainDir}\\Controllers");
            Directory.CreateDirectory($"{MainDir}\\Views\\Home");
            Directory.CreateDirectory($"{MainDir}\\Views\\Login");
            Directory.CreateDirectory($"{MainDir}\\Views\\Shared");
            Directory.CreateDirectory($"{MainDir}\\wwwroot");

            File.WriteAllText($"{MainDir}\\appsettings.json", GetResource("Appsettings.txt")
                              .Replace("$cs$", CS ?? "")
                              .Replace("$dbtype$", DbType.ToString())
                              .Replace("$pagemode$", PageMode.ToString())
                              .Replace("$cookiepre$", CookiePre ?? "")
                              .Replace("$enablelog$", EnableLog.ToString().ToLower())
                              .Replace("$logexception$", LogExceptionOnly.ToString().ToLower())
                              .Replace("$rpp$", Rpp == null ? "" : Rpp.ToString())
                              .Replace("$filemode$", FileMode.ToString())
                              .Replace("$uploaddir$", UploadDir ?? ""), Encoding.UTF8
                              );
            File.WriteAllText($"{datadir}\\DataContext.cs", GetResource("DataContext.txt").Replace("$ns$", datans), Encoding.UTF8);
            File.WriteAllText($"{MainDir}\\Controllers\\HomeController.cs", GetResource("HomeController.txt", "Mvc").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
            File.WriteAllText($"{MainDir}\\Controllers\\LoginController.cs", GetResource("LoginController.txt", "Mvc").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
            File.WriteAllText($"{MainDir}\\Views\\_ViewStart.cshtml", GetResource("ViewStart.txt", "Mvc"), Encoding.UTF8);
            File.WriteAllText($"{MainDir}\\Views\\Home\\Index.cshtml", GetResource("home.Index.txt", "Mvc").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
            File.WriteAllText($"{MainDir}\\Views\\Login\\ChangePassword.cshtml", GetResource("home.ChangePassword.txt", "Mvc").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
            File.WriteAllText($"{MainDir}\\Views\\Home\\Header.cshtml", GetResource("home.Header.txt", "Mvc").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
            File.WriteAllText($"{MainDir}\\Views\\Login\\Login.cshtml", GetResource("home.Login.txt", "Mvc").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
            File.WriteAllText($"{MainDir}\\Views\\Home\\Menu.cshtml", GetResource("home.Menu.txt", "Mvc").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
            File.WriteAllText($"{MainDir}\\Views\\Home\\PIndex.cshtml", GetResource("home.PIndex.txt", "Mvc").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
            File.WriteAllText($"{MainDir}\\Views\\Home\\FrontPage.cshtml", GetResource("home.FrontPage.txt", "Mvc").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
            File.WriteAllText($"{vmdir}\\HomeVMs\\ChangePasswordVM.cs", GetResource("vms.ChangePasswordVM.txt").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
            File.WriteAllText($"{vmdir}\\HomeVMs\\IndexVM.cs", GetResource("vms.IndexVM.txt").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
            File.WriteAllText($"{vmdir}\\HomeVMs\\LoginVM.cs", GetResource("vms.LoginVM.txt").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);

            if (UI == UIEnum.LayUI)
            {
                File.WriteAllText($"{MainDir}\\Views\\Shared\\_Layout.cshtml", GetResource("layui.Layout.txt", "Mvc").Replace("$ns$", MainNs), Encoding.UTF8);
                File.WriteAllText($"{MainDir}\\Views\\Shared\\_PLayout.cshtml", GetResource("layui.PLayout.txt", "Mvc").Replace("$ns$", MainNs), Encoding.UTF8);
                File.WriteAllText($"{MainDir}\\Program.cs", GetResource("layui.Program.txt", "Mvc").Replace("$ns$", MainNs), Encoding.UTF8);
                File.WriteAllText($"{MainDir}\\Views\\_ViewImports.cshtml", GetResource("layui.ViewImports.txt", "Mvc"), Encoding.UTF8);
                File.WriteAllText($"{MainDir}\\Areas\\_ViewImports.cshtml", GetResource("layui.ViewImports.txt", "Mvc"), Encoding.UTF8);
                Assembly assembly = Assembly.GetExecutingAssembly();
                var      sr       = assembly.GetManifestResourceStream($"WalkingTec.Mvvm.Mvc.SetupFiles.Mvc.layui.layui.zip");
                System.IO.Compression.ZipArchive zip = new System.IO.Compression.ZipArchive(sr);
                foreach (var entry in zip.Entries)
                {
                    int index = entry.FullName.LastIndexOf("/");
                    if (index >= 0)
                    {
                        string dir = $"{MainDir}\\wwwroot\\{entry.FullName.Substring(0, index)}";
                        if (Directory.Exists(dir) == false)
                        {
                            Directory.CreateDirectory(dir);
                        }
                    }
                    if (entry.FullName.EndsWith("/") == false)
                    {
                        var f = File.OpenWrite($"{MainDir}\\wwwroot\\{entry.FullName}");
                        var z = entry.Open();
                        z.CopyTo(f);
                        f.Flush();
                        f.Dispose();
                        z.Dispose();
                    }
                }
                sr.Dispose();
            }
            if (ProjectType == ProjectTypeEnum.Single)
            {
                var proj = File.ReadAllText($"{MainDir}\\{MainNs}.csproj");
                if (proj.IndexOf("WalkingTec.Mvvm.TagHelpers.LayUI") < 0)
                {
                    proj = proj.Replace("</Project>", $@"
  <ItemGroup>
    <PackageReference Include=""WalkingTec.Mvvm.TagHelpers.LayUI"" Version=""{version}"" />
    <PackageReference Include=""WalkingTec.Mvvm.Mvc.Admin"" Version=""{version}"" />
  </ItemGroup >
</Project>
");
                    File.WriteAllText($"{MainDir}\\{MainNs}.csproj", proj, Encoding.UTF8);
                }
            }
            if (ProjectType == ProjectTypeEnum.Multi)
            {
                var proj = File.ReadAllText($"{MainDir}\\{MainNs}.csproj");
                if (proj.IndexOf("WalkingTec.Mvvm.TagHelpers.LayUI") < 0)
                {
                    proj = proj.Replace("</Project>", $@"
  <ItemGroup>
    <PackageReference Include=""WalkingTec.Mvvm.TagHelpers.LayUI"" Version=""{version}"" />
    <PackageReference Include=""WalkingTec.Mvvm.Mvc.Admin"" Version=""{version}"" />
    <ProjectReference Include=""..\{modelns}\{modelns}.csproj"" />
    <ProjectReference Include=""..\{datans}\{datans}.csproj"" />
    <ProjectReference Include=""..\{vmns}\{vmns}.csproj"" />
 </ItemGroup >
</Project>
");
                    File.WriteAllText($"{MainDir}\\{MainNs}.csproj", proj, Encoding.UTF8);
                }
                //修改modelproject
                var modelproj = File.ReadAllText($"{modeldir}\\{modelns}.csproj");
                if (modelproj.IndexOf("WalkingTec.Mvvm.Core") < 0)
                {
                    modelproj = modelproj.Replace("</Project>", $@"
  <ItemGroup>
    <PackageReference Include=""WalkingTec.Mvvm.Core"" Version=""{version}"" />
  </ItemGroup >
</Project>
");
                    File.WriteAllText($"{modeldir}\\{modelns}.csproj", modelproj, Encoding.UTF8);
                }
                //修改dataproject
                var dataproj = File.ReadAllText($"{datadir}\\{datans}.csproj");
                if (dataproj.IndexOf($"{modelns}.csproj") < 0)
                {
                    dataproj = dataproj.Replace("</Project>", $@"
  <ItemGroup>
    <ProjectReference Include=""..\{modelns}\{modelns}.csproj"" />
  </ItemGroup >
</Project>
");
                    File.WriteAllText($"{datadir}\\{datans}.csproj", dataproj, Encoding.UTF8);
                }
                //修改viewmodelproject
                var vmproj = File.ReadAllText($"{vmdir}\\{vmns}.csproj");
                if (vmproj.IndexOf($"{modelns}.csproj") < 0)
                {
                    vmproj = vmproj.Replace("</Project>", $@"
  <ItemGroup>
    <ProjectReference Include=""..\{modelns}\{modelns}.csproj"" />
  </ItemGroup >
</Project>
");
                    File.WriteAllText($"{vmdir}\\{vmns}.csproj", vmproj, Encoding.UTF8);
                }
                var solution = File.ReadAllText($"{Directory.GetParent(MainDir)}\\{MainNs}.sln");
                if (solution.IndexOf($"{modelns}.csproj") < 0)
                {
                    Guid g1 = Guid.NewGuid();
                    Guid g2 = Guid.NewGuid();
                    Guid g3 = Guid.NewGuid();
                    solution = solution.Replace("EndProject", $@"EndProject
Project(""{{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}}"") = ""{modelns}"", ""{modelns}\{modelns}.csproj"", ""{{{g1}}}""
EndProject
Project(""{{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}}"") = ""{datans}"", ""{datans}\{datans}.csproj"", ""{{{g2}}}""
EndProject
Project(""{{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}}"") = ""{vmns}"", ""{vmns}\{vmns}.csproj"", ""{{{g3}}}""
EndProject
");
                    solution = solution.Replace(".Release|Any CPU.Build.0 = Release|Any CPU", $@".Release|Any CPU.Build.0 = Release|Any CPU
		{{{g1}}}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{{{g1}}}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{{{g1}}}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{{{g1}}}.Release|Any CPU.Build.0 = Release|Any CPU
		{{{g2}}}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{{{g2}}}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{{{g2}}}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{{{g2}}}.Release|Any CPU.Build.0 = Release|Any CPU
		{{{g3}}}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{{{g3}}}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{{{g3}}}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{{{g3}}}.Release|Any CPU.Build.0 = Release|Any CPU"        );
                    File.WriteAllText($"{Directory.GetParent(MainDir)}\\{MainNs}.sln", solution, Encoding.UTF8);
                }
            }
            if (File.Exists($"{MainDir}\\Startup.cs"))
            {
                File.Delete($"{MainDir}\\Startup.cs");
            }
        }
Ejemplo n.º 38
0
 public virtual void PrepareViewBags(T Model, PageMode pageMode, ModifyBehavior modifyBehavior, PageMode controllerStatus)
 {
     PrepareViewBags <T>(Model, pageMode, modifyBehavior, controllerStatus);
 }
Ejemplo n.º 39
0
        public void DoSetup()
        {
            string vmdir    = MainDir;
            string datadir  = MainDir;
            string modeldir = MainDir;
            string testdir  = MainDir + ".Test";
            string vmns     = MainNs + ".ViewModels";
            string datans   = MainNs;
            string modelns  = MainNs;
            string testns   = MainNs + ".Test";

            Directory.CreateDirectory($"{MainDir}.Test");
            if (ProjectType == ProjectTypeEnum.Single)
            {
                Directory.CreateDirectory($"{MainDir}{Path.DirectorySeparatorChar}Models");
                File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}Models{Path.DirectorySeparatorChar}ReadMe.txt", "Put your models here");
                Directory.CreateDirectory($"{MainDir}{Path.DirectorySeparatorChar}ViewModels");
                if (UI == UIEnum.LayUI)
                {
                    Directory.CreateDirectory($"{MainDir}{Path.DirectorySeparatorChar}ViewModels{Path.DirectorySeparatorChar}HomeVMs");
                }
                vmdir = MainDir + $"{Path.DirectorySeparatorChar}ViewModels";
            }
            else
            {
                Directory.CreateDirectory($"{MainDir}.ViewModel");
                if (UI == UIEnum.LayUI)
                {
                    Directory.CreateDirectory($"{MainDir}.ViewModel{Path.DirectorySeparatorChar}HomeVMs");
                }
                Directory.CreateDirectory($"{MainDir}.Model");
                Directory.CreateDirectory($"{MainDir}.DataAccess");
                vmdir    = MainDir + ".ViewModel";
                datadir  = MainDir + ".DataAccess";
                modeldir = MainDir + ".Model";
                vmns     = MainNs + ".ViewModel";
                datans   = MainNs + ".DataAccess";
                modelns  = MainNs + ".Model";
                File.WriteAllText($"{modeldir}{Path.DirectorySeparatorChar}{modelns}.csproj", GetResource("Proj.txt"), Encoding.UTF8);
                File.WriteAllText($"{vmdir}{Path.DirectorySeparatorChar}{vmns}.csproj", GetResource("Proj.txt"), Encoding.UTF8);
                File.WriteAllText($"{datadir}{Path.DirectorySeparatorChar}{datans}.csproj", GetResource("Proj.txt"), Encoding.UTF8);
            }
            File.WriteAllText($"{testdir}{Path.DirectorySeparatorChar}{testns}.csproj", GetResource("TestProj.txt").Replace("$ns$", MainNs), Encoding.UTF8);
            File.WriteAllText($"{testdir}{Path.DirectorySeparatorChar}MockController.cs", GetResource("MockController.txt", "test").Replace("$ns$", testns).Replace("$datans$", datans), Encoding.UTF8);
            File.WriteAllText($"{testdir}{Path.DirectorySeparatorChar}MockHttpSession.cs", GetResource("MockHttpSession.txt", "test").Replace("$ns$", testns), Encoding.UTF8);
            Directory.CreateDirectory($"{MainDir}{Path.DirectorySeparatorChar}Areas");
            Directory.CreateDirectory($"{MainDir}{Path.DirectorySeparatorChar}Controllers");
            if (UI == UIEnum.LayUI)
            {
                File.WriteAllText($"{testdir}{Path.DirectorySeparatorChar}HomeControllerTest.cs", GetResource("HomeControllerTest.txt", "test").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
                File.WriteAllText($"{testdir}{Path.DirectorySeparatorChar}LoginControllerTest.cs", GetResource("LoginControllerTest.txt", "test").Replace("$ns$", MainNs).Replace("$vmns$", vmns).Replace("$datans$", datans), Encoding.UTF8);
                Directory.CreateDirectory($"{MainDir}{Path.DirectorySeparatorChar}Views{Path.DirectorySeparatorChar}Home");
                Directory.CreateDirectory($"{MainDir}{Path.DirectorySeparatorChar}Views{Path.DirectorySeparatorChar}Login");
                Directory.CreateDirectory($"{MainDir}{Path.DirectorySeparatorChar}Views{Path.DirectorySeparatorChar}Shared");
            }
            Directory.CreateDirectory($"{MainDir}{Path.DirectorySeparatorChar}wwwroot");

            var proj = File.ReadAllText($"{MainDir}{Path.DirectorySeparatorChar}{MainNs}.csproj");

            if (UI == UIEnum.LayUI)
            {
                proj = proj.Replace("</Project>", $@"
  <ItemGroup>
    <PackageReference Include=""WalkingTec.Mvvm.TagHelpers.LayUI"" Version=""{version}"" />
    <PackageReference Include=""WalkingTec.Mvvm.Mvc.Admin"" Version=""{version}"" />
    <PackageReference Include=""Swashbuckle.AspNetCore"" Version=""4.0.1"" />
 </ItemGroup>
</Project>
");
                proj = proj.Replace("</PropertyGroup>", $@"
    <CopyRefAssembliesToPublishDirectory>true</CopyRefAssembliesToPublishDirectory>
</PropertyGroup>
");
            }
            if (UI == UIEnum.React)
            {
                proj = proj.Replace("</Project>", $@"
  <ItemGroup>
    <PackageReference Include=""WalkingTec.Mvvm.TagHelpers.LayUI"" Version=""{version}"" />
    <PackageReference Include=""WalkingTec.Mvvm.Mvc.Admin"" Version=""{version}"" />
    <PackageReference Include=""Swashbuckle.AspNetCore"" Version=""4.0.1"" />
 </ItemGroup>
  <ItemGroup>
    <Content Remove=""$(SpaRoot)**"" />
    <None Include=""$(SpaRoot)**"" Exclude=""$(SpaRoot)node_modules\**;$(SpaRoot).awcache\**;$(SpaRoot).cache-loader\**"" />
  </ItemGroup>
  <Target Name=""DebugEnsureNodeEnv"" BeforeTargets=""Build"" Condition="" '$(Configuration)' == 'Debug' And !Exists('$(SpaRoot)node_modules') "">
    <Exec Command=""node --version"" ContinueOnError=""true"">
      <Output TaskParameter=""ExitCode"" PropertyName=""ErrorCode"" />
    </Exec>
    <Error Condition=""'$(ErrorCode)' != '0'"" Text=""Node.js is required to build and run this project. To continue, please install Node.js from https://nodejs.org/, and then restart your command prompt or IDE."" />
    <Message Importance=""high"" Text=""Restoring dependencies using 'npm'. This may take several minutes..."" />
    <Exec WorkingDirectory=""$(SpaRoot)"" Command=""npm install"" />
  </Target>
  <Target Name=""PublishRunWebpack"" AfterTargets=""ComputeFilesToPublish"">
    <Exec WorkingDirectory=""$(SpaRoot)"" Command=""npm install"" />
    <Exec WorkingDirectory=""$(SpaRoot)"" Command=""npm run build"" />
    <ItemGroup>
      <DistFiles Include=""$(SpaRoot)build\**"" />
      <ResolvedFileToPublish Include=""@(DistFiles->'%(FullPath)')"" Exclude=""@(ResolvedFileToPublish)"">
        <RelativePath>%(DistFiles.Identity)</RelativePath>
        <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
      </ResolvedFileToPublish>
    </ItemGroup>
  </Target>
</Project>
");
                proj = proj.Replace("</PropertyGroup>", $@"
    <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
    <TypeScriptToolsVersion>3.2</TypeScriptToolsVersion>
    <IsPackable>false</IsPackable>
    <SpaRoot>ClientApp\</SpaRoot>
    <DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
    <CopyRefAssembliesToPublishDirectory>true</CopyRefAssembliesToPublishDirectory>
</PropertyGroup>
");
            }

            if (ProjectType == ProjectTypeEnum.Multi)
            {
                proj = proj.Replace("</Project>", $@"
  <ItemGroup>
   <ProjectReference Include=""..\{modelns}\{modelns}.csproj"" />
    <ProjectReference Include=""..\{datans}\{datans}.csproj"" />
    <ProjectReference Include=""..\{vmns}\{vmns}.csproj"" />
 </ItemGroup >
</Project>
");
            }

            File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}{MainNs}.csproj", proj, Encoding.UTF8);
            if (ProjectType == ProjectTypeEnum.Multi)
            {
                //修改modelproject
                var modelproj = File.ReadAllText($"{modeldir}{Path.DirectorySeparatorChar}{modelns}.csproj");
                if (modelproj.IndexOf("WalkingTec.Mvvm.Core") < 0)
                {
                    modelproj = modelproj.Replace("</Project>", $@"
  <ItemGroup>
    <PackageReference Include=""WalkingTec.Mvvm.Core"" Version=""{version}"" />
  </ItemGroup >
</Project>
");
                    File.WriteAllText($"{modeldir}{Path.DirectorySeparatorChar}{modelns}.csproj", modelproj, Encoding.UTF8);
                }
                //修改dataproject
                var dataproj = File.ReadAllText($"{datadir}{Path.DirectorySeparatorChar}{datans}.csproj");
                if (dataproj.IndexOf($"{modelns}.csproj") < 0)
                {
                    dataproj = dataproj.Replace("</Project>", $@"
  <ItemGroup>
    <ProjectReference Include=""..\{modelns}\{modelns}.csproj"" />
  </ItemGroup >
</Project>
");
                    File.WriteAllText($"{datadir}{Path.DirectorySeparatorChar}{datans}.csproj", dataproj, Encoding.UTF8);
                }
                //修改viewmodelproject
                var vmproj = File.ReadAllText($"{vmdir}{Path.DirectorySeparatorChar}{vmns}.csproj");
                if (vmproj.IndexOf($"{modelns}.csproj") < 0)
                {
                    vmproj = vmproj.Replace("</Project>", $@"
  <ItemGroup>
    <ProjectReference Include=""..\{modelns}\{modelns}.csproj"" />
  </ItemGroup >
</Project>
");
                    File.WriteAllText($"{vmdir}{Path.DirectorySeparatorChar}{vmns}.csproj", vmproj, Encoding.UTF8);
                }
                var solution = File.ReadAllText($"{Directory.GetParent(MainDir)}{Path.DirectorySeparatorChar}{MainNs}.sln");
                if (solution.IndexOf($"{modelns}.csproj") < 0)
                {
                    Guid g1 = Guid.NewGuid();
                    Guid g2 = Guid.NewGuid();
                    Guid g3 = Guid.NewGuid();
                    solution = solution.Replace("EndProject", $@"EndProject
Project(""{{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}}"") = ""{modelns}"", ""{modelns}\{modelns}.csproj"", ""{{{g1}}}""
EndProject
Project(""{{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}}"") = ""{datans}"", ""{datans}\{datans}.csproj"", ""{{{g2}}}""
EndProject
Project(""{{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}}"") = ""{vmns}"", ""{vmns}\{vmns}.csproj"", ""{{{g3}}}""
EndProject
Project(""{{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}}"") = ""{testns}"", ""{testns}\{testns}.csproj"", ""{{{Guid.NewGuid()}}}""
EndProject
");
                    solution = solution.Replace(".Release|Any CPU.Build.0 = Release|Any CPU", $@".Release|Any CPU.Build.0 = Release|Any CPU
		{{{g1}}}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{{{g1}}}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{{{g1}}}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{{{g1}}}.Release|Any CPU.Build.0 = Release|Any CPU
		{{{g2}}}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{{{g2}}}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{{{g2}}}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{{{g2}}}.Release|Any CPU.Build.0 = Release|Any CPU
		{{{g3}}}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{{{g3}}}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{{{g3}}}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{{{g3}}}.Release|Any CPU.Build.0 = Release|Any CPU"        );
                    File.WriteAllText($"{Directory.GetParent(MainDir)}{Path.DirectorySeparatorChar}{MainNs}.sln", solution, Encoding.UTF8);
                }
            }

            else
            {
                var s1 = File.ReadAllText($"{Directory.GetParent(MainDir)}{Path.DirectorySeparatorChar}{MainNs}.sln");
                s1 = s1.Replace("EndProject", $@"EndProject
Project(""{{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}}"") = ""{testns}"", ""{testns}\{testns}.csproj"", ""{{{Guid.NewGuid()}}}""
EndProject
");
                File.WriteAllText($"{Directory.GetParent(MainDir)}{Path.DirectorySeparatorChar}{MainNs}.sln", s1, Encoding.UTF8);
            }

            File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}appsettings.json", GetResource("Appsettings.txt")
                              .Replace("$cs$", CS ?? "")
                              .Replace("$dbtype$", DbType.ToString())
                              .Replace("$pagemode$", PageMode.ToString())
                              .Replace("$cookiepre$", CookiePre ?? "")
                              .Replace("$enablelog$", EnableLog.ToString().ToLower())
                              .Replace("$logexception$", LogExceptionOnly.ToString().ToLower())
                              .Replace("$rpp$", Rpp == null ? "" : Rpp.ToString())
                              .Replace("$filemode$", FileMode.ToString())
                              .Replace("$uploaddir$", UploadDir ?? ""), Encoding.UTF8
                              );
            File.WriteAllText($"{datadir}{Path.DirectorySeparatorChar}DataContext.cs", GetResource("DataContext.txt").Replace("$ns$", datans), Encoding.UTF8);
            if (UI == UIEnum.LayUI)
            {
                File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}Controllers{Path.DirectorySeparatorChar}HomeController.cs", GetResource("HomeController.txt", "Mvc").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
                File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}Controllers{Path.DirectorySeparatorChar}LoginController.cs", GetResource("LoginController.txt", "Mvc").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
                File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}Views{Path.DirectorySeparatorChar}_ViewStart.cshtml", GetResource("ViewStart.txt", "Mvc"), Encoding.UTF8);
                File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}Views{Path.DirectorySeparatorChar}Home{Path.DirectorySeparatorChar}Index.cshtml", GetResource("home.Index.txt", "Mvc").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
                File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}Views{Path.DirectorySeparatorChar}Login{Path.DirectorySeparatorChar}ChangePassword.cshtml", GetResource("home.ChangePassword.txt", "Mvc").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
                File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}Views{Path.DirectorySeparatorChar}Home{Path.DirectorySeparatorChar}Layout.cshtml", GetResource("home.layout.txt", "Mvc").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
                File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}Views{Path.DirectorySeparatorChar}Login{Path.DirectorySeparatorChar}Login.cshtml", GetResource("home.Login.txt", "Mvc").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
                File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}Views{Path.DirectorySeparatorChar}Home{Path.DirectorySeparatorChar}PIndex.cshtml", GetResource("home.PIndex.txt", "Mvc").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
                File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}Views{Path.DirectorySeparatorChar}Home{Path.DirectorySeparatorChar}FrontPage.cshtml", GetResource("home.FrontPage.txt", "Mvc").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
                File.WriteAllText($"{vmdir}{Path.DirectorySeparatorChar}HomeVMs{Path.DirectorySeparatorChar}ChangePasswordVM.cs", GetResource("vms.ChangePasswordVM.txt").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
                File.WriteAllText($"{vmdir}{Path.DirectorySeparatorChar}HomeVMs{Path.DirectorySeparatorChar}IndexVM.cs", GetResource("vms.IndexVM.txt").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
                File.WriteAllText($"{vmdir}{Path.DirectorySeparatorChar}HomeVMs{Path.DirectorySeparatorChar}LoginVM.cs", GetResource("vms.LoginVM.txt").Replace("$ns$", MainNs).Replace("$vmns$", vmns), Encoding.UTF8);
                File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}Views{Path.DirectorySeparatorChar}Shared{Path.DirectorySeparatorChar}_Layout.cshtml", GetResource("layui.Layout.txt", "Mvc").Replace("$ns$", MainNs), Encoding.UTF8);
                File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}Program.cs", GetResource("layui.Program.txt", "Mvc").Replace("$ns$", MainNs), Encoding.UTF8);
                File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}Views{Path.DirectorySeparatorChar}_ViewImports.cshtml", GetResource("layui.ViewImports.txt", "Mvc"), Encoding.UTF8);
                File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}Areas{Path.DirectorySeparatorChar}_ViewImports.cshtml", GetResource("layui.ViewImports.txt", "Mvc"), Encoding.UTF8);
                UnZip("WalkingTec.Mvvm.Mvc.SetupFiles.Mvc.layui.layui.zip", $"{MainDir}{Path.DirectorySeparatorChar}wwwroot");
            }
            if (UI == UIEnum.React)
            {
                Directory.CreateDirectory($"{MainDir}{Path.DirectorySeparatorChar}ClientApp");
                UnZip("WalkingTec.Mvvm.Mvc.SetupFiles.Mvc.layui.layui.zip", $"{MainDir}{Path.DirectorySeparatorChar}wwwroot");
                UnZip("WalkingTec.Mvvm.Mvc.SetupFiles.Spa.React.ClientApp.zip", $"{MainDir}{Path.DirectorySeparatorChar}ClientApp");
                File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}Program.cs", GetResource("Program.txt", "Spa").Replace("$ns$", MainNs), Encoding.UTF8);
                var config = File.ReadAllText($"{MainDir}{Path.DirectorySeparatorChar}ClientApp{Path.DirectorySeparatorChar}src{Path.DirectorySeparatorChar}global.config.tsx");
                File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}ClientApp{Path.DirectorySeparatorChar}src{Path.DirectorySeparatorChar}global.config.tsx", config.Replace("title: \"WalkingTec MVVM\",", $"title: \"{MainNs}\","), Encoding.UTF8);
                File.WriteAllText($"{MainDir}{Path.DirectorySeparatorChar}ClientApp{Path.DirectorySeparatorChar}src{Path.DirectorySeparatorChar}setupProxy.js", $@"
const proxy = require('http-proxy-middleware');

module.exports = (app) => {{
    app.use(proxy('/api', {{
        target: 'http://localhost:{Port}/',
        changeOrigin: true,
        logLevel: ""debug""
    }}));
}};
", Encoding.UTF8);
            }

            if (File.Exists($"{MainDir}{Path.DirectorySeparatorChar}Startup.cs"))
            {
                File.Delete($"{MainDir}{Path.DirectorySeparatorChar}Startup.cs");
            }
        }
 /// <summary>
 /// 设置获取分页记录总数的模式
 /// 默认:COUNTOVER 方式
 /// </summary>
 /// <param name="pageMode"></param>
 public IPageAccess SetPageMode(PageMode pageMode)
 {
     ((ExcutParBag_Page)this.excutParBag)._pageMode = pageMode;
     return(this);
 }
Ejemplo n.º 41
0
 public void SetControllerStatus(PageMode pageMode, string cutomePrefixname = null)
 {
     SetControllerStatus <T>(pageMode, cutomePrefixname);
 }
Ejemplo n.º 42
0
 public IsPageMode(PageMode mode)
 {
     this.mode = mode;
 }
Ejemplo n.º 43
0
 public virtual void PageModeChanged(PageMode arg1)
 {
 }
Ejemplo n.º 44
0
 public virtual void PrepareViewBags(T Model, PageMode pageMode, ModifyBehavior modifyBehavior, PageMode controllerStatus, string cutomePrefixname)
 {
     PrepareViewBags <T>(Model, pageMode, modifyBehavior, controllerStatus, cutomePrefixname);
 }
Ejemplo n.º 45
0
 public virtual void PrepareViewBags(T Model, PageMode pageMode, ModifyBehavior modifyBehavior)
 {
     PrepareViewBags <T>(Model, pageMode, modifyBehavior);
 }
        /// <summary>
        /// ファイルから書籍情報を取得します
        /// </summary>
        /// <param name="outputPathRoot"></param>
        /// <param name="filePath"></param>
        /// <param name="mode"></param>
        /// <param name="pageCount"></param>
        /// <param name="encodingMode"></param>
        /// <returns></returns>
        public BookInfo GetBookInfo(string outputPathRoot, string filePath, PageMode mode, int pageCount, ReadFileEncodingType encodingMode)
        {
            var extractAndInfoGetService = GetExtractLogicByFile(filePath);

            return(extractAndInfoGetService.GetBookInfo(outputPathRoot, filePath, mode, pageCount, encodingMode));
        }
Ejemplo n.º 47
0
 public virtual void PrepareViewBags(T Model, PageMode pageMode, string culture, string cutomePrefixname)
 {
     PrepareViewBags <T>(Model, pageMode, culture, cutomePrefixname);
 }
Ejemplo n.º 48
0
 public virtual void PrepareViewBags(T Model, PageMode pageMode, PageMode controllerStatus)
 {
     PrepareViewBags <T>(Model, pageMode, controllerStatus);
 }
Ejemplo n.º 49
0
 public virtual void PrepareViewBags(T Model, PageMode pageMode)
 {
     PrepareViewBags <T>(Model, pageMode);
 }
Ejemplo n.º 50
0
 public UIAttribute SetMode(PageMode mode)
 {
     this.Mode = mode;
     return(this);
 }
Ejemplo n.º 51
0
        /// <summary>
        /// 获取普通分页
        /// </summary>
        /// <param name="currentPageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="recordCount"></param>
        /// <returns></returns>
        private static string GetNormalPage(int currentPageIndex, int pageSize, int recordCount, PageMode mode, string path = "")
        {
            int           pageCount = (recordCount % pageSize == 0 ? recordCount / pageSize : recordCount / pageSize + 1);
            StringBuilder url       = new StringBuilder();

            if (!string.IsNullOrEmpty(path))
            {
                url.Append(path + "?pageindex={0}");
            }
            else
            {
                url.Append(HttpContext.Current.Request.Url.AbsolutePath + "?pageindex={0}");
            }

            NameValueCollection collection = (HttpContext.Current.Request.QueryString);

            string[] keys = collection.AllKeys;
            for (int i = 0; i < keys.Length; i++)
            {
                if (keys[i].ToLower() != "pageindex")
                {
                    var urls = (string.Format("&{0}={1}", keys[i], HttpUtility.UrlEncode(collection[keys[i]])));
                    url.Append(urls);
                }
            }
            StringBuilder sb = new StringBuilder();

            sb.Append("<tr><td>");
            sb.AppendFormat("总共{0}条记录,共{1}页,当前第{2}页&nbsp;&nbsp;", recordCount, pageCount, currentPageIndex);
            if (currentPageIndex == 1)
            {
                sb.Append("<span>首页</span>&nbsp;");
            }
            else
            {
                string url1 = string.Format(url.ToString(), 1);
                sb.AppendFormat("<span><a href={0}>首页</a></span>&nbsp;", (url1));
            }
            if (currentPageIndex > 1)
            {
                string url1 = string.Format(url.ToString(), currentPageIndex - 1);
                sb.AppendFormat("<span><a href={0}>上一页</a></span>&nbsp;", (url1));
            }
            else
            {
                sb.Append("<span>上一页</span>&nbsp;");
            }
            if (mode == PageMode.Numeric)
            {
                sb.Append(GetNumericPage(currentPageIndex, pageSize, recordCount, pageCount, (url.ToString())));
            }
            if (currentPageIndex < pageCount)
            {
                string url1 = string.Format(url.ToString(), currentPageIndex + 1);
                sb.AppendFormat("<span><a href={0}>下一页</a></span>&nbsp;", (url1));
            }
            else
            {
                sb.Append("<span>下一页</span>&nbsp;");
            }

            if (currentPageIndex == pageCount)
            {
                sb.Append("<span>末页</span>&nbsp;");
            }
            else if (currentPageIndex == 1 && recordCount == 0)
            {
                sb.Append("<span>末页</span>&nbsp;");
            }
            else
            {
                string url1 = string.Format(url.ToString(), pageCount);
                sb.AppendFormat("<span><a href={0}>末页</a></span>&nbsp;", (url1));
            }
            return(sb.ToString());
        }
Ejemplo n.º 52
0
 public void SetPageMode(PageMode pageMode, string cutomePrefixname = null)
 {
     SetPageMode <T>(pageMode, cutomePrefixname);
 }
Ejemplo n.º 53
0
 public static void ChangePageMode(PageMode pageMode)
 {
     HttpContext.Current.Response.Cookies.Add(new HttpCookie(Constants.PageModeCookieName, pageMode.ToString()));
     HttpContext.Current.Items[typeof(PageMode)] = pageMode;
 }
Ejemplo n.º 54
0
        protected override void OnInit(EventArgs e)
        {
            FormMode formMode = FormMode.Container;
            PageMode pageMode = PageMode.Render;

            // local variable
            Webpage webpage = this.Webpage;

            if ((Request.QueryString["pagemode"] + "").ToLower() == "edit")
            {
                pageMode = PageMode.Edit;
            }
            //else if (Request.QueryString["pagemode"] + "" == "newpage")
            //	pageMode = PageMode.NewPage;


            bool userHasPermissions = GetUserPermissions();

            if (!userHasPermissions)
            {
                pageMode = PageMode.Render;
            }


            // get and clear place holders
            ContentPlaceHolders = FindControls <ContentPlaceHolder>(this.Body);

            if (ContentPlaceHolders.Count == 0)
            {
                throw new Exception("The masterpage '{0}' has no <asp:Content runat=\"Server\" /> controls");
            }

            ContentPlaceHolders.ForEach(p => p.Controls.Clear());

            // update meta data
            this.Title           = webpage.Title + ((!webpage.IsSiteRoot) ? PurpleSettings.PageSuffix : string.Empty);
            this.MetaDescription = webpage.MetaDescription;
            this.MetaKeywords    = webpage.MetaKeywords;

            if (userHasPermissions)
            {
                HtmlLink adminStylesLink = new HtmlLink()
                {
                    Href = PurpleSettings.CmsPath + "assets/admincontrols/admin.css"
                };
                adminStylesLink.Attributes.Add("rel", "stylesheet");
                this.Header.Controls.Add(adminStylesLink);
            }


            if (pageMode == PageMode.Render)
            {
                // add the admin controls first so the form is already there
                if (userHasPermissions)
                {
                    AddFormToBody();

                    // add admin controls
                    AdminControl = LoadControl(PurpleSettings.CmsPath + "assets/admincontrols/adminpage.ascx");
                    FindAdminControls();

                    // set master selector
                    PopulateMasterPageList();

                    webpageAddButton.Click += new EventHandler(PurplePageAddButton_Click);

                    // fill in the details
                    webpageFilenamePrefix.Text = (!webpage.IsSiteRoot) ? webpage.Url + "/" : "";

                    // versions
                    webpageVersionsRepeater.DataSource = Webpages.GetWebpageRevision(webpage.WebpageID);
                    webpageVersionsRepeater.DataBind();

                    _form.Controls.Add(AdminControl);
                }

                // add common header to first control if needed
                string commonHeader = webpage.CommonAreaHeader;
                if (string.IsNullOrWhiteSpace(commonHeader) && !webpage.IgnoreParentHeader)
                {
                    // go back until the parent is null or we find a
                    Webpage parent = webpage.Parent;
                    do
                    {
                        if (!string.IsNullOrWhiteSpace(parent.CommonAreaHeader))
                        {
                            commonHeader = parent.CommonAreaHeader;
                            break;
                        }


                        parent = parent.Parent;
                    } while (parent != null && !parent.IsSiteRoot);
                }
                // add it if it exists
                if (!String.IsNullOrWhiteSpace(commonHeader))
                {
                    ContentPlaceHolders[0].Controls.Add(new LiteralControl(commonHeader));
                }


                // go through the webpage areas
                foreach (WebpageArea area in webpage.Areas)
                {
                    // get the right placeholder
                    ContentPlaceHolder placeholder = ContentPlaceHolders.Find(c => c.ID == area.ContentPlaceHolderID);

                    // use default
                    if (placeholder == null)
                    {
                        placeholder = ContentPlaceHolders[0];
                    }


                    // build control/HTML parts
                    string content = area.ContentHtml;

                    // fix extra paragraph tags for controls
                    content = _controlFixRegex.Replace(content, "[control:${1}]");

                    // override with single control
                    if (!String.IsNullOrWhiteSpace(area.ControlName))
                    {
                        content = "[control:" + area.ControlName + "]";
                    }


                    // search for controls, load them and create them
                    int             currentPosition = 0;
                    MatchCollection controlMatches  = _controlRegex.Matches(content);

                    if (controlMatches.Count == 0)
                    {
                        // Plain HTML
                        placeholder.Controls.Add(new LiteralControl(area.ContentHtml));
                    }
                    else
                    {
                        foreach (Match controlMatch in controlMatches)
                        {
                            // Add literal for content before custom tag should it exist.
                            if (controlMatch.Index > currentPosition)
                            {
                                placeholder.Controls.Add(new LiteralControl(content.Substring(currentPosition, controlMatch.Index - currentPosition)));
                            }

                            // Now lets add our user control.
                            try
                            {
                                string  all         = controlMatch.Groups[1].Value.Trim();
                                Control usercontrol = null;

                                if (!all.EndsWith(".ascx", StringComparison.OrdinalIgnoreCase))
                                {
                                    int index = all.IndexOf(".ascx", StringComparison.OrdinalIgnoreCase) + 5;
                                    usercontrol = LoadControl("~/cms/content/controls/" + all.Substring(0, index));

                                    string   parameters      = Server.HtmlDecode(all.Substring(index));
                                    Type     type            = usercontrol.GetType();
                                    string[] paramCollection = parameters.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);

                                    foreach (string param in paramCollection)
                                    {
                                        string name  = param.Split('=')[0].Trim();
                                        string value = param.Split('=')[1].Trim();
                                        System.Reflection.PropertyInfo property = type.GetProperty(name);
                                        property.SetValue(usercontrol, Convert.ChangeType(value, property.PropertyType, CultureInfo.InvariantCulture), null);
                                    }
                                }
                                else
                                {
                                    usercontrol = LoadControl("~/cms/content/controls/" + all);
                                }

                                placeholder.Controls.Add(usercontrol);

                                // Now we will update our position.
                                //currentPosition = controlMatch.Index + controlMatch.Groups[0].Length;
                            }
                            catch (Exception controlLoadException)
                            {
                                // Whoopss, can't load that control so lets output something that tells the developer that theres a problem.
                                placeholder.Controls.Add(new LiteralControl("ERROR - UNABLE TO LOAD CONTROL : " + "~/cms/content/controls/" + controlMatch.Groups[1].Value + "<br />" + controlLoadException.ToString()));
                            }

                            currentPosition = controlMatch.Index + controlMatch.Groups[0].Length;
                        }

                        // final text

                        // Add literal for content before custom tag should it exist.
                        if (content.Length > currentPosition)
                        {
                            placeholder.Controls.Add(new LiteralControl(content.Substring(currentPosition)));
                        }



                        // check for form needs
                        bool requiresForm = CheckRequiresForm(placeholder);;
                        if (requiresForm)
                        {
                            if (formMode == FormMode.Container)
                            {
                                // transfer controls to form
                                System.Web.UI.HtmlControls.HtmlForm form = new System.Web.UI.HtmlControls.HtmlForm();
                                while (placeholder.HasControls())
                                {
                                    form.Controls.Add(placeholder.Controls[0]);
                                }

                                // add form
                                placeholder.Controls.Add(form);
                            }
                            else if (formMode == FormMode.WholePage)
                            {
                                AddFormToBody();
                            }
                        }
                    }



                    #region old rendercode

                    /*
                     *                  if (!String.IsNullOrWhiteSpace(area.ControlName))
                     *                  {
                     *
                     *                          // find the ASCX file
                     *                          string controlVPath = PurpleSettings.CmsPath + "/content/controls/" + area.ControlName;
                     *                          string controlPath = Server.MapPath(controlVPath);
                     *
                     *                          if (File.Exists(controlPath))
                     *                          {
                     *                                  Control control = LoadControl(controlVPath);
                     *                                  bool requiresForm = CheckRequiresForm( control); ;
                     *                                  if (requiresForm)
                     *                                  {
                     *                                          if (formMode == FormMode.Container)
                     *                                          {
                     *                                                  System.Web.UI.HtmlControls.HtmlForm form = new System.Web.UI.HtmlControls.HtmlForm();
                     *                                                  placeholder.Controls.Add(form);
                     *                                                  form.Controls.Add(control);
                     *                                          }
                     *                                          else if (formMode == FormMode.WholePage)
                     *                                          {
                     *                                                  AddFormToBody();
                     *                                          }
                     *                                  }
                     *                                  else
                     *                                  {
                     *                                          placeholder.Controls.Add(control);
                     *                                  }
                     *                          }
                     *                          else
                     *                          {
                     *                                  placeholder.Controls.Add(new LiteralControl("<p>No control at :" + controlVPath + "</p>"));
                     *                          }
                     *
                     *                  }
                     *                  else
                     *                  {
                     *
                     *
                     *
                     *  // search for controls, load them and create them
                     *  string content = area.ContentHtml;
                     *  int currentPosition = 0;
                     *  MatchCollection controlMatches = _controlRegex.Matches(content);
                     *
                     *  if (controlMatches.Count == 0)
                     *  {
                     *      // old HTML only code
                     *      placeholder.Controls.Add(new LiteralControl(area.ContentHtml));
                     *  }
                     *  else
                     *  {
                     *
                     *      foreach (Match controlMatch in controlMatches)
                     *      {
                     *          // Add literal for content before custom tag should it exist.
                     *          if (controlMatch.Index > currentPosition)
                     *          {
                     *              placeholder.Controls.Add(new LiteralControl(content.Substring(currentPosition, controlMatch.Index - currentPosition)));
                     *          }
                     *
                     *          // Now lets add our user control.
                     *          try
                     *          {
                     *              string all = controlMatch.Groups[1].Value.Trim();
                     *              Control usercontrol = null;
                     *
                     *              if (!all.EndsWith(".ascx", StringComparison.OrdinalIgnoreCase))
                     *              {
                     *                  int index = all.IndexOf(".ascx", StringComparison.OrdinalIgnoreCase) + 5;
                     *                  usercontrol = LoadControl("~/cms/content/controls/" + all.Substring(0, index));
                     *
                     *                  string parameters = Server.HtmlDecode(all.Substring(index));
                     *                  Type type = usercontrol.GetType();
                     *                  string[] paramCollection = parameters.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                     *
                     *                  foreach (string param in paramCollection)
                     *                  {
                     *                      string name = param.Split('=')[0].Trim();
                     *                      string value = param.Split('=')[1].Trim();
                     *                      System.Reflection.PropertyInfo property = type.GetProperty(name);
                     *                      property.SetValue(usercontrol, Convert.ChangeType(value, property.PropertyType, CultureInfo.InvariantCulture), null);
                     *                  }
                     *              }
                     *              else
                     *              {
                     *                  usercontrol = LoadControl("~/cms/content/controls/" + all);
                     *              }
                     *
                     *              placeholder.Controls.Add(usercontrol);
                     *
                     *              // Now we will update our position.
                     *              //currentPosition = myMatch.Index + myMatch.Groups[0].Length;
                     *          }
                     *          catch (Exception controlLoadException)
                     *          {
                     *              // Whoopss, can't load that control so lets output something that tells the developer that theres a problem.
                     *              placeholder.Controls.Add(new LiteralControl("ERROR - UNABLE TO LOAD CONTROL : " + "~/cms/content/controls/" + controlMatch.Groups[1].Value + "<br />" + controlLoadException.ToString()));
                     *          }
                     *
                     *          currentPosition = controlMatch.Index + controlMatch.Groups[0].Length;
                     *      }
                     *
                     *
                     *      // check for form needs
                     *      bool requiresForm = CheckRequiresForm(placeholder); ;
                     *      if (requiresForm)
                     *      {
                     *          if (formMode == FormMode.Container)
                     *          {
                     *              // transfer controls to form
                     *              System.Web.UI.HtmlControls.HtmlForm form = new System.Web.UI.HtmlControls.HtmlForm();
                     *              while (placeholder.HasControls())
                     *              {
                     *                  form.Controls.Add(placeholder.Controls[0]);
                     *              }
                     *
                     *              // add form
                     *              placeholder.Controls.Add(form);
                     *
                     *          }
                     *          else if (formMode == FormMode.WholePage)
                     *          {
                     *              AddFormToBody();
                     *          }
                     *      }
                     *  }
                     *
                     * }
                     */
                    #endregion
                }
            }
            else if (pageMode == PageMode.Edit)
            {
                // just in case
                AddFormToBody();

                // main edit control
                AdminControl = LoadControl(PurpleSettings.CmsPath + "assets/admincontrols/editpage.ascx");
                _form.Controls.Add(AdminControl);

                // attach all the controls
                FindAdminControls();

                // special cases
                if (webpage.IsSiteRoot)
                {
                    webpageFilename.Enabled = false;
                    webpageUrl.Enabled      = false;
                }


                // main attributes
                webpageFilename.Text        = webpage.Filename;
                webpagePageTitle.Text       = webpage.Title;
                webpageMenuTitle.Text       = webpage.MenuTitle;
                webpageMetaDescription.Text = webpage.MetaDescription;
                webpageMetaKeywords.Text    = webpage.MetaKeywords;
                webpageFilenamePrefix.Text  = (!webpage.IsSiteRoot && !webpage.Parent.IsSiteRoot) ? webpage.Parent.Url + "/" : "";
                webpageUrl.Text             = webpage.Url;
                webpageForceSsl.Checked     = webpage.ForceSsl;
                webpageShowInMenu.Checked   = webpage.ShowInMenu;
                webpageSortOrder.Text       = webpage.SortOrder.ToString();

                webpageCommonAreaHeader.Text      = webpage.CommonAreaHeader;
                webpageContentExpirationDate.Text = webpage.ContentExpirationDate.ToString();
                webpageIgnoreParentHeader.Checked = webpage.IgnoreParentHeader;

                // menu type enum



                // master pages
                PopulateMasterPageList();

                // permissions
                string[] allEditors = System.Web.Security.Roles.GetUsersInRole(PurpleSettings.RoleEditor);
                webpageEditors.DataSource = allEditors;
                webpageEditors.DataBind();

                List <string> pageEditors = webpage.Editors.Split(new char[] { ',' }).ToList <String>();
                foreach (ListItem li in webpageEditors.Items)
                {
                    if (pageEditors.Contains(li.Value))
                    {
                        li.Selected = true;
                    }
                }


                // attach save event
                webpageSaveButton.Click += new EventHandler(PurplePageSaveButton_Click);


                // WEBPAGE AREAS


                // list of control folders
                string        controlBase    = Server.MapPath(PurpleSettings.CmsPath + "content/controls/");
                List <string> controlFolders = new List <string>();
                UtilityMethods.FindFoldersRecursive(controlFolders, controlBase);

                // list of controls
                List <string> availableControls = new List <string>();
                UtilityMethods.FindFilesRecursive(availableControls, "*.ascx", controlBase, true);


                // go through the webpage areas
                foreach (WebpageArea area in webpage.Areas)
                {
                    // get the right placeholder
                    ContentPlaceHolder placeholder = ContentPlaceHolders.Find(c => c.ID == area.ContentPlaceHolderID);

                    // use default
                    if (placeholder == null)
                    {
                        placeholder = ContentPlaceHolders[0];
                    }


                    Control areaControl = LoadControl(PurpleSettings.CmsPath + "assets/admincontrols/editarea.ascx");

                    // grab the html area
                    TextBox htmlContent = areaControl.FindControl("HtmlContent") as TextBox;
                    htmlContent.Text = area.ContentHtml;


                    // fill in the *.ascx controls
                    DropDownList controlName = areaControl.FindControl("ControlName") as DropDownList;
                    controlName.DataSource = availableControls;
                    controlName.DataBind();
                    controlName.Items.Insert(0, new ListItem("-- No Control (use HTML) --", ""));

                    if (!String.IsNullOrWhiteSpace(area.ControlName) && controlName.Items.FindByValue(area.ControlName.Replace(".ascx", "")) != null)
                    {
                        controlName.Items.FindByValue(area.ControlName.Replace(".ascx", "")).Selected = true;
                    }

                    // fill in the upload folders
                    DropDownList controlUploadFolder = areaControl.FindControl("ControlUploadFolder") as DropDownList;
                    controlUploadFolder.DataSource = controlFolders;
                    controlUploadFolder.DataBind();
                    controlUploadFolder.Items.Insert(0, new ListItem("-- Root Folder --", ""));

                    // attach event to the upload button
                    (areaControl.FindControl("ControlUploadButton") as Button).Click += new EventHandler(ControlUploadButton_Click);


                    // add this control
                    placeholder.Controls.Add(areaControl);
                }
            }

            base.OnInit(e);
        }
Ejemplo n.º 55
0
        public virtual ActionResult ChangePageMode(PageMode pageMode)
        {
            PageHelper.ChangePageMode(pageMode);

            return(null);
        }
Ejemplo n.º 56
0
        public static List <NavigationMenuItemModel> Flatten(NavigationMenuItemModel root, List <NavigationMenuItemModel> items, int level, bool addNewPagesAccess, PageMode pageMode)
        {
            var flattened = new List <NavigationMenuItemModel> {
            };

            var children = items.Where(item => item.Page.ParentPageId != null && item.Page.ParentPageId == root.Page.Id).ToList();

            foreach (var child in children)
            {
                child.Children = Flatten(child, items, level + 1, addNewPagesAccess, pageMode);
                flattened.Add(child);
            }

            if (level <= 3 && addNewPagesAccess && pageMode == PageMode.Edit)
            {
                flattened.Add(new NavigationMenuItemModel {
                    Parent = root, PageMode = pageMode
                });
            }

            return(flattened);
        }
Ejemplo n.º 57
0
        public static ClientCommand ShowTestingModalDialog(ID pageContextItemId, Language language, PageMode pageMode)
        {
            if (pageContextItemId.IsNull)
            {
                throw new ArgumentNullException(nameof(pageContextItemId));
            }

            if (language == null)
            {
                throw new ArgumentNullException(nameof(language));
            }

            if (pageMode == PageMode.None)
            {
                throw new ArgumentException(nameof(pageMode));
            }

            var urlString = new UrlString(UIUtil.GetUri(SitecoreCommandsConstants.TestPageControl));

            urlString.Append(SitecoreCommandsConstants.PageIdArgumentKey, pageContextItemId.ToString());
            urlString.Append(SitecoreCommandsConstants.PageLangArgumentKey, language.ToString());
            urlString.Append(SitecoreCommandsConstants.PageModeArgumentKey, pageMode.ToString());
            urlString.Append(SitecoreCommandsConstants.CypressReportUrlArgumentKey, HttpUtility.UrlEncode(CypressSettings.ReportUrl));

            var clientCommand = SheerResponse.ShowModalDialog(urlString.ToString(), "800px", "800px");

            clientCommand.Load += new EventHandler(ShowLoadingDialog);

            return(clientCommand);
        }