public static List <ResourceFilesModels> GetInfoAll(long SiteID, long SourceNo, long SourceType, int AreaID, int Ver) { string Sql = "Select * From ResourceFiles Where SiteID=@SiteID and SourceNo=@SourceNo and SourceType=@SourceType and Ver=@Ver and AreaID=@AreaID"; SQLData.Database db = new SQLData.Database(WebInfo.Conn); SQLData.ParameterCollection para = new SQLData.ParameterCollection(); para.Add("@SiteID", SiteID); para.Add("@SourceNo", SourceNo); para.Add("@SourceType", SourceType); para.Add("@Ver", Ver); para.Add("@AreaID", AreaID); DataTable dt = db.GetDataTable(Sql, para); List <ResourceFilesModels> nLists = new List <ResourceFilesModels>(); if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { ResourceFilesModels _TempRow = new ResourceFilesModels(); _TempRow = CreateData(dt.Rows[i]); nLists.Add(_TempRow); } } return(nLists); }
public ActionResult MenuEdit_File(long?id) { ViewBag.HasChildren = false; //檔案上限 ViewBag.FileLimit = 1; ViewBag.FileExtensions = UpdFileInfo.FileExtensionsType.Custom;//Joe 20190925 問題單:後台單一檔案允許格式 if (uCheck.IsNumeric(id)) { long SiteId = GetItem.SiteID(); string vPath = UpdFileInfo.GetVPathBySiteID(SiteId, "Menus"); MenusModels mm = MenusDAO.GetInfo(SiteId, (long)id); ResourceFilesModels newFile = ResourceFilesDAO.GetInfo(SiteId, (long)id, (byte)SourceType.Menu, 1, 1, 1); if (newFile != null) { ViewBag.FileExists = new HtmlString(ResourceFilesDAO.fileuploader(newFile, vPath)); } var childList = MenusDAO.GetChildren(id.Value); if (childList != null && childList.Count() > 0) { ViewBag.HasChildren = true; } return(View(mm)); } return(View()); }
private static ResourceFilesModels CreateData(DataRow dr) { ResourceFilesModels nData = new ResourceFilesModels { Id = (long)dr["id"], SiteID = (long)dr["SiteID"], SourceNo = (long)dr["SourceNo"], SourceType = (byte)dr["SourceType"], Ver = (int)dr["Ver"], AreaID = (byte)dr["AreaID"], FileType = dr["FileType"].ToString().Trim(), FileInfo = dr["FileInfo"].ToString().Trim(), FileSize = dr["FileSize"] as long?, FileMimeType = dr["FileMimeType"].ToString().Trim(), Descriptions = dr["Descriptions"].ToString().Trim(), Detail = dr["Detail"].ToString().Trim(), ClickType = (int)dr["ClickType"], Creator = (long)dr["Creator"], CreateTime = dr["CreateTime"] as DateTime?, Modifier = dr["Modifier"] as long?, ModifyTime = dr["ModifyTime"] as DateTime? }; return(nData); }
/// <summary> /// 新增檔案選單 /// </summary> /// <param name="data"></param> public static void Save_Menu(ResourceFilesModels data) { SQLData.Database db = new SQLData.Database(WebInfo.Conn); string Sql = "IF EXISTS (SELECT 1 FROM ResourceFiles WHERE ID=@ID and SiteID=@SiteID and SourceNo=@SourceNo and SourceType=@SourceType and Ver=@Ver and AreaID=@AreaID)" + " UPDATE ResourceFiles SET FileType=@FileType, FileInfo=@FileInfo, FileSize=@FileSize, FileMimeType=@FileMimeType, Descriptions=@Descriptions, Detail=@Detail, ClickType=@ClickType, Modifier=@Modifier, ModifyTime=GetDate() WHERE ID=@ID and SiteID=@SiteID and SourceNo=@SourceNo and SourceType=@SourceType and Ver=@Ver and AreaID=@AreaID" + " ELSE" + " INSERT INTO ResourceFiles(ID,SiteID,SourceNo, SourceType,Ver,AreaID,FileType,FileInfo,FileSize,FileMimeType,Descriptions,Detail,ClickType,Creator,CreateTime)VALUES(@ID,@SiteID,@SourceNo,@SourceType,@Ver,@AreaID,@FileType,@FileInfo,@FileSize,@FileMimeType,@Descriptions,@Detail,@ClickType,@Creator,GetDate())"; SQLData.ParameterCollection para = new SQLData.ParameterCollection(); para.Add("@ID", data.Id); para.Add("@SiteID", data.SiteID); para.Add("@SourceNo", data.SourceNo); para.Add("@SourceType", data.SourceType); para.Add("@Ver", data.Ver); para.Add("@AreaID", data.AreaID); para.Add("@FileType", data.FileType); para.Add("@FileInfo", data.FileInfo); para.Add("@FileSize", data.FileSize); para.Add("@FileMimeType", data.FileMimeType); para.Add("@Descriptions", data.Descriptions); para.Add("@Detail", data.Detail); para.Add("@ClickType", data.ClickType); para.Add("@Creator", MemberDAO.SysCurrent.Id); para.Add("@Modifier", MemberDAO.SysCurrent.Id); db.ExecuteNonQuery(Sql, para); }
public static ResourceFilesModels GetInfo(long SiteID, long SourceNo, byte SourceType, int AreaID, long Id, int Ver) { SQLData.Database db = new SQLData.Database(WebInfo.Conn); string Sql = "Select * From ResourceFiles Where Id=@Id and SiteID=@SiteID and SourceNo=@SourceNo and SourceType=@SourceType and Ver=@Ver and AreaID=@AreaID"; SQLData.ParameterCollection para = new SQLData.ParameterCollection(); para.Add("@ID", Id); para.Add("@SiteID", SiteID); para.Add("@SourceNo", SourceNo); para.Add("@SourceType", SourceType); para.Add("@Ver", Ver); para.Add("@AreaID", AreaID); DataTable dt = db.GetDataTable(Sql, para); ResourceFilesModels _TempRow = null; if (dt.Rows.Count > 0) { _TempRow = new ResourceFilesModels(); _TempRow = CreateData(dt.Rows[0]); } return(_TempRow); }
public string SendMail(long siteId, long menuId, FormMailModel mail, string[] fileList, string recipientIds, string recipientEmails, bool isTest, bool?isEvent = false) { if (mail == null || string.IsNullOrWhiteSpace(mail.MailBody)) { return("Mail 為 NULL"); } if (isTest && string.IsNullOrWhiteSpace(recipientEmails)) { return("測試郵件缺少收信人"); } if (!isTest && string.IsNullOrWhiteSpace(recipientIds)) { return("未選擇郵件發送用戶"); } SitesModels site = SitesDAO.GetInfo(siteId); System.Collections.ArrayList emailFiles = new System.Collections.ArrayList(); List <ResourceFilesModels> files = new List <ResourceFilesModels>(); if (fileList?.Length > 0) { string uploadPath = Golbal.UpdFileInfo.GetUPathByMenuID(siteId, menuId).TrimEnd('\\') + "\\"; foreach (string item in fileList) { ResourceFilesModels file = JsonConvert.DeserializeObject <ResourceFilesModels>(item); files.Add(file); emailFiles.Add(uploadPath + file.FileInfo); } } mail.Files = JsonConvert.SerializeObject(files); FormModel form = FormDAO.GetItem(mail.FormID); string mailSubject = mail.MailSubject.Replace("[WebsiteName]", site.Title).Replace("[SendDate]", DateTime.Now.ToString(WebInfo.DateFmt)); string mailBody = mail.MailBody.Replace("[WebsiteName]", site.Title).Replace("[SendDate]", DateTime.Now.ToString(WebInfo.DateFmt)); mailSubject = mailSubject.Replace("[FormName]", form.Title); mailBody = mailBody.Replace("[FormName]", form.Title); if (isTest) { SendMailTest(siteId, mail, mailSubject, mailBody, emailFiles, recipientEmails, isEvent); return("測試郵件發送成功"); } mail.ID = WorkLib.GetItem.NewSN(); FormMailDAO.SetItem(mail); MailSend(siteId, mail, mailSubject, mailBody, emailFiles, recipientIds); return("郵件發送成功"); }
public static string fileuploader(ResourceFilesModels newFile, string vPath) { if (newFile != null) { UpdFileInfo.fileuploaderFile Files = new UpdFileInfo.fileuploaderFile(); Files.name = newFile.FileInfo; Files.type = newFile.FileMimeType.Replace(@"/", @"\/"); Files.size = newFile.FileSize.ToString(); Files.file = (vPath.Replace(@"/", @"\/") + newFile.FileInfo); string output = Newtonsoft.Json.JsonConvert.SerializeObject(Files).Replace(@"\\/", @"\/"); return(output); //ViewBag.FileExists = new HtmlString(output); } return(""); }
private void SaveIconAndArchive(long siteId, long menuId, ArticleModels item) { if (!string.IsNullOrWhiteSpace(item.Icon)) { ResourceImagesModels imgModel = Newtonsoft.Json.JsonConvert.DeserializeObject <ResourceImagesModels>(item.Icon); if (imgModel.ID == 0) // 新上傳的圖片 { HttpPostedFileBase postedFile = Request.Files["fIcon"]; string postedFileBase64 = Request.Form["fIconBase64"]; string postedFileBase64_Resize = Request.Form["fIconBase64_Resize"]; if (postedFile == null || postedFile.ContentLength == 0) { item.Icon = string.Empty; } else { string saveName = WorkV3.Golbal.UpdFileInfo.SaveFilesByMenuID(postedFile, siteId, menuId, postedFileBase64, postedFileBase64_Resize); imgModel.ID = 1; imgModel.Img = saveName; item.Icon = Newtonsoft.Json.JsonConvert.SerializeObject(imgModel); } } } if (!string.IsNullOrWhiteSpace(item.Archive)) { ResourceFilesModels archiveModel = Newtonsoft.Json.JsonConvert.DeserializeObject <ResourceFilesModels>(item.Archive); if (archiveModel.Id == 0) { HttpPostedFileBase postedFile = Request.Files["fArchive"]; if (postedFile == null || postedFile.ContentLength == 0) { item.Icon = string.Empty; } else { string saveName = WorkV3.Golbal.UpdFileInfo.SaveFilesByMenuID(postedFile, siteId, menuId); archiveModel.Id = 1; archiveModel.FileInfo = saveName; archiveModel.FileSize = postedFile.ContentLength; item.Archive = Newtonsoft.Json.JsonConvert.SerializeObject(archiveModel); } } } }
public static void SetItem(ResourceFilesModels item) { SQLData.Database db = new SQLData.Database(WebInfo.Conn); SQLData.TableObject tableObj = db.GetTableObject("ResourceFiles"); tableObj.GetDataFromObject(item); string sql = "Select 1 From ResourceFiles Where ID = " + item.Id; bool isNew = db.GetFirstValue(sql) == null; if (isNew) { tableObj["FileType"] = ResourceFileType.inFile; tableObj["FileMimeType"] = item.GetMimeType(); tableObj["ClickType"] = 0; tableObj["Creator"] = MemberDAO.SysCurrent.Id; tableObj["CreateTime"] = DateTime.Now; tableObj.Insert(); } else { string[] removeFields = { "ID", "SiteID", "SourceNo", "SourceType", "Ver", "AreaID", "FileType", "FileMimeType", "ClickType", "Creator", "CreateTime" }; foreach (string f in removeFields) { tableObj.Remove(f); } tableObj["Modifier"] = MemberDAO.SysCurrent.Id; tableObj["ModifyTime"] = DateTime.Now; SQLData.ParameterCollection keys = new SQLData.ParameterCollection(); keys.Add("@ID", item.Id); keys.Add("@SiteID", item.SiteID); keys.Add("@SourceNo", item.SourceNo); keys.Add("@SourceType", item.SourceType); keys.Add("@Ver", item.Ver); keys.Add("@AreaID", item.AreaID); tableObj.Update(keys); } }
/// <summary> /// 最新消息列表, 需傳入Token /// </summary> /// <param name="data"></param> /// <returns></returns> public ApiResultWithPage <List <NewsListResult> > Post([FromBody] ArticlesListRequest data) { ApiResultWithPage <List <NewsListResult> > result = new ApiResultWithPage <List <NewsListResult> >(); List <NewsListResult> contentItem = new List <NewsListResult>(); try { NewsListResultCode rcode = NewsListResultCode.Success; if (string.IsNullOrEmpty(data.SiteSN)) { rcode = NewsListResultCode.SiteNull; result.Success = false; result.Code = (int)rcode; result.Message = rcode.GetMessage(); return(result); } if (string.IsNullOrEmpty(data.SN)) { rcode = NewsListResultCode.ModuleSNNull; result.Success = false; result.Code = (int)rcode; result.Message = rcode.GetMessage(); return(result); } long SiteID = GetSiteID(data.SiteSN); if (SiteID <= 0) { rcode = NewsListResultCode.SiteNull; result.Success = false; result.Code = (int)rcode; result.Message = rcode.GetMessage(); return(result); } var menuItem = MenusDAO.GetInfo(SiteID, data.SN); if (menuItem == null || menuItem.Id <= 0) { rcode = NewsListResultCode.MenuNull; result.Success = false; result.Code = (int)rcode; result.Message = rcode.GetMessage(); return(result); } string uploadUrl = Golbal.UpdFileInfo.GetVPathByMenuID(SiteID, menuItem.Id).TrimEnd('/') + "/"; var setting = ArticleSettingDAO.GetItem(menuItem.Id); int pageIndex = data.Index ?? 1; int totalRecord; //var types = WorkV3.Areas.Backend.Models.DataAccess.ArticleTypesDAO.GetIssueItems(menuItem.Id); //if (types == null || types.Count()<=0) //{ // result.Success = true; // result.Code = (int)rcode; // result.Message = rcode.GetMessage(); // result.Content = contentItem; // return result; //} string typeCond = ""; if (data.Types != null && data.Types.Count() > 0) { typeCond = string.Join(",", data.Types); } List <ArticleModels> items = ArticleDAO.GetItems(setting, "", typeCond, null, pageIndex, out totalRecord); Dictionary <long, List <ArticleTypesModels> > ItemTypes = ArticleDAO.GetItemTypes(items.Select(item => item.ID)); foreach (var item in items) { #region 文章類別 List <ArticleTypes> articleTypesItem = new List <ArticleTypes>(); var HasItemTypes = ItemTypes.ContainsKey(item.ID); if (HasItemTypes) { foreach (var type in ItemTypes[item.ID]) { articleTypesItem.Add(new ArticleTypes() { Name = type.Name, Color = GetColorCode(type.Color) }); } } #endregion string link = string.Empty; if (item.Type == "link") { link = item.Link; } else if (item.Type == "archive") { if (!string.IsNullOrWhiteSpace(item.Archive)) { ResourceFilesModels file = Newtonsoft.Json.JsonConvert.DeserializeObject <ResourceFilesModels>(item.Archive); link = uploadUrl + file.FileInfo; } } contentItem.Add(new NewsListResult() { ID = item.ID, CardNo = item.CardNo, Type = item.Type, Title = item.Title, IssueDate = item.IssueDate?.ToString("yyyy.MM.dd"), Link = link, ArticleTypes = articleTypesItem }); } result.Success = true; result.Code = (int)rcode; result.Message = rcode.GetMessage(); result.Content = contentItem; return(result); } catch (Exception ex) { result.Code = (int)NewsListResultCode.Exception; result.Success = false; result.Message = ex.ToString(); } return(result); }
public ActionResult MenuEdit_File(MenusModels MData, HttpPostedFileBase updFiles) { ViewBag.HasChildren = false; var childList = MenusDAO.GetChildren(MData.ID); if (childList != null && childList.Count() > 0) { ViewBag.HasChildren = true; } MenusDAO.Save_Single(MData); //單檔 if (updFiles != null) { if (updFiles.ContentLength > 0) { string uPath = UpdFileInfo.GetUPathBySiteID(MData.SiteID, "Menus"); string fileName = UpdFileInfo.SaveFiles(updFiles, uPath); ResourceFilesModels newFile = new ResourceFilesModels(); newFile.Id = 1; newFile.SiteID = MData.SiteID; newFile.SourceNo = MData.ID; newFile.SourceType = (byte)SourceType.Menu; newFile.Ver = 1; newFile.AreaID = 1; newFile.FileInfo = fileName; newFile.FileType = ResourceFileType.inFile; newFile.ClickType = (byte)ClickType.OpenNewWin; newFile.FileSize = newFile.GetSize(uPath); newFile.FileMimeType = newFile.GetMimeType(); ResourceFilesDAO.Save_Menu(newFile); } else { ResourceFilesDAO.DelAll(MData.SiteID, MData.ID, (byte)SourceType.Menu, 1, 1); } } //多檔 //List<ResourceFilesModels> newFileList = new List<ResourceFilesModels>(); //int Count = 0; //foreach (var ff in updFiles) //{ // if (ff != null) // { // if (ff.ContentLength > 0) // { // Count += 1; // var fileName = Path.GetFileName(ff.FileName); // var path = Path.Combine(GetItem.UpdPath(GetItem.SiteID() + "\\Menus"), fileName); // ff.SaveAs(path); // } // } //} SysLog.SaveLog(SysActions.Edit, SysMgrNo.Menu, MData.Title, MData.SiteID, MData.ID); TempData["refreshData"] = SysActions.Edit; Response.Redirect(Request.RawUrl); return(View()); }
public ActionResult FieldSetting(long formId, FieldModel item, byte?oldRepeatLimit) { item.ParentID = formId; FormModel form = FormDAO.GetItem(formId); if (!string.IsNullOrWhiteSpace(item.Template)) { ResourceFilesModels fileModel = JsonConvert.DeserializeObject <ResourceFilesModels>(item.Template); if (fileModel.Id == 0) // 新上傳的檔案 { HttpPostedFileBase postedFile = Request.Files["fTemplate"]; if (postedFile == null || postedFile.ContentLength == 0) { item.Template = string.Empty; } else { item.Template = Golbal.UpdFileInfo.SaveFilesBySiteID(postedFile, (long)form.SiteID, formDesignFileDir); } } else { item.Template = fileModel.FileInfo; } } if (!string.IsNullOrWhiteSpace(item.Image)) { ResourceImagesModels imgModel = JsonConvert.DeserializeObject <ResourceImagesModels>(item.Image); if (imgModel.ID == 0) // 新上傳的圖片 { HttpPostedFileBase postedFile = Request.Files["fImage"]; if (postedFile == null || postedFile.ContentLength == 0) { item.Image = string.Empty; } else { item.Image = Golbal.UpdFileInfo.SaveFilesBySiteID(postedFile, (long)form.SiteID, formDesignFileDir); } } else { item.Image = imgModel.Img; } } if (!string.IsNullOrWhiteSpace(item.VideoCustomPhoto)) { ResourceImagesModels imgModel = JsonConvert.DeserializeObject <ResourceImagesModels>(item.VideoCustomPhoto); if (imgModel.ID == 0) { // 新上傳的圖片 HttpPostedFileBase postedFile = Request.Files["youtubeCustomImg"]; if (postedFile == null || postedFile.ContentLength == 0) { item.VideoCustomPhoto = string.Empty; } else { item.VideoCustomPhoto = Golbal.UpdFileInfo.SaveFilesBySiteID(postedFile, (long)form.SiteID, formDesignFileDir); } } else { item.VideoCustomPhoto = imgModel.Img; } } FieldDAO.SetItem(item); ViewBag.UploadUrl = Golbal.UpdFileInfo.GetVPathBySiteID((long)form.SiteID, formDesignFileDir).TrimEnd('/'); ViewBag.SiteID = form.SiteID; ViewBag.MenuID = form.SourceID; ViewBag.FormID = formId; ViewBag.CustomFolder = formDesignFileDir; ViewBag.Exit = true; if (item.TypeID == "input" && oldRepeatLimit == (byte)FieldRepeatLimit.可任意報名 && item.RepeatLimit != (byte)FieldRepeatLimit.可任意報名) { ViewBag.IsFirst = true; } return(View($"Field{ item.TypeID }", item)); }