Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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());
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        /// <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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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("郵件發送成功");
        }
Exemplo n.º 7
0
        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("");
        }
Exemplo n.º 8
0
        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);
                    }
                }
            }
        }
Exemplo n.º 9
0
        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);
            }
        }
Exemplo n.º 10
0
        /// <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);
        }
Exemplo n.º 11
0
        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());
        }
Exemplo n.º 12
0
        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));
        }