public ActionResult Setting(SitesModels item, string[] domains, string webType, SiteMailSettingModel mailSetting) { ViewBag.SiteID = item.Id; if (!Utility.CheckIsLogin()) { Response.Redirect(Url.Action("Login", "Home")); } AppendViewBags(); ViewBag.Langs = WorkV3.Models.DataAccess.SiteLangMenuDAO.GetDatas(item.Id); ViewBag.UploadUrl = WorkV3.Golbal.UpdFileInfo.GetVPathBySiteID(item.Id, "Header"); if (webType == "Indep") { item.ParentID = (long?)null; } if (!string.IsNullOrEmpty(item.Logo)) { // 新上傳的圖片 HttpPostedFileBase postedFile = Request.Files["fLogo"]; string postedFileBase64 = Request.Form["fLogoBase64"]; string postedFileBase64_Resize = Request.Form["fLogoBase64_Resize"]; if (!string.IsNullOrEmpty(postedFileBase64)) { string saveName = WorkV3.Golbal.UpdFileInfo.SaveFilesBySiteID(postedFile, item.Id, "Header", postedFileBase64, postedFileBase64_Resize); item.Logo = saveName; } else { ImageModel imgModel = Newtonsoft.Json.JsonConvert.DeserializeObject <ImageModel>(item.Logo); if (!string.IsNullOrEmpty(imgModel.Img)) { item.Logo = System.IO.Path.GetFileName(imgModel.Img); } else { if (postedFile == null || postedFile.ContentLength == 0) { item.Logo = ""; } else { string saveName = WorkV3.Golbal.UpdFileInfo.SaveFilesBySiteID(postedFile, item.Id, "Header", postedFileBase64, postedFileBase64_Resize); item.Logo = saveName; } } } } if (!string.IsNullOrEmpty(item.Favicon)) { // 新上傳的圖片 HttpPostedFileBase postedFile = Request.Files["fFavicon"]; string postedFileBase64 = Request.Form["fFaviconBase64"]; string postedFileBase64_Resize = Request.Form["fFaviconBase64_Resize"]; if (!string.IsNullOrEmpty(postedFileBase64)) { string saveName = WorkV3.Golbal.UpdFileInfo.SaveFilesBySiteID(postedFile, item.Id, "Header", postedFileBase64, postedFileBase64_Resize); item.Favicon = saveName; } else { ImageModel imgModel = Newtonsoft.Json.JsonConvert.DeserializeObject <ImageModel>(item.Favicon); if (!string.IsNullOrEmpty(imgModel.Img)) { item.Favicon = System.IO.Path.GetFileName(imgModel.Img); } else { if (postedFile == null || postedFile.ContentLength == 0) { item.Favicon = ""; } else { string saveName = WorkV3.Golbal.UpdFileInfo.SaveFilesBySiteID(postedFile, item.Id, "Header", postedFileBase64, postedFileBase64_Resize); item.Favicon = saveName; } } } } if (!string.IsNullOrEmpty(item.Logoshrink)) { // 新上傳的圖片 HttpPostedFileBase postedFile = Request.Files["fLogoshrink"]; string postedFileBase64 = Request.Form["fLogoshrinkBase64"]; string postedFileBase64_Resize = Request.Form["fLogoshrinkBase64_Resize"]; if (!string.IsNullOrEmpty(postedFileBase64)) { string saveName = WorkV3.Golbal.UpdFileInfo.SaveFilesBySiteID(postedFile, item.Id, "Header", postedFileBase64, postedFileBase64_Resize); item.Logoshrink = saveName; } else { ImageModel imgModel = Newtonsoft.Json.JsonConvert.DeserializeObject <ImageModel>(item.Logoshrink); if (!string.IsNullOrEmpty(imgModel.Img)) { item.Logoshrink = System.IO.Path.GetFileName(imgModel.Img); } else { if (!string.IsNullOrEmpty(imgModel.Img)) { item.Logoshrink = System.IO.Path.GetFileName(imgModel.Img); } else { if (postedFile == null || postedFile.ContentLength == 0) { item.Logoshrink = ""; } else { string saveName = WorkV3.Golbal.UpdFileInfo.SaveFilesBySiteID(postedFile, item.Id, "Header", postedFileBase64, postedFileBase64_Resize); item.Logoshrink = saveName; } } } } } if (!string.IsNullOrEmpty(item.LogoMobile)) { // 新上傳的圖片 HttpPostedFileBase postedFile = Request.Files["fLogoMobile"]; string postedFileBase64 = Request.Form["fLogoMobileBase64"]; string postedFileBase64_Resize = Request.Form["fLogoMobileBase64_Resize"]; if (!string.IsNullOrEmpty(postedFileBase64)) { string saveName = WorkV3.Golbal.UpdFileInfo.SaveFilesBySiteID(postedFile, item.Id, "Header", postedFileBase64, postedFileBase64_Resize); item.LogoMobile = saveName; } else { ImageModel imgModel = Newtonsoft.Json.JsonConvert.DeserializeObject <ImageModel>(item.LogoMobile); if (!string.IsNullOrEmpty(imgModel.Img)) { item.LogoMobile = System.IO.Path.GetFileName(imgModel.Img); } else { if (!string.IsNullOrEmpty(imgModel.Img)) { item.LogoMobile = System.IO.Path.GetFileName(imgModel.Img); } else { if (postedFile == null || postedFile.ContentLength == 0) { item.LogoMobile = ""; } else { string saveName = WorkV3.Golbal.UpdFileInfo.SaveFilesBySiteID(postedFile, item.Id, "Header", postedFileBase64, postedFileBase64_Resize); item.LogoMobile = saveName; } } } } } List <ViewModels.SiteDomain> DomainList = new List <ViewModels.SiteDomain>(); long domainIndex = 0; if (domains != null) { foreach (string domain in domains) { if (!string.IsNullOrEmpty(domain)) { domainIndex++; ViewModels.SiteDomain domainModel = new ViewModels.SiteDomain() { ID = domainIndex, Domain = domain }; DomainList.Add(domainModel); } } } item.Domin = Newtonsoft.Json.JsonConvert.SerializeObject(DomainList); if (siteMailSettingRepository.GetItem(mailSetting.SiteID, "SiteID") == null) { siteMailSettingRepository.CreateItem(mailSetting); } else { siteMailSettingRepository.UpdateItemExcept(mailSetting, new string[] { }, "SiteID"); } MTSRepository.SetMailFromName(item.Title);//Joe 20190923設定寄件人為後台的網站設定之網站名稱 WorkV3.Models.DataAccess.SitesDAO.SetItem(item); ViewBag.Exit = true; return(View(item)); }
public ActionResult Edit(SitesModels item, string[] domains, string webType) { if (!Utility.CheckIsLogin()) { Response.Redirect(Url.Action("Login", "Home")); } bool IsNeedCreateBaseBackendMenus = false, IsNeedCreateHomePageInfo = false; AppendViewBags(); if (item.Id == 0) { item.Id = WorkLib.GetItem.NewSN(); IsNeedCreateBaseBackendMenus = true; IsNeedCreateHomePageInfo = true; } var orginalSiteInfo = WorkV3.Models.DataAccess.SitesDAO.GetInfo(item.Id); if (orginalSiteInfo != null) { item.Descriptions = orginalSiteInfo.Descriptions; item.Author = orginalSiteInfo.Author; item.Copyright = orginalSiteInfo.Copyright; item.ICO = orginalSiteInfo.ICO; item.Logo = orginalSiteInfo.Logo; item.FooterCont = orginalSiteInfo.FooterCont; item.GAInfo = orginalSiteInfo.GAInfo; item.Logoshrink = orginalSiteInfo.Logoshrink; item.socialSetting = orginalSiteInfo.socialSetting; item.LogoMobile = orginalSiteInfo.LogoMobile; item.HeaderCont = orginalSiteInfo.HeaderCont; item.HeaderCustomized = orginalSiteInfo.HeaderCustomized; item.FooterCustomized = orginalSiteInfo.FooterCustomized; item.IsLang = orginalSiteInfo.IsLang; item.IsSearchEnabled = orginalSiteInfo.IsSearchEnabled; item.IsPathBread = orginalSiteInfo.IsPathBread; } if (webType == "Indep") { item.ParentID = (long?)null; } List <ViewModels.SiteDomain> DomainList = new List <ViewModels.SiteDomain>(); long domainIndex = 0; if (domains != null) { foreach (string domain in domains) { if (!string.IsNullOrEmpty(domain)) { domainIndex++; ViewModels.SiteDomain domainModel = new ViewModels.SiteDomain() { ID = domainIndex, Domain = domain }; DomainList.Add(domainModel); } } } item.Domin = Newtonsoft.Json.JsonConvert.SerializeObject(DomainList); WorkV3.Models.DataAccess.SitesDAO.SetItem(item); if (IsNeedCreateBaseBackendMenus) { WorkV3.Models.DataAccess.SitesDAO.AddInitBackendStructure(item.Id, !item.ParentID.HasValue); } if (IsNeedCreateHomePageInfo) { WorkV3.Models.DataAccess.SitesDAO.AddInitHomePage(item.Id); WorkV3.Models.DataAccess.SitesDAO.AddInitSystemPages(item.Id); } ViewBag.Exit = true; return(View(item)); }
public ActionResult Copy(SitesModels item, string[] domains, string webType, long SourceID) { if (!Utility.CheckIsLogin()) { Response.Redirect(Url.Action("Login", "Home")); } AppendViewBags(); ViewBag.IsCopy = true; if (item.Id == 0) { item.Id = WorkLib.GetItem.NewSN(); } if (webType == "Indep") { item.ParentID = (long?)null; } List <ViewModels.SiteDomain> DomainList = new List <ViewModels.SiteDomain>(); long domainIndex = 0; if (domains != null) { foreach (string domain in domains) { if (!string.IsNullOrEmpty(domain)) { domainIndex++; ViewModels.SiteDomain domainModel = new ViewModels.SiteDomain() { ID = domainIndex, Domain = domain }; DomainList.Add(domainModel); } } item.Domin = Newtonsoft.Json.JsonConvert.SerializeObject(DomainList); } using (var scope = new TransactionScope()) { try { if (!WorkV3.Models.DataAccess.SitesDAO.CopyStructure(SourceID, item.Id)) { throw new Exception("結構複製失敗"); } if (!WorkV3.Models.DataAccess.SitesDAO.CopyBackendStructure(SourceID, item.Id)) { throw new Exception("後台選單結構複製失敗"); } SitesModels source_item = WorkV3.Models.DataAccess.SitesDAO.GetInfo(SourceID); string absFileSourcePath = Server.MapPath("~/Websites/" + source_item.SN); string absFileTargetPath = Server.MapPath("~/Websites/" + item.SN); WorkV3.Models.DataAccess.SitesDAO.SetItem(item); WorkV3.Models.DataAccess.SitesDAO.CopyWebsiteFiles(absFileSourcePath, absFileTargetPath); scope.Complete(); } catch (Exception ex) { ViewBag.Message = ex.Message; } } ViewBag.Exit = true; return(View("Edit", item)); }