public string ShowImageList(string tid) { if (string.IsNullOrEmpty(tid)) { return(""); } List <FilesEntity> list = new List <FilesEntity>(); string Host = System.Configuration.ConfigurationManager.AppSettings["DomainHost"]; StringBuilder sb = new StringBuilder(); FileApplication fileApp = new FileApplication(); list = fileApp.GetFileListBySourceId(Convert.ToInt32(tid), FileSourceType.FeedBack); string[] imgFormat = ".gif,.jpg,.jpeg,.bmp,.png,.svg,.raw".Split(new char[] { ',' }); foreach (FilesEntity filesEntity in list) { string style = "width:110px;height:110px;"; if (!imgFormat.Any(format => format == filesEntity.ContentType)) { style = "width:13px;"; filesEntity.FilePath = "/Images/icons/file.png"; } sb.AppendFormat("<span class='fdfile'><a href='{0}/do/DoDownloadFileHandler.ashx?FileID={1}&size={2}' target='_blank'><img src='{5}' style='{6}'> {3}{4}</a></span>" , Host, filesEntity.FileID, filesEntity.FileSize, filesEntity.FileTitle, filesEntity.ContentType, filesEntity.FilePath, style); } return(sb.ToString()); }
protected string GetFilesHTML() { List <FilesEntity> list = new List <FilesEntity>(); string Host = System.Configuration.ConfigurationManager.AppSettings["DomainHost"]; StringBuilder sb = new StringBuilder(); list = new FileApplication().GetFileListBySourceId(TicketID, FileSourceType.Ticket); if (null != list && list.Count > 0) { string templateHTML = string.Empty; if (UploadType == "View") { templateHTML = viewTemplateHTML; } else if (UploadType == "Edit") { templateHTML = editTemplateHTML; } foreach (FilesEntity filesEntity in list) { sb.AppendFormat(templateHTML, Host, filesEntity.FileID, filesEntity.FileSize, filesEntity.FileTitle, filesEntity.ContentType); } return(string.Format("<ul class=\"fileList\">{0}</ul>", sb)); } else { return(""); } }
private void InitControl() { SearchFilesRequest request = new SearchFilesRequest(SearchFileType.Project, true, "FileTitle", "ASC"); request.IsPublic = UserInfo.Role == RolesEnum.CLIENT; request.CurrentPage = anpFiles.CurrentPageIndex; request.PageCount = anpFiles.PageSize; request.Keyword = txtKeyword.Text.NoHTML(); request.CompanyID = int.Parse(ddlCompany.SelectedValue); request.ProjectID = int.Parse(ddlProject.SelectedValue); FileApplication fileApp = new FileApplication(); List <FileDetailDto> list = fileApp.GetFiles(request); if (list == null || list.Count == 0) { rptTickets.Visible = false; trNoTickets.Visible = true; } else { rptTickets.DataSource = list; rptTickets.DataBind(); trNoTickets.Visible = false; anpFiles.RecordCount = request.RecordCount; } }
private void InitControl() { SearchFilesRequest request = new SearchFilesRequest(SearchFileType.TicketAndFeedback, true, hidOrderBy.Value, hidOrderDirection.Value); request.IsPublic = UserInfo.Role == RolesEnum.CLIENT; request.CurrentPage = anpFiles.CurrentPageIndex; request.PageCount = anpFiles.PageSize; Regex regticketcode = new Regex("^[BbRr]"); request.Keyword = regticketcode.Replace(txtKeyword.Text, "").NoHTML(); request.CompanyID = int.Parse(ddlCompany.SelectedValue); request.ProjectID = int.Parse(ddlProject.SelectedValue); request.UserID = UserInfo.ID; request.KeywordType = SearchKeywordType.All; FileApplication fileApp = new FileApplication(); List <FileDetailDto> list = fileApp.GetFiles(request); if (list == null || list.Count == 0) { rptTickets.Visible = false; trNoTickets.Visible = true; } else { rptTickets.DataSource = list; rptTickets.DataBind(); rptTickets.Visible = true; trNoTickets.Visible = false; anpFiles.RecordCount = request.RecordCount; } }
private string MoveObjects(HttpContext context) { string msg = string.Empty; string paras = context.Request["objects"]; int target = 0; if (int.TryParse(context.Request["target"], out target)) { if (string.IsNullOrEmpty(paras)) { return("Arguments Error!"); } FileApplication fileApp = new FileApplication(); string[] items = paras.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); if (items.Length > 0) { StringBuilder sbdireids = new StringBuilder("0,"); StringBuilder sbobjids = new StringBuilder("0,"); foreach (string item in items) { string[] keyorvalue = item.Split("-".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); if (keyorvalue.Length == 2) { int id = 0; if (int.TryParse(keyorvalue[1], out id) && keyorvalue[0] == DirectoryObjectType.Directory.ToString()) { sbdireids.Append(id); sbdireids.Append(","); } else { sbobjids.Append(id); sbobjids.Append(","); } } } sbdireids.Append(";"); sbdireids.Append(sbobjids); if (!fileApp.ChangeParent(sbdireids.ToString(), target) && fileApp.BrokenRuleMessages.Count > 0) { msg = fileApp.BrokenRuleMessages[0].Message; } return(msg); } else { return("Arguments Error!"); } } else { return("Arguments Error!"); } }
private string GetObjects(int directoryID) { FileApplication fileApp = new FileApplication(); List <DirectoryEntity> list = fileApp.GetDirectories(directoryID); if (list == null && list.Count == 0) { return("[]"); } string jsons = UtilFactory.Helpers.JSONHelper.GetJson <List <DirectoryEntity> >(list); return(jsons); }
private bool InsertObjects(HttpContext context, out string msg, out int id) { DirectoryObjectsEntity model = GetObjectFromRequest(context); FileApplication fileApp = new FileApplication(); msg = string.Empty; id = fileApp.PushObjectToDirectory(model); if (fileApp.BrokenRuleMessages.Count > 0) { msg = string.Format("{0},{1}", fileApp.BrokenRuleMessages[0].Key, fileApp.BrokenRuleMessages[0].Message); return(false); } return(true); }
protected void btnSaveFiles_Click(object sender, EventArgs e) { int id = QS("id", 0); int companyid = QS("companyid", 0); if (fileProject.HasFile) { FilesEntity model = FileFactory.CreateFileEntity(UserInfo.ID, ObjectFactory.GetInstance <ISystemDateTime>()); model.FilePath = UtilFactory.Helpers.FileHelper.SaveUploadFiles("Project", id, fileProject.PostedFile);; model.CompanyID = companyid; model.ContentType = fileProject.PostedFile.ContentType; model.FileID = 0; model.FileSize = fileProject.PostedFile.ContentLength; if (string.IsNullOrEmpty(txtFileTitle.Text)) { model.FileTitle = Path.GetFileName(fileProject.FileName); model.FileTitle = model.FileTitle.Substring(0, model.FileTitle.LastIndexOf(".")); } else { model.FileTitle = txtFileTitle.Text; } model.IsDelete = false; model.IsPublic = UserInfo.Role == RolesEnum.CLIENT; model.SourceType = (int)FileSourceType.Project; model.ProjectId = id; model.ThumbPath = Path.GetFileName(fileProject.PostedFile.FileName); model.IsDelete = false; FileApplication fileApp = new FileApplication(); int result = fileApp.AddFile(model); OperateDocManagements.OperateDocManagementSoapClient client = new OperateDocManagements.OperateDocManagementSoapClient(); List <FilesEntity> clientFiles = new List <FilesEntity>(); clientFiles.Add(model); client.AddDocManagement(Newtonsoft.Json.JsonConvert.SerializeObject(clientFiles)); if (result <= 0) { this.ShowFailMessageToClient(fileApp.BrokenRuleMessages, false); } else { InitFiles(); this.ShowSuccessMessageToClient(false, false); txtFileTitle.Text = ""; } } }
protected void btnSave_Click(object sender, EventArgs e) { string msg = string.Empty; if (!CheckInput(out msg)) { ShowMessageToClient(msg, 2, false, false); return; } if (rbtnNewDirectory.Checked) { DirectoryEntity model = GetDirectory(); int id = fileApp.UpdateDirectory(model); if (id > 0) { Session["CreatedDirectory"] = string.Format("{0}-{1}", ddlCurrent.SelectedValue, id.ToString()); this.ShowSuccessMessageToClient(); } else { this.ShowFailMessageToClient(fileApp.BrokenRuleMessages, false); } } else if (rbtnNewFile.Checked) { FilesEntity model = GetFile(); FileApplication fileApp = new FileApplication(); int result = fileApp.AddFile(model); if (result <= 0) { ShowFailMessageToClient(fileApp.BrokenRuleMessages, false); return; } else { DirectoryObjectsEntity objecttoadd = GetObject(result); int id = fileApp.PushObjectToDirectory(objecttoadd); if (id > 0) { ShowSuccessMessageToClient(true, true); } else { ShowFailMessageToClient(fileApp.BrokenRuleMessages, false); return; } } } }
protected void Page_Load(object sender, EventArgs e) { fileApp = new FileApplication(); if (!IsPostBack) { InitDirectories(); InitControl(); } if (!(Session["CreatedDirectory"] == null)) { InitDirectories(); hidCurrentDirectory.Value = Session["CreatedDirectory"].ToString(); txtID.Text = ""; txtKeyword.Text = ""; Session["CreatedDirectory"] = null; } }
private string DeleteObjects(HttpContext context) { string msg = string.Empty; string paras = context.Request["objects"]; if (string.IsNullOrEmpty(paras)) { return("Arguments Error!"); } FileApplication fileApp = new FileApplication(); string[] items = paras.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); if (items.Length > 0) { foreach (string item in items) { string[] keyorvalue = item.Split("-".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); if (keyorvalue.Length == 3) { int id = 0; int fileid = 0; if (int.TryParse(keyorvalue[1], out id) && int.TryParse(keyorvalue[2], out fileid) && keyorvalue[0] == DirectoryObjectType.Directory.ToString()) { if ((!fileApp.RemoveDirectory(id)) && fileApp.BrokenRuleMessages.Count > 0) { msg += fileApp.BrokenRuleMessages[0].Message; } } else { if (!fileApp.RemoveObjects(id, fileid) && fileApp.BrokenRuleMessages.Count > 0) { msg += fileApp.BrokenRuleMessages[0].Message; } } } } return(msg); } else { return("Arguments Error!"); } }
protected void btnSave_Click(object sender, EventArgs e) { int target = 0; if (!int.TryParse(hidSelectedDirectory.Value, out target)) { ShowMessageToClient("Please select a directory", 0, false, false); return; } FileApplication fileApp = new FileApplication(); string[] items = Request.Params["objects"].Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); if (items.Length > 0) { StringBuilder sbdireids = new StringBuilder("0,"); StringBuilder sbobjids = new StringBuilder("0,"); foreach (string item in items) { string[] keyorvalue = item.Split("-".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); if (keyorvalue.Length == 2) { int id = 0; if (int.TryParse(keyorvalue[1], out id) && keyorvalue[0] == DirectoryObjectType.Directory.ToString()) { sbdireids.Append(id); sbdireids.Append(","); } else { sbobjids.Append(id); sbobjids.Append(","); } } } sbdireids.Append(";"); sbdireids.Append(sbobjids); if (!fileApp.ChangeParent(sbdireids.ToString(), target)) { ShowFailMessageToClient(fileApp.BrokenRuleMessages); } else { ShowSuccessMessageToClient(); } } }
private string fileList(int ticketId) { List <FilesEntity> list = new List <FilesEntity>(); string Host = System.Configuration.ConfigurationManager.AppSettings["DomainHost"]; StringBuilder sb = new StringBuilder(); list = new FileApplication().GetFileListBySourceId(ticketId, FileSourceType.Ticket); foreach (FilesEntity filesEntity in list) { sb.AppendFormat("<li class=\"file\"><a href='{0}/do/DoDownloadFileHandler.ashx?FileID={1}&size={2}' target=\"iframeDownloadFile\");\">", Host, filesEntity.FileID, filesEntity.FileSize) .AppendFormat("{2}{3} (Size:{1})</a><a onclick='deleteImgWhenStatusDraft({0})'><img src=\"/Scripts/Upload/images/error_fuck.png\" width='12' height='12' border=\"0\" /></a></li>" , filesEntity.FileID, filesEntity.FileSize, filesEntity.FileTitle, filesEntity.ContentType); } return(string.Format("<ul id='demo-list'>{0}</ul>", sb)); }
//上传社员申请表 protected void btnUploadApplication_Click(object sender, EventArgs e) { if (FileApplication.HasFile) //存在上传文件 { if (FileApplication.PostedFile.ContentLength > 10 * 1024 * 1024) //判断图片的大小 { string StrScript; StrScript = ("<script language=javascript>"); StrScript += ("alert('申请表图片最大为10M!');"); StrScript += ("</script>"); System.Web.HttpContext.Current.Response.Write(StrScript); return; } string fileName = FileApplication.PostedFile.FileName; string fileType = fileName.Substring(fileName.LastIndexOf(".") + 1);//文件类型 //判断图片的类型 if (fileType.ToLower() != "png" && fileType.ToLower() != "jpg" && fileType.ToLower() != "jpeg" && fileType.ToLower() != "bmp") { string StrScript; StrScript = ("<script language=javascript>"); StrScript += ("alert('上传图片的类型只可以为\\.jpg\\.jpeg\\.png\\.bmp!');"); StrScript += ("</script>"); System.Web.HttpContext.Current.Response.Write(StrScript); return; } //查看并创建存放图片的文件夹 string WBID = Session["WB_ID"].ToString(); string serverPath = "~/Files/ApplicationImg/" + WBID + "/"; string serverDirectory = Server.MapPath(serverPath); if (!System.IO.Directory.Exists(serverDirectory)) { //创建目录 System.IO.Directory.CreateDirectory(serverDirectory); } string newfilename = txtAccountNumber.Value + "." + fileType;//重新定义文件名 FileApplication.SaveAs(Server.MapPath(serverPath + newfilename)); txtApplicationFileName.Value = serverPath + newfilename; // spanApplication.InnerHtml = "已上传申请表:" + fileName; imgApplication.Src = serverPath + newfilename; } }
protected void Page_Load(object sender, EventArgs e) { fileApp = new FileApplication(); if (!IsPostBack) { if (QS("id", 0) == 0) { ShowArgumentErrorMessageToClient(); } else { DirectoryEntity model = fileApp.GetDirectory(int.Parse(Request.Params["id"])); List <DirectoryEntity> list = fileApp.GetDirectories(model.ParentID); list.BindDropdown <DirectoryEntity>(ddlCurrent, "Title", "ID", "Please Select", "0"); ddlCurrent.SelectedValue = model.ID.ToString(); } SetControlsStatus(); } }
public string ShowImageList(int feedbackId) { if (feedbackId < 1) { return(""); } List <FilesEntity> list = new List <FilesEntity>(); string Host = System.Configuration.ConfigurationManager.AppSettings["DomainHost"]; StringBuilder sb = new StringBuilder(); list = new FileApplication().GetFileListBySourceId(feedbackId, FileSourceType.FeedBack); foreach (FilesEntity filesEntity in list) { sb.AppendFormat("<span><a href='{0}/do/DoDownloadFileHandler.ashx?FileID={1}&size={2}' target=\"iframeDownloadFile\");\">{3}</a>" , Host, filesEntity.FileID, filesEntity.FileSize, filesEntity.FileTitle) .Append(" </span> "); } return(sb.ToString()); }
public string ShowImageList(string tid) { FileApplication fileApp = new FileApplication(); if (string.IsNullOrEmpty(tid)) { return(""); } List <FilesEntity> list = new List <FilesEntity>(); string Host = System.Configuration.ConfigurationManager.AppSettings["DomainHost"]; StringBuilder sb = new StringBuilder(); list = fileApp.GetFileListBySourceId(Convert.ToInt32(tid), FileSourceType.FeedBack); foreach (FilesEntity filesEntity in list) { sb.AppendFormat("<span class=\"fdfile\"><a href='{0}/do/DoDownloadFileHandler.ashx?FileID={1}&size={2}' target=\"iframeDownloadFile\");\"><img src=\"~\\Images\\icons\\file.png\"> {3}</a></span>" , Host, filesEntity.FileID, filesEntity.FileSize, filesEntity.FileTitle); } return(sb.ToString()); }
private void InitFiles() { FileApplication fileApp = new FileApplication(); SearchFilesRequest request = new SearchFilesRequest(SearchFileType.Company, false, "FileTitle", "ASC"); request.CompanyID = CompanyID; request.IsPublic = BaseWebsitePage.UserInfo.Role == RolesEnum.CLIENT; List <FileDetailDto> list = fileApp.GetFiles(request); if (list == null || list.Count == 0) { trNoFiles.Visible = true; } else { trNoFiles.Visible = false; rptFiles.DataSource = list; rptFiles.DataBind(); } }
private void InitFiles() { int id = QS("id", 0); FileApplication fileApp = new FileApplication(); SearchFilesRequest request = new SearchFilesRequest(SearchFileType.Project, false, "FileTitle", "ASC"); request.ProjectID = id; List <FileDetailDto> list = fileApp.GetFiles(request); if (list == null || list.Count == 0) { trNoProject.Visible = true; } else { trNoProject.Visible = false; rptFiles.DataSource = list; rptFiles.DataBind(); } }
protected void btnSaveFiles_Click(object sender, EventArgs e) { if (fileProject.HasFile) { FilesEntity model = FileFactory.CreateFileEntity(UserInfo.ID, ObjectFactory.GetInstance <ISystemDateTime>()); model.FilePath = UtilFactory.Helpers.FileHelper.SaveUploadFiles("Company", CompanyID, fileProject.PostedFile);; model.CompanyID = CompanyID; model.ContentType = Path.GetExtension(fileProject.FileName); model.FileID = 0; model.FileSize = fileProject.PostedFile.ContentLength; if (string.IsNullOrEmpty(txtFileTitle.Text)) { model.FileTitle = Path.GetFileName(fileProject.FileName); model.FileTitle = model.FileTitle.Substring(0, model.FileTitle.LastIndexOf(".")); } else { model.FileTitle = txtFileTitle.Text; } model.IsDelete = false; model.IsPublic = BaseWebsitePage.UserInfo.Role == RolesEnum.CLIENT; model.SourceType = (int)FileSourceType.Company; model.ThumbPath = Path.GetFileName(fileProject.PostedFile.FileName); model.IsDelete = false; FileApplication fileApp = new FileApplication(); int result = fileApp.AddFile(model); if (result <= 0) { BaseWebsitePage.ShowFailMessageToClient(fileApp.BrokenRuleMessages, false); } else { BaseWebsitePage.ShowSuccessMessageToClient(false, false); InitFiles(); txtFileTitle.Text = ""; } } }
public void ProcessRequest(HttpContext context) { if (IdentityContext.UserID <= 0) { return; } UsersEntity user = new App.UserApplication().GetUser(IdentityContext.UserID); if (user == null || (user.Role != RolesEnum.PM && user.Role != RolesEnum.Sales && user.Role != RolesEnum.ADMIN)) { return; } ProposalTrackerApplication app = new ProposalTrackerApplication(); context.Response.ContentType = "text/plain"; string fId = context.Request["fileId"] + ""; string wrId = context.Request["wrId"] + ""; int fileId; if (!int.TryParse(fId, out fileId)) { return; } int proposaltrackerId; if (!int.TryParse(wrId, out proposaltrackerId)) { return; } FileApplication fileApp = new FileApplication(); fileApp.DeleteFile(fileId); }
protected void btnSave_Click(object sender, EventArgs e) { FeedBacksEntity feedbacksEntity = new FeedBacksEntity(); feedbacksEntity.IsDelete = false; feedbacksEntity.TicketID = int.Parse(hdTicketID.Value); feedbacksEntity.Title = NoHTML(txtTitle.Value); feedbacksEntity.Description = txtContent.Value; feedbacksEntity.CreatedBy = UserInfo.UserID; feedbacksEntity.CreatedOn = DateTime.Now; feedbacksEntity.ModifiedOn = DateTime.Now; //如果是Client则IsPublic为true, 否则就看IsPublic Checkbox是否有选中。 feedbacksEntity.IsPublic = UserInfo.Role == RolesEnum.CLIENT ? true : ckIsPublic.Checked; feedbacksEntity.WaitClientFeedback = chkIsWaitClientFeedback.Checked ? 1 : 0; feedbacksEntity.WaitPMFeedback = 0; if (feedbacksEntity.WaitClientFeedback > 0) { feedbacksEntity.IsPublic = true; } feedbacksEntity.ID = fbAPP.AddFeedBacks(feedbacksEntity); if (feedbacksEntity.ID <= 0) { ShowFailMessageToClient(); return; } if (QS("feedbackId", 0) > 0) //回复 { FeedBacksEntity entity = fbAPP.GetFeedBacksEntity(QS("feedbackId", 0)); if (entity.WaitClientFeedback == 1) //删除通知Client回复的消息,并且将 需要回复的 Feedbacks标记为已回复 { fbmApp.DeleteClientFeedback(feedbacksEntity.CreatedBy, entity.TicketID, entity.FeedBackID); } } if (fbmApp.Add(feedbacksEntity)) //feedbackmessages { if (feedbacksEntity.WaitClientFeedback > 0 || (feedbacksEntity.WaitClientFeedback <= 0 && feedbacksEntity.IsPublic)) //发邮件通知 PM { //发邮件给PM ticketStatusMgr.SendEmailtoPMForFeedBack(feedbacksEntity); } } if (fileUpload.PostedFile.ContentLength > 0) { string FolderName = string.Empty; FolderName = hdProjectID.Value; string filderPath = System.Configuration.ConfigurationManager.AppSettings["FolderPath"]; //~/path string savepath = Server.MapPath(filderPath) + FolderName; string filename = fileUpload.PostedFile.FileName; string fileExtension = Path.GetExtension(filename); if (!Directory.Exists(savepath)) { Directory.CreateDirectory(savepath); } string sNewFileName = string.Format("{0}_{1}{2}", feedbacksEntity.ID, DateTime.Now.ToString("yyMMddssmm"), fileExtension); fileUpload.PostedFile.SaveAs(savepath + @"\" + sNewFileName); FilesEntity fileEntity = new FilesEntity(); fileEntity.ContentType = fileExtension.ToLower(); fileEntity.CreatedBy = UserInfo.UserID; fileEntity.FilePath = filderPath.Substring(2) + FolderName + @"/" + sNewFileName; fileEntity.FileSize = fileUpload.PostedFile.ContentLength; fileEntity.FileTitle = filename.Substring(0, filename.LastIndexOf('.')); fileEntity.IsPublic = true; fileEntity.ProjectId = int.Parse(hdProjectID.Value); fileEntity.TicketId = int.Parse(hdTicketID.Value); fileEntity.CreatedOn = DateTime.Now.Date; fileEntity.FeedbackId = feedbacksEntity.ID; fileEntity.SourceType = (int)FileSourceType.FeedBack; fileEntity.ThumbPath = ""; fileEntity.CompanyID = ticketsApp.GetCompanyIdByTicketId(int.Parse(hdTicketID.Value)); int response = new FileApplication().AddFile(fileEntity); } ShowSuccessMessageToClient(true, true); }
/// <summary> /// save : 1:save ; 2:draft ;3 save and new /// </summary> /// <param name="save"></param> private void SaveTicket(int save) { #region add ticket TicketsEntity ticketsEntity = new TicketsEntity(); ticketsEntity.Title = txtTitle.Value.NoHTML(); ticketsEntity.FullDescription = txtDesc.Value.NoHTML(); ticketsEntity.URL = txtUrl.Value; ticketsEntity.ProjectID = int.Parse(ddlProject.SelectedValue); ticketsEntity.TicketType = (TicketsType)int.Parse(ddlType.SelectedValue); ticketsEntity.TicketCode = new TicketsApplication().ConvertTicketTypeToTicketCode(ticketsEntity.TicketType); ticketsEntity.Priority = (PriorityState)int.Parse(this.radioPriority.SelectedValue); ProjectsEntity projectsEntity = new ProjectApplication().Get(ticketsEntity.ProjectID); ticketsEntity.CompanyID = projectsEntity.CompanyID; ticketsEntity.IsEstimates = chkEN.Checked; ticketsEntity.IsInternal = false; ticketsEntity.CreatedBy = UserInfo.UserID; ticketsEntity.CreatedOn = DateTime.Now; ticketsEntity.ModifiedBy = UserInfo.UserID; ticketsEntity.ModifiedOn = DateTime.Now; ticketsEntity.PublishDate = UtilFactory.Helpers.CommonHelper.GetDefaultMinDate(); ticketsEntity.ConvertDelete = CovertDeleteState.Normal; ticketsEntity.StartDate = UtilFactory.Helpers.CommonHelper.GetDefaultMinDate(); ticketsEntity.DeliveryDate = UtilFactory.Helpers.CommonHelper.GetDefaultMinDate(); if (UserInfo.Role == RolesEnum.PM || UserInfo.Role == RolesEnum.ADMIN) { ticketsEntity.Source = (RolesEnum)Enum.Parse(typeof(RolesEnum), ddlSource.SelectedValue); } else { ticketsEntity.Source = UserInfo.Role; } if (save == 2) { ticketsEntity.Status = TicketsState.Draft; } else { if (UserInfo.Role == RolesEnum.PM || UserInfo.Role == RolesEnum.ADMIN) { ticketsEntity.Status = TicketsState.PM_Reviewed; } else { ticketsEntity.Status = TicketsState.Submitted; } } int result = new TicketsApplication().AddTickets(ticketsEntity); if (result > 0) { TicketUsersEntity ticketUserEntity = new TicketUsersEntity(); //add pm user ticketUserEntity.Type = TicketUsersType.PM; ticketUserEntity.TicketID = result; ProjectsEntity projectEntity = new ProjectApplication().Get(ticketsEntity.ProjectID); if (projectEntity != null) { ticketUserEntity.UserID = projectEntity.PMID; new TicketsApplication().AddTicketUser(ticketUserEntity); } else { WebLogAgent.Write(string.Format("Add Pm To Ticket User Error:Project :{0},Ticket:{1},CreateDate:{2}", ticketsEntity.ProjectID, ticketsEntity.TicketID, DateTime.Now)); } //add create user ticketUserEntity.Type = TicketUsersType.Create; ticketUserEntity.TicketID = result; ticketUserEntity.UserID = ticketsEntity.CreatedBy; new TicketsApplication().AddTicketUser(ticketUserEntity); if (UserInfo.Role == RolesEnum.PM || UserInfo.Role == RolesEnum.ADMIN) { //添加当前Project中的Leader到此ticket下. List <ProjectUsersEntity> ProjectUsers = new ProjectApplication().GetProjectSunnetUserList(projectsEntity.ID); if (ProjectUsers != null) { List <ProjectUsersEntity> leaders = ProjectUsers.FindAll(r => r.Role == RolesEnum.Leader); foreach (ProjectUsersEntity leader in leaders) { ticketUserEntity = new TicketUsersEntity(); ticketUserEntity.Type = TicketUsersType.Dev; ticketUserEntity.TicketID = result; ticketUserEntity.UserID = leader.UserID; new TicketsApplication().AddTicketUser(ticketUserEntity); } } } } #endregion #region send email TicketStatusManagerApplication ex = new TicketStatusManagerApplication(); if (!ticketsEntity.IsInternal) { ex.SendEmailToPMWhenTicketAdd(result, ticketsEntity.TicketType); } #endregion #region add file if (fileupload.PostedFile.ContentLength > 0) { string FolderName = string.Empty; if (null != projectsEntity) { FolderName = projectsEntity.ProjectID.ToString(); } string filderPath = System.Configuration.ConfigurationManager.AppSettings["FolderPath"]; //~/path string savepath = Server.MapPath(filderPath) + FolderName; string filename = fileupload.PostedFile.FileName; string fileExtension = Path.GetExtension(filename); if (!Directory.Exists(savepath)) { Directory.CreateDirectory(savepath); } string sNewFileName = string.Format("{0}_{1}{2}", result, DateTime.Now.ToString("yyMMddssmm"), fileExtension); fileupload.PostedFile.SaveAs(savepath + @"\" + sNewFileName); FilesEntity fileEntity = new FilesEntity(); fileEntity.ContentType = fileExtension.ToLower(); fileEntity.CreatedBy = ticketsEntity.CreatedBy; fileEntity.FilePath = filderPath.Substring(2) + FolderName + @"/" + sNewFileName; fileEntity.FileSize = fileupload.PostedFile.ContentLength; fileEntity.FileTitle = filename.Substring(0, filename.LastIndexOf('.')); fileEntity.IsPublic = !ticketsEntity.IsInternal; fileEntity.ProjectId = ticketsEntity.ProjectID; fileEntity.TicketId = result; fileEntity.CreatedOn = DateTime.Now.Date; fileEntity.FeedbackId = 0; fileEntity.SourceType = (int)FileSourceType.Ticket; fileEntity.ThumbPath = ""; fileEntity.CompanyID = ticketsEntity.CompanyID; int response = new FileApplication().AddFile(fileEntity); } #endregion switch (save) { case 1: ShowMessageAndRedirect("The ticket has been added.", "/sunnet/Clients/ListTicket.aspx"); break; case 2: ShowMessageAndRedirect("The ticket has been added.", "/sunnet/Clients/ListTicketDrafted.aspx"); break; case 3: ShowMessageAndRedirect("The ticket has been added.", "/sunnet/Clients/AddBug.aspx"); break; } }
private void SaveTicket(bool save) { #region add ticket TicketsEntity ticketsEntity = new TicketsApplication().GetTickets(QS("tid", 0)); ticketsEntity.Title = txtTitle.Value.NoHTML(); ticketsEntity.FullDescription = txtDesc.Value.NoHTML(); ticketsEntity.URL = txtUrl.Value; ticketsEntity.ProjectID = int.Parse(ddlProject.SelectedValue); ticketsEntity.TicketType = (TicketsType)int.Parse(ddlTicketType.SelectedValue); ticketsEntity.Priority = (PriorityState)int.Parse(this.radioPriority.SelectedValue); ProjectsEntity projectsEntity = new ProjectApplication().Get(ticketsEntity.ProjectID); ticketsEntity.CompanyID = projectsEntity.CompanyID; ticketsEntity.IsEstimates = chkEN.Checked; ticketsEntity.TicketCode = new TicketsApplication().ConvertTicketTypeToTicketCode(ticketsEntity.TicketType); ticketsEntity.IsInternal = false; ticketsEntity.CreatedBy = UserInfo.UserID; ticketsEntity.CreatedOn = DateTime.Now; ticketsEntity.ModifiedBy = UserInfo.UserID; ticketsEntity.ModifiedOn = DateTime.Now; ticketsEntity.PublishDate = UtilFactory.Helpers.CommonHelper.GetDefaultMinDate(); ticketsEntity.ConvertDelete = CovertDeleteState.Normal; ticketsEntity.StartDate = UtilFactory.Helpers.CommonHelper.GetDefaultMinDate(); ticketsEntity.DeliveryDate = UtilFactory.Helpers.CommonHelper.GetDefaultMinDate(); if (save) { ticketsEntity.Status = TicketsState.Submitted; } else { ticketsEntity.Status = TicketsState.Draft; } if (new TicketsApplication().UpdateTickets(ticketsEntity)) { if (save) { new TicketStatusManagerApplication().SendEmailToPMWhenTicketAdd(ticketsEntity.TicketID, ticketsEntity.TicketType); } } #endregion #region add file if (fileupload.PostedFile.ContentLength > 0) { string FolderName = string.Empty; if (null != projectsEntity) { FolderName = projectsEntity.ProjectID.ToString(); } string filderPath = System.Configuration.ConfigurationManager.AppSettings["FolderPath"]; //~/path string savepath = Server.MapPath(filderPath) + FolderName; string filename = fileupload.PostedFile.FileName; string fileExtension = Path.GetExtension(filename); if (!Directory.Exists(savepath)) { Directory.CreateDirectory(savepath); } string sNewFileName = string.Format("{0}_{1}{2}", ticketsEntity.TicketID, DateTime.Now.ToString("yyMMddssmm"), fileExtension); fileupload.PostedFile.SaveAs(savepath + @"\" + sNewFileName); FilesEntity fileEntity = new FilesEntity(); fileEntity.ContentType = fileExtension.ToLower(); fileEntity.CreatedBy = ticketsEntity.CreatedBy; fileEntity.FilePath = filderPath.Substring(2) + FolderName + @"/" + sNewFileName; fileEntity.FileSize = fileupload.PostedFile.ContentLength; fileEntity.FileTitle = filename.Substring(0, filename.LastIndexOf('.')); fileEntity.IsPublic = !ticketsEntity.IsInternal; fileEntity.ProjectId = ticketsEntity.ProjectID; fileEntity.TicketId = ticketsEntity.TicketID; fileEntity.CreatedOn = DateTime.Now.Date; fileEntity.FeedbackId = 0; fileEntity.SourceType = (int)FileSourceType.Ticket; fileEntity.ThumbPath = ""; fileEntity.CompanyID = ticketsEntity.CompanyID; int response = new FileApplication().AddFile(fileEntity); } #endregion ShowMessageToClient("The ticket has been updated.", 0, true, true); }
protected void btnSave_Click(object sender, EventArgs e) { int id = QS("id", 0); if (id == 0) { ShowFailMessageToClient("unauthorized access."); return; } else { ProjectsEntity projectEntity = new ProjectApplication().Get(id); if (projectEntity == null) { ShowFailMessageToClient("unauthorized access."); return; } if (fileUpload.PostedFile.ContentLength == 0) { ShowFailMessageToClient("Please specify a file to upload."); return; } FilesEntity model = FileFactory.CreateFileEntity(UserInfo.ID, ObjectFactory.GetInstance <ISystemDateTime>()); model.FilePath = UtilFactory.Helpers.FileHelper.SaveUploadFiles("Project", id, fileUpload.PostedFile);; model.CompanyID = projectEntity.CompanyID; model.ContentType = fileUpload.PostedFile.ContentType; model.FileID = 0; model.FileSize = fileUpload.PostedFile.ContentLength; if (string.IsNullOrEmpty(txtFileTitle.Text)) { model.FileTitle = Path.GetFileName(fileUpload.FileName); model.FileTitle = model.FileTitle.Substring(0, model.FileTitle.LastIndexOf(".")); } else { model.FileTitle = txtFileTitle.Text; } model.IsDelete = false; model.IsPublic = UserInfo.Role == RolesEnum.CLIENT; model.SourceType = (int)FileSourceType.Project; model.ProjectId = id; model.ThumbPath = Path.GetFileName(fileUpload.PostedFile.FileName); model.IsDelete = false; FileApplication fileApp = new FileApplication(); int result = fileApp.AddFile(model); OperateDocManagements.OperateDocManagementSoapClient client = new OperateDocManagements.OperateDocManagementSoapClient(); List <FilesEntity> clientFiles = new List <FilesEntity>(); clientFiles.Add(model); client.AddDocManagement(Newtonsoft.Json.JsonConvert.SerializeObject(clientFiles)); if (result <= 0) { Redirect("File upload error.", "AddProjectFile.aspx?ID" + QS("ID")); } else { Redirect(EmptyPopPageUrl, false, true); } } }