public bool UpdateTicketStatusToApprove(int ticketID) { try { if (UserInfo.UserID <= 0) { return(false); } TicketsEntity ticketEntity = ticketAPP.GetTickets(ticketID); TicketsState originalStatus = ticketEntity.Status; bool Update = true; ticketEntity.Status = TicketsState.Completed; ticketEntity.ModifiedOn = DateTime.Now; ticketEntity.ModifiedBy = UserInfo.UserID; ticketEntity.PublishDate = DateTime.Now.Date; Update = ticketAPP.UpdateTickets(ticketEntity); // 完成时更新所有相关人员的WorkingOn状态 ticketAPP.UpdateWorkingOnStatus(ticketID, TicketsState.Completed); return(Update); } catch (Exception ex) { WebLogAgent.Write(string.Format("Error Ashx:DoUpdateTicketStatus.ashx Messages:\r\n{0}", ex)); return(false); } }
public List <TicketsEntity> GetAllRelation(int wid) { List <string> listR = new List <string>(); StringBuilder strSql = new StringBuilder(); strSql.Append(@"WITH Tickets AS (SELECT * FROM DBO.GetTicketsView(@UserId)) select * from Tickets where ticketid in (select tid from ProposalTrackerRelation where wid =@wid)"); List <TicketsEntity> list = new List <TicketsEntity>(); Database db = DatabaseFactory.CreateDatabase(); using (DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString())) { try { db.AddInParameter(dbCommand, "wid", DbType.Int32, wid); db.AddInParameter(dbCommand, "UserId", DbType.Int32, IdentityContext.UserID); using (IDataReader dataReader = db.ExecuteReader(dbCommand)) while (dataReader.Read()) { list.Add(TicketsEntity.ReaderBind(dataReader, false)); } } catch (Exception ex) { WebLogAgent.Write(string.Format("[SQLText:{0},{1}Messages:\r\n{2}]" , strSql.ToString(), base.FormatParameters(dbCommand.Parameters), ex.Message)); return(null); } } return(list); }
private void BindDataModel(TicketsEntity info) { this.TicketID = info.TicketID; this.ProjectId = info.ProjectID.ToString(); this.Url = info.URL; this.Descr = Server.HtmlDecode(info.FullDescription); this.Title = Server.HtmlDecode(info.Title); this.BugType = info.TicketType.GetHashCode(); this.CheckEn = info.IsEstimates; this.Priority = info.Priority.GetHashCode(); this.startDate = info.StartDate <= UtilFactory.Helpers.CommonHelper.GetDefaultMinDate() ? "" : info.StartDate.ToString("MM/dd/yyyy"); this.DeliveryDate = info.DeliveryDate <= UtilFactory.Helpers.CommonHelper.GetDefaultMinDate() ? "" : info.DeliveryDate.ToString("MM/dd/yyyy"); this.lilImageList = fileList(info.TicketID, info.Status); if ((UserInfo.Role == RolesEnum.Leader || UserInfo.Role == RolesEnum.PM)) { selectStatus.Visible = true; if (info.Status != TicketsState.Draft && info.Status != TicketsState.Submitted && info.Status != TicketsState.Wait_PM_Feedback) { selectStatus.Items.FindByValue(((int)info.Status).ToString()).Selected = true; } btnChangeInternalStatus.Visible = true; } else { selectStatus.Visible = false; btnChangeInternalStatus.Visible = false; } }
private void ShowAssginUsers(TicketsEntity TicketsEntityInfo) { if (IsSunnet == "true" && TicketsEntityInfo == null) { this.trAssignUser.Visible = true; } }
private void HideControlByStatus(TicketsEntity entity) { if (entity.Status == TicketsState.Completed) { isShowRating = true; } }
/// <summary> /// 发邮件给创建者,请他确认ticket /// </summary> /// <param name="fe"></param> public void SendEmailtoCreate(TicketsEntity ticketEntity, UsersEntity userEntity) { //string contentTemplete = GetEmailExecuter("SendEmailForReadyforReview.txt"); //string from = Config.DefaultSendEmail; string to = userApp.GetUser(ticketEntity.CreatedBy).Email; //string subject = string.Format("{0} ticket {1} is complete. Please review.", GetProjectTitleByPid(ticketEntity.ProjectID), ticketEntity.TicketID); //string content = string.Empty; //xml 发送邮件 XElement xmlInvoice1 = XElement.Load(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "Template/SendEmailForReadyforReview.xml"); emailBody = xmlInvoice1.Element("email").Elements("content").First().Value; emailSubject = xmlInvoice1.Element("email").Elements("subject").First().Value.Replace("{ProjectTitle}", ticketEntity.ProjectTitle); emailBody = emailBody.Replace("{TicketID}", ticketEntity.TicketID.ToString()) .Replace("{TicketTitle}", ticketEntity.Title) .Replace("{TicketDescription}", ticketEntity.Description) .Replace("{PMUserName}", userEntity.FirstAndLastName) .Replace("{Date}", DateTime.Now.ToString("MM/dd/yyyy")); SFConfig.Components.EmailSender.SendMail(to, emailSubject, emailBody, true, MailPriority.Normal); //if (!string.IsNullOrEmpty(contentTemplete.Trim())) //{ // content = contentTemplete.Trim(); // content = content.Replace("[TicketID]", ticketEntity.TicketID.ToString()); // content = content.Replace("[PMUserName]", userEntity.FirstAndLastName); //} //emailSender.SendMail(to, from, subject, content.ToString()); }
//submit no 3 protected void btnSub_Click(object sender, EventArgs e) { #region set value pId = AddTicket3.ProjectId; Descr = AddTicket3.Descr.NoHTML(); title = AddTicket3.Title.NoHTML(); tType = AddTicket3.BugType; url = AddTicket3.Url; ckbEn = AddTicket3.CheckEn; pty = AddTicket3.Priority; #endregion if (BaseValidate(pId, Descr, title, tType, pty)) { this.btnSub.Enabled = false; this.btnSave.Enabled = false; entity = new TicketsEntity(); entity.ProjectID = Convert.ToInt32(pId); entity.CompanyID = UserInfo.CompanyID; entity.Priority = (PriorityState)Convert.ToInt32(pty); entity.TicketType = (TicketsType)Convert.ToInt32(tType); entity.Title = title; entity.URL = url; entity.FullDescription = Descr; entity.CreatedBy = UserInfo.UserID; entity.CreatedOn = DateTime.Now; entity.ModifiedOn = DateTime.Now; entity.Status = TicketsState.Draft; entity.IsEstimates = ckbEn; entity.StartDate = UtilFactory.Helpers.CommonHelper.GetDefaultMinDate(); entity.DeliveryDate = UtilFactory.Helpers.CommonHelper.GetDefaultMinDate(); entity.TicketCode = Enum.GetName(typeof(TicketsType), Convert.ToInt32(tType)).Substring(0, 1); entity.IsInternal = false; entity.ModifiedBy = 0; entity.PublishDate = UtilFactory.Helpers.CommonHelper.GetDefaultMinDate(); entity.ConvertDelete = CovertDeleteState.Normal; entity.Source = UserInfo.Role; result = ticketAPP.AddTickets(entity); if (result > 0) { AddFile(result, entity.ProjectID, 2); this.AddTicket3.Msg = "No 3, Ticket Add Success!"; //ShowMessageToClient("No 3, Ticket Add Success!", 0, false, false); this.btnSave.CssClass += " button_enabled"; this.btnSub.CssClass += " button_enabled"; DoAddPmAndSendEmail(entity); } else { this.AddTicket3.Msg = "No 3, Ticket Add Fail!"; //ShowMessageToClient("No 3, Ticket Add Fail!", 0, false, false); this.btnSub.Enabled = true; this.btnSave.Enabled = true; } } }
/// <summary> /// wait client feedback /// </summary> /// <param name="fe"></param> public void SendEmailtoClientForFeedBack(FeedBacksEntity fe) { string contentTemplete = GetEmailExecuter("SendEmailToClientForFeedBack.txt"); string from = Config.DefaultSendEmail; string to = ""; TicketsEntity te = ticketsRpst.Get(fe.TicketID); var creators = ticketsUserRpst.GetTicketUser(fe.TicketID, TicketUsersType.Create); var creator = creators != null && creators.Count > 0 ? creators[0] : null; if (creator != null) { var user = userRpst.Get(creator.UserID); to = user.Email; string subject = string.Format("Ticket #{0} {1} needs your feedback.", te.TicketCode, te.Title); string content = string.Empty; if (!string.IsNullOrEmpty(contentTemplete.Trim())) { content = contentTemplete.Trim(); content = content.Replace("[ClientName]", user.FirstAndLastName); content = content.Replace("[PmName]", GetUnameByRoleTypeAndTicketId(te.TicketID, TicketUsersType.PM)); } emailSender.SendMail(to, @from, subject, content.ToString()); } }
public TicketsEntity ToBusinessEntity(ISystemDateTime timeProvider) { TicketsEntity entity = TicketsFactory.Create(this.PostByUserID, timeProvider); entity.Title = string.Empty; entity.URL = string.Empty; entity.CompanyID = 0; entity.ContinueDate = 0; entity.ConvertDelete = (int)CovertDeleteState.Normal; entity.CreateUserName = string.Empty; entity.DeliveryDate = timeProvider.Now; entity.Description = string.Empty; entity.DevTsHours = 0; entity.Hours = timeProvider.Now.Hour; entity.ID = 0; entity.IsEstimates = false; entity.IsInternal = false; entity.Priority = (int)PriorityState.Normal; entity.ProjectID = 0; entity.PublishDate = timeProvider.Now; entity.QaTsHours = 0; entity.SourceTicketID = 0; entity.StartDate = timeProvider.Now; entity.Status = 0; entity.TicketID = 0; entity.TicketType = Enum.GetName(typeof(TicketsType), TicketsType.Bug); entity.CreatedBy = PostByUserID; entity.ModifiedBy = PostByUserID; entity.CreatedOn = timeProvider.Now; entity.ModifiedOn = timeProvider.Now; return(entity); }
private bool AssignTicketUsers(TicketsEntity ticketsEntity, List <int> userIds) { TicketUsersEntity tuEntity = new TicketUsersEntity(); string[] userWithRoleList = hdTicketUsers.Value.TrimEnd(',').Split(','); int assignResult = 0; if (userWithRoleList.Length > 0) { foreach (string item in userWithRoleList) { if (item.Length > 0) { string[] userWithRole = item.Split('|'); if (userWithRole.Length > 0) { if (userIds.Contains(Convert.ToInt32(userWithRole[0])) == false) { tuEntity.TicketID = ticketsEntity.TicketID; tuEntity.UserID = Convert.ToInt32(userWithRole[0]); tuEntity.Type = GetUserTypeByRoleID(userWithRole[1]); //Convert.ToInt32(userWithRole[0]); assignResult = ticketAPP.AddTicketUser(tuEntity); if (assignResult > 0) { //当创建Ticket时,不发送邮件给Assign Users了 //new SendHandler(() => ex.SendEmailToAssignedUser(tuEntity, ticketsEntity, UserInfo)).BeginInvoke(null, null); } } } } } } return(true); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { int tid = QS("tid", 0); #region bind data if (tid <= 0) { this.ShowArgumentErrorMessageToClient(); return; } else { TicketsEntity ticketEntity = TicketApp.GetTickets(tid); if (ticketEntity != null) { AddTicket1.TicketsEntityInfo = ticketEntity; AddTicket1.IsEnable = true; } else { this.ShowArgumentErrorMessageToClient(); return; } } #endregion } }
protected void BtnSave_Click(object sender, EventArgs e) { int tid = QS("tid", 0); if (!BaseValidate(tid)) { return; } TicketsEntity dtoEntity = GetModelByTid(tid); dtoEntity.EsUserID = int.Parse(this.ddlEs.SelectedValue); dtoEntity.ModifiedBy = UserInfo.UserID; dtoEntity.ModifiedOn = DateTime.Now; bool Update = ticketApp.UpdateTickets(dtoEntity); #region update method if (Update) { ticketStatusMgr.SendEmailToAssignedUserTs(dtoEntity); } #endregion if (Update) { this.ShowSuccessMessageToClient(); } else { this.ShowFailMessageToClient(); } }
private void HideControlByStatus(TicketsEntity entity) { status = (int)entity.Status; if (status == (int)TicketsState.Cancelled || status == (int)TicketsState.Completed) { isShowAddFeedback = false; divAddRelation.Visible = false; } if (status == (int)TicketsState.Ready_For_Review) { divTopMenu.Visible = true; } if (this.divTopMenu.Visible == false) { this.divTopMenuFill.Visible = true; } if (UserInfo.Role == RolesEnum.CLIENT) { if (UserInfo.UserID != entity.CreatedBy) { isShowAddFeedback = false; } } }
public bool Update(TicketsEntity entity) { bool Flag = false; if (null != entity) { if (entity.ConvertDelete == CovertDeleteState.ConvertToHistory) { UpdateCode = 100; Flag = true; } else if (!string.IsNullOrEmpty(entity.Description) && entity.ConvertDelete == CovertDeleteState.Normal) { UpdateCode = 200; Flag = true; } else if (entity.ConvertDelete == CovertDeleteState.ForeverDelete) { UpdateCode = 300; Flag = true; } } return(Flag); }
/// <summary> /// Creator(Client) need another clients' feedback. /// </summary> /// <param name="ticketId">The ticket identifier.</param> /// <param name="clients">The clients.</param> public void SendEmailtoClientForFeedBack(int ticketId, params int[] clients) { if (clients == null) { return; } string contentTemplete = GetEmailExecuter("SendEmailToClientForFeedBack.txt"); string from = Config.DefaultSendEmail; string to = ""; TicketsEntity te = ticketsRpst.Get(ticketId); var creators = ticketsUserRpst.GetTicketUser(ticketId, TicketUsersType.Create); var creator = creators != null && creators.Count > 0 ? creators[0] : null; if (creator != null) { var createClient = userRpst.Get(creator.UserID); foreach (var client in clients) { var user = userRpst.Get(client); to = user.Email; string subject = string.Format("Ticket #{0} {1} needs your feedback.", te.TicketCode, te.Title); string content = string.Empty; if (!string.IsNullOrEmpty(contentTemplete.Trim())) { content = contentTemplete.Trim(); content = content.Replace("[ClientName]", user.FirstAndLastName); content = content.Replace("[PmName]", createClient.FirstAndLastName); } emailSender.SendMail(to, @from, subject, content.ToString()); } } }
protected void Page_Load(object sender, EventArgs e) { ((Pop)this.Master).Width = 450; TicketID = QS("tid", 0); _ticketEntity = ticketApp.GetTickets(TicketID); if (!IsPostBack) { if (_ticketEntity != null) { litHead.Text = "Ticket ID: " + _ticketEntity.TicketID + ", " + _ticketEntity.Title; if (_ticketEntity.Status == TicketsState.Waiting_Confirm) { ltrlFinalTime.Text = _ticketEntity.FinalTime.ToString() + " hour(s)"; } ddlClient.DataSource = projApp.GetPojectClientUsers(_ticketEntity.ProjectID, projApp.Get(_ticketEntity.ProjectID).CompanyID); ddlClient.DataBind(); ListItem li = ddlClient.Items.FindByValue(_ticketEntity.ConfirmEstmateUserId.ToString()); if (li != null) { li.Selected = true; } } } }
public bool UpdateTicketStatusToDeny(int ticketId) { try { if (UserInfo.UserID <= 0) { return(false); } TicketsEntity ticketEntity = new TicketsEntity(); ticketEntity = ticketAPP.GetTickets(ticketId); TicketsState originalStatus = ticketEntity.Status; bool Update = true; ticketEntity.Status = TicketsState.Not_Approved; ticketEntity.ModifiedOn = DateTime.Now; ticketEntity.ModifiedBy = UserInfo.UserID; ticketEntity.PublishDate = DateTime.Now.Date; ProjectsEntity projectEntity = projectApp.Get(ticketEntity.ProjectID); Update = ticketAPP.UpdateTickets(ticketEntity, true, projectEntity.PMID); ticketStatusMgr.SendEmailWithClientNotApp(ticketEntity); return(Update); } catch (Exception ex) { WebLogAgent.Write(string.Format("Error Ashx:DoUpdateTicketStatus.ashx Messages:\r\n{0}", ex)); return(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)); //判断当前日期是否大于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 bool CheckSecurity(TicketsEntity info) { if (UserInfo.Role == RolesEnum.CLIENT) { return(false); } return(true); }
protected void Page_Load(object sender, EventArgs e) { int tid = QS("tid", 0); if (tid <= 0) { this.ShowArgumentErrorMessageToClient(); return; } else { TicketID = tid; ticketEntity = ticketApp.GetTicketWithProjectTitle(tid); IsCompleted = ticketEntity.Status == TicketsState.Completed; HideControlByStatus(ticketEntity);//hidden control by ticket status if (ticketEntity != null) { IsCreate = ticketApp.GetTicketCreateUser(TicketID).UserID == UserInfo.UserID; progress.orderedDisplayStates = displayStates; progress.CurrentState = ticketApp.ConvertTicketStateToClientProgressState(ticketEntity.RealStatus); this.feedbacks.IsSunnet = true; this.feedbacks.TicketsEntityInfo = ticketEntity; //ticketBasicInfo.TicketsEntity = ticketEntity; //hdStar.Value = ticketEntity.Star.ToString(); GetButtonsHTML(); TicketUsersEntity ticketUser = ticketApp.GetTicketUser(ticketEntity.TicketID, UserInfo.ID); if (ticketUser != null) { ltlStatus.Text = ticketUser.WorkingOnStatus.ToText(); } if (ticketUser == null || UserInfo.Role == RolesEnum.CLIENT) { phlWorkingOn.Visible = false; } ticketEntity.CreatedUserEntity = userApp.GetUser(ticketEntity.CreatedBy); this.fileUpload.TicketID = ticketEntity.TicketID; if (ticketEntity.IsEstimates && ticketEntity.Status > TicketsState.Waiting_Confirm && ticketEntity.ConfirmEstmateUserId > 0) { ConfirmEstmateUser = userApp.GetUser(ticketEntity.ConfirmEstmateUserId).FirstAndLastName; } if (ticketEntity.Status == TicketsState.Waiting_Confirm && ticketEntity.ConfirmEstmateUserId == UserInfo.UserID) { isWaitConfirm = true; UrlWaitConfirm = string.Format("ConfirmEstimates.aspx?tid={0}", ticketEntity.TicketID); } } else { this.ShowArgumentErrorMessageToClient(); return; } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ((Pop)this.Master).Width = 460; int ticketID = QS("tid", 0); _ticketEntity = ticketAPP.GetTickets(ticketID); litHead.Text = "Ticket ID: " + _ticketEntity.TicketID + ", " + _ticketEntity.Title; } }
protected void btnSave_Click(object sender, EventArgs e) { _ticketEntity = ticketApp.GetTickets(TicketID); if (_ticketEntity.ConfirmEstmateUserId != int.Parse(ddlClient.SelectedValue)) { ticketApp.UpdateConfirmEstmateUserId(TicketID, int.Parse(ddlClient.SelectedValue)); new TicketStatusManagerApplication().SendEmailWaitConfirm(_ticketEntity); } Redirect(EmptyPopPageUrl, false, true); }
private TicketsEntity GetModelByTid(int tid) { if (tid <= 0) { return(null); } TicketsEntity entity = ticketApp.GetTickets(tid); return(entity != null ? entity : null); }
protected void Page_Load(object sender, EventArgs e) { #region initial this.AddTicket1.IsSunnet = "false"; #endregion if (!IsPostBack) { int tid = QS("tid", 0); if (tid <= 0) { this.ShowArgumentErrorMessageToClient(); return; } else { TicketsEntity ticketEntity = TicketApp.GetTickets(tid); HideControlByStatus(ticketEntity);//hidden control by ticket status if (ticketEntity != null) { if (!CheckSecurity(ticketEntity)) { this.ShowArgumentErrorMessageToClient(); return; } //by Lee //if (ticketEntity.Status == TicketsState.Submitted) //{ // this.AddTicket1.IsEnable = false; // this.divBtnSave.Visible = true; //} //else { this.AddTicket1.IsEnable = true; } this.lilTicketTitle.Text = " : " + ticketEntity.Title; this.FeedBacksList1.IsSunnet = false; this.FeedBacksList1.TicketsEntityInfo = ticketEntity; AddTicket1.TicketsEntityInfo = ticketEntity; ClientTicketBaseInfo1.TicketsEntityInfo = ticketEntity; } else { this.ShowArgumentErrorMessageToClient(); return; } } } InitCompanyInfo(); }
private void BindTicket(TicketsEntity entity) { this.rdoPriority.SelectedValue = ((int)entity.Priority).ToString(); this.rdoType.SelectedValue = ((int)entity.TicketType).ToString(); ddlProject.SelectedValue = entity.ProjectID.ToString(); chkEN.Checked = entity.IsEstimates; txtTitle.Text = Server.HtmlDecode(entity.Title); txtUrl.Text = Server.HtmlDecode(entity.URL); txtDesc.Value = Server.HtmlDecode(entity.FullDescription); litFiles.Text = GetFilesHTML(entity.TicketID); }
private void BindTicket(TicketsEntity entity) { this.radioPriority.SelectedValue = ((int)entity.Priority).ToString(); ddlTicketType.SelectedValue = ((int)entity.TicketType).ToString(); ddlProject.SelectedValue = entity.ProjectID.ToString(); chkEN.Checked = entity.IsEstimates; Prioirty = (int)entity.Priority; txtTitle.Value = entity.Title; txtUrl.Value = entity.URL; txtDesc.Value = entity.FullDescription; litFile.Text = fileList(entity.TicketID); }
protected void Page_Load(object sender, EventArgs e) { ((Ticket)this.Master).CurrentModule = Codes.SelectedSunnetMenu.Ticket; int tid = QS("tid", 0); if (tid <= 0) { this.ShowArgumentErrorMessageToClient(); return; } else { TicketID = tid; ticketEntity = ticketApp.GetTicketWithProjectTitle(tid); IsCompleted = ticketEntity.Status == TicketsState.Completed; HideControlByStatus(ticketEntity);//hidden control by ticket status if (ticketEntity != null) { progress.orderedDisplayStates = displayStates; progress.CurrentState = ticketApp.ConvertTicketStateToClientProgressState(ticketEntity.RealStatus); this.feedbacks.IsSunnet = true; this.feedbacks.TicketsEntityInfo = ticketEntity; //ticketBasicInfo.TicketsEntity = ticketEntity; //hdStar.Value = ticketEntity.Star.ToString(); changeHistory.TicketID = TicketID; GetButtonsHTML(); TicketUsersEntity ticketUser = ticketApp.GetTicketUser(ticketEntity.TicketID, UserInfo.ID); if (ticketUser != null) { ltlStatus.Text = ticketUser.WorkingOnStatus.ToText(); } //Ticket 3023 #4. 隐藏按纽 ([WorkingOn][Completed] [Canceled][None]) //if (ticketUser == null || UserInfo.Role == RolesEnum.CLIENT) phlWorkingOn.Visible = false; ticketEntity.CreatedUserEntity = userApp.GetUser(ticketEntity.CreatedBy); this.fileUpload.TicketID = ticketEntity.TicketID; if (ticketEntity.IsEstimates && ticketEntity.Status > TicketsState.Waiting_Confirm && ticketEntity.ConfirmEstmateUserId > 0) { ConfirmEstmateUser = userApp.GetUser(ticketEntity.ConfirmEstmateUserId).FirstAndLastName; } } else { this.ShowArgumentErrorMessageToClient(); return; } } }
private bool CheckSecurity(TicketsEntity info) { if (UserInfo.Role == RolesEnum.CLIENT) { if (UserInfo.CompanyID != info.CompanyID) { return(false); } } else if (UserInfo.Role != RolesEnum.ADMIN && UserInfo.Role != RolesEnum.PM && UserInfo.Role != RolesEnum.Sales) { return(false); } return(true); }
private TicketsEntity GetEntity(int save, int projectID, int companyID) { TicketsEntity ticketsEntity = new TicketsEntity(); ticketsEntity.Title = txtTitle.Text.Trim().NoHTML(); ticketsEntity.FullDescription = txtDesc.Value.Trim().NoHTML(); ticketsEntity.URL = txtUrl.Text.Trim(); ticketsEntity.ProjectID = projectID; ticketsEntity.TicketType = (TicketsType)int.Parse(rdoType.SelectedValue); ticketsEntity.TicketCode = new TicketsApplication().ConvertTicketTypeToTicketCode(ticketsEntity.TicketType); ticketsEntity.Priority = (PriorityState)int.Parse(this.rdoPriority.SelectedValue); ticketsEntity.CompanyID = 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(); ticketsEntity.ResponsibleUser = new ProjectApplication().Get(projectID).PMID;; 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; } } return(ticketsEntity); }
public bool ChangeTicketStatesBugToRequest(int tid, int type, string descr, TicketsEntity te) { return(true); //if (!ValdateChangeTicketStateToBug(tid, type, descr)) return false; //BaseValidator<TicketsEntity> validator = new UpdateTicketValidator(); //if (!validator.Validate(te)) //{ // return false; //} //bool RecordResult = true; ////add new request ticket to db //TicketsEntity newEntity = new TicketsEntity(); //newEntity.TicketType = TicketsType.Request; //RecordResult = Convert.ToBoolean(repository.Insert(newEntity)); //if (!RecordResult) //{ // return false; //} ////update ticket state //switch (type) //{ // case 1: // te.ConvertDelete = CovertDeleteState.ConvertToHistory; // RecordResult = repository.Update(te); // break; // case 2: // te.Description = descr; // RecordResult = repository.Update(te); // break; // case 3: // te.ConvertDelete = CovertDeleteState.ForeverDelete; // RecordResult = repository.Update(te); // break; // default: // RecordResult = false; // break; //} //if (!RecordResult) //{ // return false; //} //return RecordResult; }