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("");
            }
        }
Exemple #3
0
        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);
        }
Exemple #8
0
        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;
                    }
                }
            }
        }
Exemple #10
0
 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;
     }
 }
Exemple #11
0
        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!");
            }
        }
Exemple #12
0
        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));
        }
Exemple #14
0
        //上传社员申请表
        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();
     }
 }
Exemple #16
0
        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("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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 = "";
                }
            }
        }
Exemple #21
0
        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);
        }
Exemple #22
0
        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);
        }
Exemple #23
0
        /// <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);
        }
Exemple #25
0
        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);
                }
            }
        }