private bool IsTicketUser() { TicketsApplication ticketsApplication = new TicketsApplication(); return(ticketsApplication.IsTicketUser(ChangeStatusTicketsEntityInfo.ID, UserInfo.ID)); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (QS("tid", 0) > 0) { TicketsEntity entity = new TicketsApplication().GetTickets(QS("tid", 0)); if (entity == null && entity.CreatedBy != UserInfo.UserID) { ShowFailMessageToClient("unauthorized access."); return; } ProjectApplication projectApplication = new ProjectApplication(); List <ProjectDetailDTO> list = projectApplication.GetUserProjects(UserInfo); this.ddlProject.DataTextField = "Title"; this.ddlProject.DataValueField = "ProjectID"; ddlProject.DataSource = list; ddlProject.DataBind(); jsonProjectAndEstimate = projectApplication.GetProjectAndEstimateRelationJson(list); if (list.Count != 1) { ddlProject.Items.Insert(0, new ListItem() { Value = "", Text = "Please select..." }); } BindTicket(entity); } } }
protected void Page_Load(object sender, EventArgs e) { cgApp = new CateGoryApplication(); tickApp = new TicketsApplication(); tsApp = new TimeSheetApplication(); projApp = new ProjectApplication(); try { if (!string.IsNullOrEmpty(Request.Params["date"])) { this.SelectedDate = Convert.ToDateTime(Request.QueryString["date"]); if (!TimeSheetTicket.CanEdit(this.SelectedDate)) { Alert("This date is invalid", "ListTimesheet.aspx"); } } else { this.SelectedDate = DateTime.Now; } } catch { this.SelectedDate = DateTime.Now; } if (!IsPostBack) { InitControls(); this.Title = string.Format("Write Timesheet - {0}", this.SelectedDate.ToString("MM/dd/yyyy")); } }
/// <summary> /// save : 1:save ; 2:draft ;3 save and new /// </summary> /// <param name="save"></param> private void SaveTicket(int save) { ProjectsEntity projectsEntity = new ProjectApplication().Get(int.Parse(ddlProject.SelectedValue)); //判断当前日期是否大于Project的End Date if (!projectApplication.CheckIfEstimated(projectsEntity)) { ShowMessageToClient("This project is closed, if you need to submit new tickets for this project, please contact us at [email protected].", 2, false, false); return; } TicketsEntity ticketsEntity = GetEntity(save, projectsEntity.ProjectID, projectsEntity.CompanyID); int result = new TicketsApplication().AddTickets(ticketsEntity); if (result > 0) { AddTicketUsers(projectsEntity, ticketsEntity, result); AddIniHistroy(ticketsEntity); if (!ticketsEntity.IsInternal) { SendHandler handler = new SendHandler(SendEamil); handler.BeginInvoke(ticketsEntity, UserInfo, null, null); } string fileName = hidUploadFile.Value; if (fileName.Trim() != string.Empty) { string[] files = fileName.Split('|'); foreach (string str in files) { InsertFile(str, ticketsEntity.ProjectID, result, ticketsEntity.CompanyID); } } switch (save) { case 1: Redirect("/Ticket/Ongoing.aspx", true); break; case 2: Redirect("/Ticket/Draft.aspx", true); break; case 3: // ShowSuccessMessageToClient("The ticket has been added.", false, false); Redirect("/Ticket/New.aspx?project=" + ddlProject.SelectedValue, true); break; } } else { ShowFailMessageToClient(); } }
private string GetTasksByTickets(int id) { TicketsApplication tickApp = new TicketsApplication(); List <TasksEntity> listtasks = tickApp.GetTaskByID(id, true); string jsontasks = UtilFactory.Helpers.JSONHelper.GetJson <List <TasksEntity> >(listtasks); return(jsontasks); }
public ReminderManager() { BootStrap.Config(); _ticketsApp = new TicketsApplication(); _usersApp = new UserApplication(); _projectApp = new ProjectApplication(); _historyManager = new ReminderHistoryManager(); }
protected void Page_Load(object sender, EventArgs e) { ticketApp = new TicketsApplication(); if (!IsPostBack) { InitProjects(); InitControls(); } }
protected void Page_Load(object sender, EventArgs e) { cgApp = new CateGoryApplication(); tickApp = new TicketsApplication(); trApp = new TicketsRelationApplication(); if (!IsPostBack) { InitControl(); } }
public DayEntity(int year, int month, int day, string keyword, int userID, int status, List <ScheduleTicketEntity> mts) { this.Year = year; this.Month = month; this.Day = day; this.Keyword = keyword; this.Status = status; this.UserID = userID; _tickApp = new TicketsApplication(); _monthTickets = mts; }
public MonthEntity(int year, int month, string keyword, int userID, int status) { this.Year = year; this.Month = month; this.Keyword = keyword; this.Status = status; this._startDate = new DateTime(year, month, 1); this._endDate = new DateTime(year, month, DateTime.DaysInMonth(year, month)); this.UserID = userID; this.IsPageModal = false; _tickApp = new TicketsApplication(); }
private void BindTickets() { if (ddlProject.SelectedValue == "0") { ddlTickets.Items.Add(new ListItem("All", "0")); } else { TicketsApplication tickApp = new TicketsApplication(); SearchTicketsRequest request = new SearchTicketsRequest(SearchTicketsType.TicketsListByPID, " TicketTitle Asc", false); request.ProjectID = int.Parse(ddlProject.SelectedValue); SearchTicketsResponse response = tickApp.SearchTickets(request); response.ResultList.BindDropdown <ExpandTicketsEntity>(ddlTickets, "Title", "ID", "All", "0"); } }
protected void ddlProject_SelectedIndexChanged(object sender, EventArgs e) { ddlTickets.Items.Clear(); if (ddlProject.SelectedValue == "0") { ddlTickets.Items.Add(new ListItem("All", "0")); } else { TicketsApplication tickApp = new TicketsApplication(); SearchTicketsRequest request = new SearchTicketsRequest(SearchTicketsType.TicketsListByPID, " TicketTitle Asc", false); request.ProjectID = int.Parse(ddlProject.SelectedValue); SearchTicketsResponse response = tickApp.SearchTickets(request); response.ResultList.BindDropdown <ExpandTicketsEntity>(ddlTickets, "Title", "ID", "All", "0"); } }
private SearchTicketsResponse GetTicketsByProject(int projID, DateTime sheetDate) { SearchTicketsRequest request = new SearchTicketsRequest(SearchTicketsType.TicketsForTimesheets, "TicketTitle ASC ", false); request.SheetDate = sheetDate; request.UserID = IdentityContext.UserID; request.ProjectID = projID; request.OrderBy = "TicketID"; List <TicketsState> listStatus = TicketsStateHelper.TimeSheetStates; request.Status = listStatus; TicketsApplication tickApp = new TicketsApplication(); SearchTicketsResponse response = tickApp.SearchTickets(request); return(response); }
protected void Page_Load(object sender, EventArgs e) { projApp = new ProjectApplication(); ticketApp = new TicketsApplication(); if (!IsPostBack) { int id = QS("id", 0); if (id == 0) { this.ShowArgumentErrorMessageToClient(); } else { InitControls(); } } }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; if (IdentityContext.UserID <= 0) { context.Response.Write("[]"); return; } string type = context.Request["type"]; if (string.IsNullOrEmpty(type)) { context.Response.Write(""); return; } string response = string.Empty; switch (type) { case "UpdateStar": int ticketid = 0; int star = 0; if (int.TryParse(context.Request["ticketid"], out ticketid) && int.TryParse(context.Request["star"], out star)) { TicketsApplication tickApp = new TicketsApplication(); if (tickApp.UpdateTicketStar(ticketid, star)) { response = ResponseMessage.GetResponse(true, ResponseMessage.SuccessMessage, star); } else { response = ResponseMessage.GetResponse(true, ResponseMessage.SuccessMessage, star); } } else { response = ResponseMessage.GetResponse(true, "Arguments Error", 0); } context.Response.Write(response); break; default: break; } }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; TicketsApplication ticketAPP = new TicketsApplication(); UserApplication userAPP = new UserApplication(); try { if (IdentityContext.UserID <= 0) { return; } int tid = Convert.ToInt32(context.Request["tid"]); TicketsEntity ticketEntity = ticketAPP.GetTickets(tid); UsersEntity userEntity = userAPP.GetUser(IdentityContext.UserID); if (ticketEntity != null) { string filePath = System.AppDomain.CurrentDomain.BaseDirectory + "Template\\SendEmailToTeemByClientCancleTicket.txt"; string contentTemplete = string.Empty; //if (File.Exists(filePath)) //{ // contentTemplete = File.ReadAllText(filePath); //} contentTemplete = string.Format("<br/>The Ticket {0}, {1} has been cancelled by {2}<br/>" , ticketEntity.TicketID, ticketEntity.Title, userEntity.FirstAndLastName); string from = Config.DefaultSendEmail; string to = "*****@*****.**"; string subject = "Ticket be cancelled"; ObjectFactory.GetInstance <IEmailSender>().SendMail(to, from, subject, contentTemplete); } } catch (Exception ex) { context.Response.Write("para error!"); WebLogAgent.Write(string.Format("Error Ashx:SendEmailClientCancelTicketHandler.ashx Messages:\r\n{0}", ex)); return; } }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; if (IdentityContext.UserID <= 0) { return; } int pid = 0; if (!int.TryParse(context.Request.Form["pId"], out pid)) { return; } int tid = 0; if (!int.TryParse(context.Request.Form["tId"], out tid)) { return; } int status; if (!int.TryParse(context.Request.Form["status"], out status)) { return; } UsersEntity userEntity = new App.UserApplication().GetUser(IdentityContext.UserID); if (userEntity.Role == RolesEnum.PM || userEntity.Role == RolesEnum.Leader) { TicketsApplication ticketAPP = new TicketsApplication(); if (ticketAPP.ChangeInternalTicketStatus(IdentityContext.UserID, tid, (SunNet.PMNew.Entity.TicketModel.TicketsState)status)) { context.Response.Write("1"); //ok } else { context.Response.Write("2"); //ticket associated personnel operate it! } } }
protected void Page_Load(object sender, EventArgs e) { projApp = new ProjectApplication(); fbmHandler = new FeedBackMessageHandler(UserInfo); tickApp = new TicketsApplication(); if (!IsPostBack) { InitSearchControls(); int projectID = QS("pid", 0); if (projectID != 0) { ddlProject.SelectedValue = projectID.ToString(); InitControl(projectID.ToString()); } else { InitControl(string.Empty); } } }
protected void Page_Load(object sender, EventArgs e) { ((Pop)this.Master).Width = 800; tsApp = new TimeSheetApplication(); if (!IsPostBack) { string headStr = ""; ProjectApplication projApp = new ProjectApplication(); TicketsApplication ticketApp = new TicketsApplication(); ProjectsEntity project = projApp.Get(QS("project", 0)); TicketsEntity ticket = ticketApp.GetTickets(QS("ticket", 0)); if (project != null) { headStr += project.Title; } if (ticket != null) { headStr += " - " + ticket.Title; } litHead.Text = headStr; InitControl(); } }
private string GetTicketsByProject(int projID, DateTime sheetDate) { SearchTicketsRequest request = new SearchTicketsRequest(SearchTicketsType.TicketsForTimesheets, "TicketTitle ASC ", false); request.SheetDate = sheetDate; request.UserID = IdentityContext.UserID; request.ProjectID = projID; List <TicketsState> listStatus = TicketsStateHelper.TimeSheetStates; request.Status = listStatus; TicketsApplication tickApp = new TicketsApplication(); SearchTicketsResponse response = tickApp.SearchTickets(request); if (!response.IsError) { string json = UtilFactory.Helpers.JSONHelper.GetJson <List <ExpandTicketsEntity> >(response.ResultList); return(json); } else { return("[]"); } }
private void TicketsDataBind() { List <TicketsEntity> list = null; GetTicketsListByConditionRequest request = new GetTicketsListByConditionRequest(); TicketsApplication ticketAPP = new TicketsApplication(); TicketsSearchConditionDTO DTO = new TicketsSearchConditionDTO(); DTO.KeyWord = ""; DTO.Status = Convert.ToString((int)TicketsState.Draft); DTO.TicketType = ""; DTO.Project = ""; DTO.AssignedUser = ""; DTO.Company = ""; DTO.Client = ""; DTO.ClientPriority = ""; // DTO.PriorityView = true; request.TicketSc = DTO; //list = ticketAPP.GetTicketListBySearchCondition(request); //this.rptTicketsList.DataSource = list; //this.rptTicketsList.DataBind(); }
public void ProcessRequest(HttpContext context) { int ticketID = QS(context.Request.QueryString["tid"], 0); int star = QS(context.Request.QueryString["star"], 0); if (ticketID > 0) { TicketsApplication ticketsApplication = new TicketsApplication(); if (ticketsApplication.UpdateTicketStar(ticketID, star)) { context.Response.Write("1"); } else { context.Response.Write("0"); } } else { context.Response.Write("0"); } context.Response.End(); }
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); }
/// <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; } }
protected void btnSubmit_Click(object sender, EventArgs e) { int ticketID = QS("tid", 0); if (ticketID != 0) { bool isSuccess = UpdateTicketStatusToDeny(ticketID); if (isSuccess) { if (txtDescription.Text.Trim() != "" || (Request.Files.Count > 0 && Request.Files[0].ContentLength > 0)) { FeedBacksEntity feedbacksEntity = new FeedBacksEntity(); feedbacksEntity.IsDelete = false; feedbacksEntity.TicketID = ticketID; feedbacksEntity.Title = ""; feedbacksEntity.Description = txtDescription.Text.Trim().NoHTML(); feedbacksEntity.CreatedBy = UserInfo.UserID; feedbacksEntity.CreatedOn = DateTime.Now; feedbacksEntity.ModifiedOn = DateTime.Now; feedbacksEntity.IsPublic = true; feedbacksEntity.WaitClientFeedback = FeedbackReplyStatus.Normal; feedbacksEntity.WaitPMFeedback = FeedbackReplyStatus.Normal; feedbacksEntity.ID = fbAPP.AddFeedBacks(feedbacksEntity); if (feedbacksEntity.ID <= 0) { ShowFailMessageToClient(); return; } ticketStatusMgr.SendEmailtoPMForFeedBack(feedbacksEntity);//状态更新不进行跟新气泡,by dave 2017/09/22 //if (ticketAPP.CreateNotification(ticketID,UserInfo.UserID)) //{ // //发邮件给PM // ticketStatusMgr.SendEmailtoPMForFeedBack(feedbacksEntity); //} HttpFileCollection files = Request.Files; string fileuploadErrMsg = string.Empty; TicketsEntity ticketsEntity = new TicketsApplication().GetTickets(feedbacksEntity.TicketID); for (int i = 0; i < files.Count; i++) { if (files[i].ContentLength > 0 && IsValidFile(files[i].FileName)) { if (!InsertFile(files[i], ticketsEntity.ProjectID, feedbacksEntity.TicketID, feedbacksEntity.IsPublic, feedbacksEntity.ID)) { fileuploadErrMsg += files[i].FileName + " Upload failed."; } } } if (!string.IsNullOrEmpty(fileuploadErrMsg)) { ShowFailMessageToClient(fileuploadErrMsg); return; } } string returnurl = Request.QueryString["returnurl"]; if (string.IsNullOrEmpty(returnurl)) { Redirect(Request.RawUrl, false, true); } else { ParentToUrl(returnurl); } } else { ShowFailMessageToClient("Update ticket’s status fail."); } } else { ShowFailMessageToClient("Update ticket’s status fail."); } }
private bool ClearFeedbackMessage(int ticketID) { TicketsApplication tickApp = new TicketsApplication(); return(tickApp.ClearNotification(ticketID, UserID)); }
protected void btnSubmit_Click(object sender, EventArgs e) { //添加ticket的Rating, 和Feedback int star; if (!int.TryParse(hdStar.Value, out star)) { star = 0; } int ticketID = QS("tid", 0); if (ticketID != 0) { TicketsApplication ticketsApplication = new TicketsApplication(); if (ticketsApplication.UpdateTicketStar(ticketID, star)) { //添加Feedback bool isSuccess = UpdateTicketStatusToApprove(ticketID); if (isSuccess) { if (txtFeedback.Text.Trim() != string.Empty) { FeedBacksEntity feedbacksEntity = new FeedBacksEntity(); feedbacksEntity.IsDelete = false; feedbacksEntity.TicketID = ticketID; feedbacksEntity.Title = ""; feedbacksEntity.Description = txtFeedback.Text.NoHTML(); feedbacksEntity.CreatedBy = UserInfo.UserID; feedbacksEntity.CreatedOn = DateTime.Now; feedbacksEntity.ModifiedOn = DateTime.Now; feedbacksEntity.IsPublic = true; feedbacksEntity.WaitClientFeedback = FeedbackReplyStatus.Normal; feedbacksEntity.WaitPMFeedback = FeedbackReplyStatus.Normal; feedbacksEntity.ID = fbAPP.AddFeedBacks(feedbacksEntity); if (feedbacksEntity.ID <= 0) { ShowFailMessageToClient(); return; } ticketStatusMgr.SendEmailtoPMForFeedBack(feedbacksEntity);//状态更新,不进行刷新气泡 //if (ticketAPP.CreateNotification(ticketID,UserInfo.UserID)) //{ // //发邮件给PM // ticketStatusMgr.SendEmailtoPMForFeedBack(feedbacksEntity); //} } string returnurl = Request.QueryString["returnurl"]; if (string.IsNullOrEmpty(returnurl)) { Redirect(Request.RawUrl, false, true); } else { ParentToUrl(returnurl); } } else { ShowFailMessageToClient("Update ticket’s status fail."); } } } else { ShowFailMessageToClient("Update ticket’s status fail."); } }
private void SaveTicket(bool save) { #region add ticket TicketsEntity ticketsEntity = new TicketsApplication().GetTickets(QS("tid", 0)); ticketsEntity.Title = txtTitle.Text.NoHTML(); ticketsEntity.FullDescription = txtDesc.Value.NoHTML(); ticketsEntity.URL = txtUrl.Text; ticketsEntity.ProjectID = int.Parse(ddlProject.SelectedValue); ticketsEntity.TicketType = (TicketsType)int.Parse(rdoType.SelectedValue); ticketsEntity.Priority = (PriorityState)int.Parse(this.rdoPriority.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, UserInfo); } } #endregion #region add file string fileName = hidUploadFile.Value; if (fileName.Trim() != string.Empty) { string[] files = fileName.Split('|'); foreach (string str in files) { InsertFile(str, ticketsEntity.ProjectID, ticketsEntity.TicketID, ticketsEntity.CompanyID); } } #endregion ShowMessageToClient("The ticket has been updated.", 0, true, true); if (save) { Redirect("/Ticket/Ongoing.aspx", true); } else { Redirect("/Ticket/Draft.aspx", true); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { List <ProjectDetailDTO> list = projectApplication.GetUserProjects(UserInfo); List <TicketsEntity> listTicket = ticketAPP.GetTicketsByCreateId(UserInfo.UserID); var projectDetailDto = list.FirstOrDefault(c => { var firstOrDefault = listTicket.FirstOrDefault(); return(firstOrDefault != null && c.Title == firstOrDefault.ProjectTitle); }); jsonProjectInfo = projectApplication.GetProjectInfoJson(list); if (QS("tid", 0) > 0) { TicketsEntity entity = new TicketsApplication().GetTickets(QS("tid", 0)); if (entity == null && entity.CreatedBy != UserInfo.UserID) { ShowFailMessageToClient("unauthorized access."); return; } this.ddlProject.DataTextField = "Title"; this.ddlProject.DataValueField = "ProjectID"; if (list != null && list.Count > 0) { list.RemoveAll(r => r.Status == ProjectStatus.Cancelled || r.Status == ProjectStatus.Completed); } ddlProject.DataSource = list; ddlProject.DataBind(); jsonProjectInfo = projectApplication.GetProjectInfoJson(list); if (list.Count != 1) { ddlProject.Items.Insert(0, new ListItem() { Value = "", Text = "Please select..." }); } BindTicket(entity); this.btnEditSave.Visible = true; this.btnEditSubmit.Visible = true; this.btnSaveAndNew.Visible = false; this.btnSaveAsDraft.Visible = false; this.btnClear.Visible = false; btnSubmit.Visible = false; } else { if (projectDetailDto != null) { list.Remove(projectDetailDto); list.Insert(0, projectDetailDto); list.BindDropdown <ProjectDetailDTO>(ddlProject, "Title", "ProjectID"); ddlProject.Items.FindByValue(projectDetailDto.ProjectID.ToString()).Selected = true; } else { list.BindDropdown <ProjectDetailDTO>(ddlProject, "Title", "ProjectID", DefaulSelectText, "", QS("project")); } if (UserInfo.Role == RolesEnum.PM || UserInfo.Role == RolesEnum.ADMIN) { dvSource.Style.Remove("visibility"); lblSource.Style.Remove("visibility"); ddlSource.DataSource = ConvertEnumtToListItem(typeof(RolesEnum)); ddlSource.DataBind(); ddlSource.SelectedValue = RolesEnum.CLIENT.ToString(); } this.btnEditSave.Visible = false; this.btnEditSubmit.Visible = false; } if (list.Count == 1 && !projectApplication.CheckIfEstimated(list[0])) //只有一个Project,且已过期 { this.btnSaveAsDraft.Enabled = false; this.btnSubmit.Enabled = false; this.btnSaveAndNew.Enabled = false; } } }
/// <summary> /// save : 1:save ; 2:draft ;3 save and new /// </summary> /// <param name="save"></param> private void SaveTicket(int save) { ProjectsEntity projectsEntity = new ProjectApplication().Get(int.Parse(ddlProject.SelectedValue)); TicketsEntity ticketsEntity = GetEntity(save, projectsEntity.ProjectID, projectsEntity.CompanyID); int result = new TicketsApplication().AddTickets(ticketsEntity); if (result > 0) { ticketsEntity.TicketID = result; List <int> userIds; AddDefaultTicketUsers(projectsEntity, ticketsEntity, result, out userIds); AssignTicketUsers(ticketsEntity, userIds); AddIniHistroy(ticketsEntity); if (rdoShareKnowlege.Checked) { ShareEntity shareEntity = new ShareEntity(UserInfo.ID, ObjectFactory.GetInstance <ISystemDateTime>()); int type = 0; shareEntity.Title = ticketsEntity.Title; shareEntity.Note = ticketsEntity.FullDescription; shareEntity.Type = type; shareEntity.TicketID = result; shareEntity.TypeEntity.Title = ticketsEntity.Title; _shareApp.Save(shareEntity); } if (!ticketsEntity.IsInternal) { new SendHandler(() => ex.SendEmailToPMWhenTicketAdd(ticketsEntity, UserInfo)) .BeginInvoke(null, null); } string fileName = hidUploadFile.Value; if (fileName.Trim() != string.Empty) { string[] files = fileName.Split('|'); foreach (string str in files) { InsertFile(str, ticketsEntity.ProjectID, result, ticketsEntity.CompanyID); } } ProposalTrackerRelationEntity model = new ProposalTrackerRelationEntity(); if (hid_Proposal.Value != "") { model.CreatedBy = IdentityContext.UserID; model.TID = ticketsEntity.TicketID; model.WID = int.Parse(this.hid_Proposal.Value); wrApp.AddProposalTrackerRelation(model); } switch (save) { case 1: Redirect("/SunnetTicket/Index.aspx", true); break; case 3: Redirect("/SunnetTicket/New.aspx?project=" + ddlProject.SelectedValue, true); break; } } else { ShowFailMessageToClient(); } }