public bool Update(ProposalTrackerRelationEntity model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update ProposalTrackerRelation set "); strSql.Append("WID=@WID,"); strSql.Append("TID=@TID,"); strSql.Append("CreatedOn=@CreatedOn,"); strSql.Append("CreatedBy=@CreatedBy"); strSql.Append(" where ID=@ID "); Database db = DatabaseFactory.CreateDatabase(); using (DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString())) { db.AddInParameter(dbCommand, "ID", DbType.Int32, model.ID); db.AddInParameter(dbCommand, "WID", DbType.Int32, model.WID); db.AddInParameter(dbCommand, "TID", DbType.String, model.TID); db.AddInParameter(dbCommand, "CreatedOn", DbType.DateTime, model.CreatedOn); db.AddInParameter(dbCommand, "CreatedBy", DbType.Int32, model.CreatedBy); int rows = db.ExecuteNonQuery(dbCommand); if (rows > 0) { return(true); } else { return(false); } } }
public ProposalTrackerRelationEntity GetProposalTrackerByTid(int Tid) { ProposalTrackerRelationEntity model = new ProposalTrackerRelationEntity(); StringBuilder strSql = new StringBuilder(); strSql.Append(@"SELECT * from ProposalTrackerRelation where TID=@Tid"); Database db = DatabaseFactory.CreateDatabase(); using (DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString())) { try { db.AddInParameter(dbCommand, "Tid", DbType.Int32, Tid); using (IDataReader dataReader = db.ExecuteReader(dbCommand)) while (dataReader.Read()) { model = (ProposalTrackerRelationEntity.ReaderBind(dataReader)); } } 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(model); }
public int Insert(ProposalTrackerRelationEntity model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into ProposalTrackerRelation("); strSql.Append("WID,TID,CreatedOn,CreatedBy)"); strSql.Append(" values ("); strSql.Append("@WID,@TID,@CreatedOn,@CreatedBy)"); strSql.Append(";select ISNULL( SCOPE_IDENTITY(),0);"); Database db = DatabaseFactory.CreateDatabase(); using (DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString())) { db.AddInParameter(dbCommand, "WID", DbType.Int32, model.WID); db.AddInParameter(dbCommand, "TID", DbType.String, model.TID); db.AddInParameter(dbCommand, "CreatedOn", DbType.DateTime, DateTime.Now); db.AddInParameter(dbCommand, "CreatedBy", DbType.Int32, model.CreatedBy); int result; object obj = db.ExecuteScalar(dbCommand); if (!int.TryParse(obj.ToString(), out result)) { return(0); } return(result); } }
public int AddProposalTrackerRelation(ProposalTrackerRelationEntity model) { this.ClearBrokenRuleMessages(); int id = relationMgr.Add(model); this.AddBrokenRuleMessages(mgr.BrokenRuleMessages); return(id); }
public void ProcessRequest(HttpContext context) { if (IdentityContext.UserID <= 0) { return; } UsersEntity userEntity = new App.UserApplication().GetUser(IdentityContext.UserID); if (userEntity.Role != RolesEnum.ADMIN && userEntity.Role != RolesEnum.PM && userEntity.Role != RolesEnum.Sales) { return; } context.Response.ContentType = "text/plain"; String checkboxList = context.Request["checkboxList"] + ""; String wid = context.Request["wid"]; int proposaltrackerId; if (!int.TryParse(wid, out proposaltrackerId)) { return; } checkboxList = checkboxList.Trim(); if (string.IsNullOrEmpty(checkboxList)) { return; } ProposalTrackerRelationEntity WRDTO = new ProposalTrackerRelationEntity(); if (checkboxList.EndsWith(",")) { checkboxList = checkboxList.Remove(checkboxList.Length - 1); } string[] tidArray = checkboxList.Split(','); foreach (string item in tidArray) { if (item.Length > 0) { WRDTO.WID = Convert.ToInt32(wid); WRDTO.TID = Convert.ToInt32(item); WRDTO.CreatedBy = IdentityContext.UserID; app.AddProposalTrackerRelation(WRDTO); } } }
public int Add(ProposalTrackerRelationEntity entity) { if (entity.WID == 0) { this.AddBrokenRuleMessage("Project", "Please select Work Request"); return(0); } if (entity.TID == 0) { this.AddBrokenRuleMessage("Payment", "Please select Ticket"); return(0); } int id = proposalTrackerRelationRepository.Insert(entity); if (id <= 0) { this.AddBrokenRuleMessage(); return(0); } return(id); }
public ProposalTrackerRelationEntity Get(int WID) { StringBuilder strSql = new StringBuilder(); strSql.Append("select ID,WID,TID,CreatedOn,CreatedBy from ProposalTrackerRelation "); strSql.Append(" where WID=@WID "); Database db = DatabaseFactory.CreateDatabase(); using (DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString())) { db.AddInParameter(dbCommand, "WID", DbType.Int32, WID); ProposalTrackerRelationEntity model = null; using (IDataReader dataReader = db.ExecuteReader(dbCommand)) { if (dataReader.Read()) { model = ProposalTrackerRelationEntity.ReaderBind(dataReader); } } return(model); } }
public bool UpdateProposalByProposal(ProposalTrackerRelationEntity model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update ProposalTrackerRelation set "); strSql.Append("WID=@wid,"); strSql.Append("TID=@tid"); strSql.Append(" where ID=@id "); Database db = DatabaseFactory.CreateDatabase(); using (DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString())) { try { db.AddInParameter(dbCommand, "wid", DbType.Int32, model.WID); db.AddInParameter(dbCommand, "tid", DbType.Int32, model.TID); db.AddInParameter(dbCommand, "id", DbType.Int32, model.ID); int rows = db.ExecuteNonQuery(dbCommand); if (rows > 0) { return(true); } else { return(false); } } catch (Exception ex) { WebLogAgent.Write(string.Format("[SQLText:{0},{1}Messages:\r\n{2}]", strSql.ToString(), base.FormatParameters(dbCommand.Parameters), ex.Message)); return(false); } } }
public bool UpdateProposalByProposal(ProposalTrackerRelationEntity model) { return(mgr.UpdateProposalByProposal(model)); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (ticketID > 0) { ticketsEntity = ticketApp.GetTickets(ticketID); //创建者 TicketUsersEntity ticketUser = ticketApp.GetTicketCreateUser(ticketID); UsersEntity createUser = userApp.GetUser(ticketUser.UserID); if (createUser.Role == RolesEnum.CLIENT) { HiddenField_TicketCreateId.Value = "-1"; } else { HiddenField_TicketCreateId.Value = ticketUser.UserID.ToString();; } ProposalTrackerRelationEntity model = wrApp.GetProposalTrackerByTid(ticketID); if (model != null && model.ID != 0) { ddl_Proposal.SelectedValue = model.WID.ToString(); } ddlResponsibleUser.Items.Add(new ListItem("System", "-1")); } if (projectID > 0) { ProposalTrackerApplication wrApp = new ProposalTrackerApplication(); List <ProposalTrackerEntity> proposalTracker = wrApp.GetProposalTrackerByPid(projectID); ddl_Proposal.DataSource = proposalTracker; ddl_Proposal.DataValueField = "ProposalTrackerID"; ddl_Proposal.DataTextField = "Title"; ddl_Proposal.DataBind(); ddl_Proposal.Items.Insert(0, new ListItem("Please select... ", "")); } } if (ticketsEntity != null) { if (!IsPostBack) { if (ticketsEntity.Status >= TicketsState.PM_Reviewed && ticketsEntity.Status <= TicketsState.Estimation_Approved && ticketsEntity.TicketType == TicketsType.Bug) { dvChangeRequest.Style.Add("display", "block"); } else { dvChangeRequest.Style.Add("display", "none"); } litHead.Text = string.Format("Ticket ID: {0}, {1} ; Status: {2}" , ticketsEntity.TicketID, ticketsEntity.Title, ticketsEntity.Status.ToText()); TicketUsersEntity ticketUsersEntity = ticketApp.GetTicketCreateUser(ticketsEntity.TicketID); SetEstimation(ticketUsersEntity); SetEditClient(ticketUsersEntity); BindStatus(); txtProprosalName.Text = ticketsEntity.ProprosalName; txtWorkPlanName.Text = ticketsEntity.WorkPlanName; txtWorkScope.Text = ticketsEntity.WorkScope; txtInvoice.Text = ticketsEntity.Invoice; } } else { ShowFailMessageToClient(); } }
protected void btnSave_Click(object sender, EventArgs e) { int tmpState = int.Parse(ddlStatus.SelectedValue); TicketsState selectState = (TicketsState)tmpState; if (rdoAccounting.SelectedValue == "1") { //int wid = int.Parse(ddl_Proposal.SelectedValue); int wid = int.Parse(hid_Proposal.Value); ProposalTrackerRelationEntity model = wrApp.GetProposalTrackerByTid(ticketID); if (model == null || model.ID == 0) { model.CreatedBy = IdentityContext.UserID; model.TID = ticketID; model.WID = wid; wrApp.AddProposalTrackerRelation(model); } else { if (model.TID != ticketID || model.WID != wid) { model.TID = ticketID; model.WID = wid; wrApp.UpdateProposalByProposal(model); } } } else { ProposalTrackerRelationEntity model = wrApp.GetProposalTrackerByTid(ticketID); if (model != null || model.ID > 0) { wrApp.DelProposalTrackerRelationByID(model.ID); } } bool result = false; //指定初次估时者 int estimationUserID = 0; bool isEstimation = rdoEstimationYes.Checked; if (isEstimation && selectState == TicketsState.PM_Reviewed) { if (!int.TryParse(QF(ddlEstUser.UniqueID), out estimationUserID)) { ShowFailMessageToClient("Invalid extimation user."); return; } } //选择accounting string accounting = (rdoAccounting.SelectedValue == "" ? "0" : rdoAccounting.SelectedValue); ticketsEntity.Accounting = (AccountingState)int.Parse(accounting); //指派最终确认估时者 int confirmEstmateUserId = 0; if (selectState == TicketsState.Waiting_Confirm) { if (!int.TryParse(QF(ddlConfirmEstmateUserId.UniqueID), out confirmEstmateUserId)) { ShowFailMessageToClient("Invalid Waiting Confirm user."); return; } } decimal initialtionHours; //初次估时 if (!decimal.TryParse(txtInitialTime.Text, out initialtionHours)) { ShowFailMessageToClient("Invalid extimation hour."); return; } decimal extimationHours; ///最终估时 if (!decimal.TryParse(txtBoxExtimationHours.Text, out extimationHours)) { ShowFailMessageToClient("Invalid extimation hour."); return; } ///没有达到预期要求 if (((TicketsState)int.Parse(ddlStatus.SelectedValue)) == TicketsState.PM_Deny) { HttpFileCollection files = Request.Files; string fileuploadErrMsg = string.Empty; for (int i = 0; i < files.Count; i++) { if (files[i].ContentLength > 0 || txtBoxDenyReason.Text.Trim().Length > 0) { FeedBacksEntity feedbacksEntity = GetFeedbacksEntity(); feedbacksEntity.ID = fbAPP.AddFeedBacks(feedbacksEntity); result = feedbacksEntity.ID > 0; if (!result) { ShowFailMessageToClient(fbAPP.BrokenRuleMessages); return; } if (files[i].ContentLength > 0 && IsValidFile(files[i].FileName)) { if (!InsertFile(files[i], ticketsEntity.ProjectID, false, feedbacksEntity.ID)) { fileuploadErrMsg += files[i].FileName + " Upload failed."; result = false; } } } } } if (selectState == TicketsState.Estimation_Approved) { ticketsEntity.ProprosalName = txtProprosalName.Text; ticketsEntity.WorkPlanName = txtWorkPlanName.Text; ticketsEntity.WorkScope = txtWorkScope.Text; ticketsEntity.Invoice = txtInvoice.Text; } int responsibleUserId; int.TryParse(QF(ddlResponsibleUser.UniqueID), out responsibleUserId); int oldResponsibleUserId = ticketsEntity.ResponsibleUser; ticketsEntity.ResponsibleUser = responsibleUserId; ProjectsEntity projectEntity = projApp.Get(ticketsEntity.ProjectID); int newClientId = -1; if (ddlClient.Visible == true) { if (ddlClient.SelectedValue != "-1") { newClientId = int.Parse(ddlClient.SelectedValue); } } result = ticketApp.PMReview(ticketsEntity, UserInfo, rdoRequestYes.Checked, ddlStatus.SelectedValue, isEstimation, estimationUserID, confirmEstmateUserId, initialtionHours, extimationHours , ticketUsersView.GetSelectedUserList(), txtBoxConvertDescr.Text, txtBoxDenyReason.Text.Trim(), projectEntity.PMID, newClientId); if (ddlClient.Visible == true) { if (ddlClient.SelectedValue != "-1") { ticketApp.UpdateCreateUser(int.Parse(ddlClient.SelectedValue), ticketsEntity.TicketID); } } if (result) { //sent email to responsible user 2017/10/23 if (oldResponsibleUserId != ticketsEntity.ResponsibleUser) { ticketApp.SendEmailToResponsibile(ticketsEntity, UserInfo); } // 更新所有相关人员的WorkingOn状态 ticketApp.UpdateWorkingOnStatus(ticketID, selectState); Redirect(EmptyPopPageUrl, false, true); } else { ShowFailMessageToClient(); } }
/// <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(); } }