Esempio n. 1
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            string msg = string.Empty;

            if (!CheckInput(out msg))
            {
                this.ShowMessageToClient(msg, 2, false, false);
                return;
            }
            bool           isChangeProject;
            bool           isTotalHoursChanged;
            ProjectsEntity model = GetEntity(out isChangeProject, out isTotalHoursChanged);

            if (model.MainPlanOption == UserMaintenancePlanOption.HAS && isTotalHoursChanged)
            {
                projApp.updateRemainHoursSendEmailStatus(false, model.ProjectID);
            }
            if (projApp.Update(model))
            {
                if (isChangeProject)
                {
                    ticketApp.UpdateTicketPM(model.PMID, model.ProjectID);
                }
                this.ClientMaintenancePlan1.RemainHours = model.TotalHours - GetRemainHours(model.ID);
                this.ShowSuccessMessageToClient(false, false);
            }
            else
            {
                this.ShowFailMessageToClient(projApp.BrokenRuleMessages);
            }
        }
Esempio n. 2
0
        protected void btnAgree_Click(object sender, EventArgs e)
        {
            int oldResponsibleUserId = _ticketEntity.ResponsibleUser;

            _ticketEntity.Status          = TicketsState.Estimation_Approved;
            _ticketEntity.ModifiedBy      = UserInfo.UserID;
            _ticketEntity.ModifiedOn      = DateTime.Now;
            _ticketEntity.ResponsibleUser = int.Parse(ddlResponsibleUser.SelectedValue);

            ProjectsEntity projectEntity = projApp.Get(_ticketEntity.ProjectID);

            bool result = ticketApp.UpdateTickets(_ticketEntity, true, projectEntity.PMID);

            //sent email to responsible user 2017/10/23
            if (oldResponsibleUserId != _ticketEntity.ResponsibleUser)
            {
                ticketApp.SendEmailToResponsibile(_ticketEntity, UserInfo);
            }
            if (result)
            {
                Redirect(EmptyPopPageUrl, false, true);
            }
            else
            {
                ShowFailMessageToClient(ticketApp.BrokenRuleMessages);
            }
        }
Esempio n. 3
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            string msg = string.Empty;

            if (!CheckInput(out msg))
            {
                this.ShowMessageToClient(msg, 2, false, false);
                return;
            }
            int            OldPMId;
            bool           isTotalHoursChanged;
            ProjectsEntity model = GetEntity(out OldPMId, out isTotalHoursChanged);

            if (model.MainPlanOption == UserMaintenancePlanOption.HAS && isTotalHoursChanged)
            {
                projApp.updateRemainHoursSendEmailStatus(false, model.ProjectID);
            }
            if (projApp.Update(model))
            {
                if (OldPMId > 0)
                {
                    ticketApp.UpdateTicketPM(OldPMId, model.PMID, model.ProjectID);
                }
                this.ClientMaintenancePlan1.RemainHours = model.TotalHours - GetRemainHours(model.ID);
                Redirect(string.Format("EditProject.aspx?ID={0}&returnurl={1}", model.ProjectID, QS("returnurl")), true, false);
            }
            else
            {
                this.ShowFailMessageToClient(projApp.BrokenRuleMessages);
            }
        }
Esempio n. 4
0
        private void InitProject()
        {
            ProjectApplication projApp = new ProjectApplication();

            List <ProjectDetailDTO> list = projApp.GetUserProjects(UserInfo);

            if (!string.IsNullOrEmpty(WorkRequestID))
            {
                WorkRequestEntity workRequestEntity = wqApp.Get(int.Parse(WorkRequestID));
                ProjectsEntity    projectsEntity    = projApp.Get(workRequestEntity.ProjectID);
                if (!projApp.IsProjectHasPM(projectsEntity.ProjectID, UserInfo.UserID))
                {
                    list.Add(new ProjectDetailDTO()
                    {
                        Title = projectsEntity.Title, ID = projectsEntity.ProjectID
                    });
                }
            }
            if (list.Count > 1 || list.Count == 0)
            {
                list.BindDropdown <ProjectDetailDTO>(ddlProject, "Title", "ID", "Please select...", "0");
            }
            else if (list.Count == 1)
            {
                list.BindDropdown <ProjectDetailDTO>(ddlProject, "Title", "ID");
            }
        }
Esempio n. 5
0
        private string GetPath(int projectId, int parentId)
        {
            string             projectTitle  = "";
            ProjectApplication projectApp    = new ProjectApplication();
            ProjectsEntity     projectEntity = projectApp.Get(projectId);

            if (projectEntity != null)
            {
                projectTitle = projectEntity.Title;
            }
            else
            {
                projectTitle = "My Document";
            }
            string folderPath = string.Empty;
            List <DocManagementEntity> docList = business.GetList(projectId, "");

            if (parentId != 0)
            {
                GetFolderName(docList, parentId);
            }
            for (int i = folderList.Count - 1; i >= 0; i--)
            {
                folderPath += folderList[i];
            }
            return("> " + projectTitle + @"\" + folderPath);
        }
Esempio n. 6
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            try
            {
                if (IdentityContext.UserID <= 0)
                {
                    return;
                }
                String tType = context.Request["tType"];
                String pId   = context.Request["pId"];

                ProjectsEntity project = projectAPP.Get(Convert.ToInt32(pId));
                if (null != project)
                {
                    if ((tType == "0" && project.BugNeedApproved == true) ||
                        (tType == "1" && project.RequestNeedApproved == true))
                    {
                        context.Response.Write("true");
                    }
                    else
                    {
                        context.Response.Write("false");
                    }
                }
            }
            catch (Exception ex)
            {
                context.Response.Write("para error!");
                WebLogAgent.Write(string.Format("Error Ashx:DoUpdateEnStatus.ashx Messages:\r\n{0}", ex));
                return;
            }
        }
Esempio n. 7
0
        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);
            }
        }
Esempio n. 8
0
        private ProjectsEntity GetEntity()
        {
            ProjectsEntity model = ProjectsFactory.CreateProject(UserInfo.ID, ObjectFactory.GetInstance <ISystemDateTime>());

            model.BugNeedApproved = chkBugNeedApprove.Checked;
            model.CompanyID       = int.Parse(ddlCompany.SelectedValue);
            model.Description     = txtDesc.Text;

            DateTime dtEnd;

            if (!DateTime.TryParse(txtEndDate.Text, out dtEnd))
            {
                dtEnd = UtilFactory.Helpers.CommonHelper.GetDefaultMinDate();
            }
            model.EndDate = dtEnd;

            model.FreeHour              = int.Parse(txtFreeHour.Text);
            model.IsOverFreeTime        = false;
            model.PMID                  = int.Parse(ddlPM.SelectedValue);
            model.Priority              = ddlPriority.SelectedValue;
            model.ProjectCode           = txtProjectCode.Text;
            model.RequestNeedApproved   = chkRequestNeedApprove.Checked;
            model.StartDate             = Convert.ToDateTime(txtStartDate.Text);
            model.Status                = ddlStatus.SelectedValue.ToEnum <ProjectStatus>();
            model.TestLinkURL           = txtTestUrl.Text;
            model.TestPassword          = txtTestPassword.Text;
            model.TestUserName          = txtTestUserName.Text;
            model.Title                 = txtTitle.Text.Trim();
            model.Billable              = bool.Parse(rblBillable.SelectedValue);
            model.TotalHours            = this.ClientMaintenancePlan1.TotalHours;
            model.MaintenancePlanOption = ClientMaintenancePlan1.SelectedMaintenancePlan.ToString();
            return(model);
        }
        /// <summary>
        /// Get an object entity
        /// </summary>
        public ProjectsEntity Get(int ProjectID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select *,(SELECT UserName FROM Users WHERE UserID =ModifiedBy) AS UserName  from Projects ");
            strSql.Append(" where ProjectID=@ProjectID ");
            Database db = DatabaseFactory.CreateDatabase();

            using (DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString()))
            {
                try
                {
                    db.AddInParameter(dbCommand, "ProjectID", DbType.Int32, ProjectID);
                    ProjectsEntity model = null;
                    using (IDataReader dataReader = db.ExecuteReader(dbCommand))
                    {
                        if (dataReader.Read())
                        {
                            model = ProjectsEntity.ReaderBind(dataReader);
                        }
                    }
                    return(model);
                }
                catch (Exception ex)
                {
                    WebLogAgent.Write(string.Format("[SQLText:{0},{1}Messages:\r\n{2}]", strSql.ToString(), base.FormatParameters(dbCommand.Parameters), ex.Message));
                    return(null);
                }
            }
        }
Esempio n. 10
0
        private void InitControls()
        {
            InitPM();
            InitCompany();

            int            id    = QS("id", 0);
            ProjectsEntity model = projApp.Get(id);

            if (model == null)
            {
                this.ShowFailMessageToClient(projApp.BrokenRuleMessages, true);
            }
            else
            {
                rblBillable.SelectedValue = model.Billable.ToString().ToLower();
                chkBugNeedApprove.Checked = model.BugNeedApproved;
                ddlCompany.SelectedValue  = model.CompanyID.ToString();
                ddlCompany.Enabled        = false;
                txtDesc.Text     = model.Description;
                txtEndDate.Text  = model.EndDate.ToString("MM/dd/yyyy");
                txtFreeHour.Text = model.FreeHour.ToString();
                ltlFreeHour.Text = model.FreeHour.ToString();
                if (UserInfo.Role == RolesEnum.Sales)
                {
                    ltlFreeHour.Visible = false;
                }
                else
                {
                    txtFreeHour.Visible = false;
                }
                ltlFreeHourText.Text = model.IsOverFreeTime ? "<font color='red'>The project has been over free hour</font>" : "The project hasn't been over free hour";

                if (null == ddlPM.Items.FindByValue(model.PMID.ToString()))
                {
                    UsersEntity usersEntity = new UserApplication().GetUser(model.PMID);
                    ddlPM.Items.Add(new ListItem()
                    {
                        Text = string.Format("{0} {1}", usersEntity.FirstName, usersEntity.LastName), Value = usersEntity.UserID.ToString()
                    });
                }
                ddlPM.SelectedValue           = model.PMID.ToString();
                ddlPriority.SelectedValue     = model.Priority;
                txtProjectCode.Text           = model.ProjectCode;
                chkRequestNeedApprove.Checked = model.RequestNeedApproved;
                txtStartDate.Text             = model.StartDate.ToString("MM/dd/yyyy");
                ddlStatus.SelectedValue       = model.Status.ToString();
                txtTestUrl.Text      = model.TestLinkURL;
                txtTestPassword.Text = model.TestPassword;
                txtTestUserName.Text = model.TestUserName;
                txtTitle.Text        = model.Title;
                this.ClientMaintenancePlan1.TotalHours         = model.TotalHours;
                this.ClientMaintenancePlan1.RemainHours        = model.TotalHours - GetRemainHours(id);
                ClientMaintenancePlan1.SelectedMaintenancePlan = model.MainPlanOption;
                InitSunnetUsers();
                InitFiles();
                InitUsers();
                InitPrincipal();
            }
        }
Esempio n. 11
0
        public bool Update(ProjectsEntity model)
        {
            this.ClearBrokenRuleMessages();
            bool result = mgr.Update(model);

            this.AddBrokenRuleMessages(mgr.BrokenRuleMessages);
            return(result);
        }
Esempio n. 12
0
        public ProjectsEntity Get(int id, string connStr = "")
        {
            this.ClearBrokenRuleMessages();
            ProjectsEntity model = mgr.Get(id);

            this.AddBrokenRuleMessages(mgr.BrokenRuleMessages);
            return(model);
        }
Esempio n. 13
0
        public int Insert(ProjectsEntity model)
        {
            this.ClearBrokenRuleMessages();
            int id = mgr.Insert(model);

            this.AddBrokenRuleMessages(mgr.BrokenRuleMessages);
            return(id);
        }
Esempio n. 14
0
        public ActionResult DeleteConfirmed(int id)
        {
            ProjectsEntity projectsEntity = db.projectsEntities.Find(id);

            db.projectsEntities.Remove(projectsEntity);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        /// <summary>
        /// Add a record
        /// </summary>
        public int Insert(ProjectsEntity model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into Projects(");
            strSql.Append("CompanyID,ProjectCode,Title,Description,StartDate,EndDate,Status,CreatedBy,CreatedOn,ModifiedBy,ModifiedOn,PMID,Priority")
            .Append(",Billable,TestLinkURL,TestUserName,TestPassword,FreeHour,BugNeedApproved,RequestNeedApproved,IsOverFreeTime,MaintenancePlanOption,TotalHours)");

            strSql.Append(" values (");
            strSql.Append("@CompanyID,@ProjectCode,@Title,@Description,@StartDate,@EndDate,@Status,@CreatedBy,@CreatedOn,@ModifiedBy,@ModifiedOn,@PMID")
            .Append(",@Priority,@Billable,@TestLinkURL,@TestUserName,@TestPassword,@FreeHour,@BugNeedApproved,@RequestNeedApproved,@IsOverFreeTime,@MaintenancePlanOption,@TotalHours)");
            strSql.Append(";select ISNULL( SCOPE_IDENTITY(),0);declare @ForumShortName varchar(500);set @ForumShortName='Requirement'+convert(varchar(50),@@IDENTITY); exec [" + Config.NearForumsDataBase
                          + "].[dbo].[SPForumsInsert] @Title,@ForumShortName,@Title,1,1,NULL,1,0,@@IDENTITY");
            Database db = DatabaseFactory.CreateDatabase();

            using (DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString()))
            {
                try
                {
                    db.AddInParameter(dbCommand, "CompanyID", DbType.Int32, model.CompanyID);
                    db.AddInParameter(dbCommand, "ProjectCode", DbType.String, model.ProjectCode);
                    db.AddInParameter(dbCommand, "Title", DbType.String, model.Title);
                    db.AddInParameter(dbCommand, "Description", DbType.String, model.Description);
                    db.AddInParameter(dbCommand, "StartDate", DbType.DateTime, model.StartDate);
                    db.AddInParameter(dbCommand, "EndDate", DbType.DateTime, model.EndDate);
                    db.AddInParameter(dbCommand, "Status", DbType.Int32, model.Status);
                    db.AddInParameter(dbCommand, "CreatedBy", DbType.Int32, model.CreatedBy);
                    db.AddInParameter(dbCommand, "CreatedOn", DbType.DateTime, model.CreatedOn);
                    db.AddInParameter(dbCommand, "ModifiedBy", DbType.Int32, model.ModifiedBy);
                    db.AddInParameter(dbCommand, "ModifiedOn", DbType.DateTime, model.ModifiedOn);
                    db.AddInParameter(dbCommand, "PMID", DbType.Int32, model.PMID);
                    db.AddInParameter(dbCommand, "Priority", DbType.String, model.Priority);
                    db.AddInParameter(dbCommand, "Billable", DbType.Boolean, model.Billable);
                    db.AddInParameter(dbCommand, "TestLinkURL", DbType.String, model.TestLinkURL);
                    db.AddInParameter(dbCommand, "TestUserName", DbType.String, model.TestUserName);
                    db.AddInParameter(dbCommand, "TestPassword", DbType.String, model.TestPassword);
                    db.AddInParameter(dbCommand, "FreeHour", DbType.Int32, model.FreeHour);
                    db.AddInParameter(dbCommand, "BugNeedApproved", DbType.Boolean, model.BugNeedApproved);
                    db.AddInParameter(dbCommand, "RequestNeedApproved", DbType.Boolean, model.RequestNeedApproved);
                    db.AddInParameter(dbCommand, "IsOverFreeTime", DbType.Boolean, model.IsOverFreeTime);
                    db.AddInParameter(dbCommand, "MaintenancePlanOption", DbType.String, model.MainPlanOption);
                    db.AddInParameter(dbCommand, "TotalHours", DbType.Decimal, model.TotalHours);
                    int    result;
                    object obj = db.ExecuteScalar(dbCommand);
                    if (!int.TryParse(obj.ToString(), out result))
                    {
                        return(0);
                    }
                    return(result);
                }
                catch (Exception ex)
                {
                    WebLogAgent.Write(string.Format("[SQLText:{0},{1}Messages:\r\n{2}]", strSql.ToString(), base.FormatParameters(dbCommand.Parameters), ex.Message));
                    return(0);
                }
            }
        }
Esempio n. 16
0
 public ActionResult Edit([Bind(Include = "id,title,field,dateofcreation,deadline,teacher_id,progress")] ProjectsEntity projectsEntity)
 {
     if (ModelState.IsValid)
     {
         db.Entry(projectsEntity).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(projectsEntity));
 }
Esempio n. 17
0
        private void SendEmailForUploading(int projectId, int userId, string fileDescription, string filePath)
        {
            if (projectId == 0)
            {
                return;
            }
            UserApplication    userApp     = new UserApplication();
            ProjectApplication projectApp  = new ProjectApplication();
            UsersEntity        usersEntity = userApp.GetUser(userId);

            //发邮件的角色必须是Client或PM
            if (usersEntity.Role != RolesEnum.CLIENT && usersEntity.Role != RolesEnum.PM && usersEntity.Status == Status.Active.ToString().ToUpper())
            {
                return;
            }

            ProjectsEntity projectEntity = projectApp.Get(projectId);
            IEmailSender   smtpClient    = new SmtpClientEmailSender(new TextFileLogger());

            //邮件参数初始化
            string contentTemplete = GetEmailTemplate("SendEmailToCilentAndPMWhenUploading.txt").Trim();

            if (!string.IsNullOrEmpty(contentTemplete))
            {
                contentTemplete = contentTemplete.Replace("[UploadUser]", usersEntity.FirstName)
                                  .Replace("[ProjectTitle]", projectEntity.Title)
                                  .Replace("[DateTime]", DateTime.Now.ToString("MM/dd/yyyy HH:mm"))
                                  .Replace("[FileDescription]", fileDescription)
                                  .Replace("[FilePath]", filePath);
            }
            string to      = string.Empty;
            string subject = string.Format("Notice - {0} uploaded a file or some files ", usersEntity.FirstName);

            List <int> userIdList = projectApp.GetActiveUserIdByProjectId(projectId);

            if (userIdList != null && userIdList.Count > 0)
            {
                userIdList.RemoveAll(o => o == userId);
                foreach (int item in userIdList)
                {
                    var userItem = userApp.GetUser(item);
                    if (userItem.Role == RolesEnum.CLIENT || userItem.Role == RolesEnum.PM)
                    {
                        to = userItem.Email;
                        if (!string.IsNullOrEmpty(contentTemplete))
                        {
                            string content = contentTemplete.Replace("[FirstName]", userItem.FirstName)
                                             .Replace("[LastName]", userItem.LastName);
                            smtpClient.SendMail(to, subject, content, false, MailPriority.Normal);
                        }
                    }
                }
            }
        }
Esempio n. 18
0
        private string GetProjectTitleByPid(int pid)
        {
            ProjectApplication proApp  = new ProjectApplication();
            ProjectsEntity     project = proApp.Get(pid);

            if (project != null)
            {
                return(project.Title);
            }
            return("");
        }
Esempio n. 19
0
        private ProjectsEntity GetEntity(out int OldPMId, out bool isTotalHoursChanged)
        {
            int            id    = QS("id", 0);
            ProjectsEntity model = projApp.Get(id);

            model.Billable        = bool.Parse(rblBillable.SelectedValue);
            model.BugNeedApproved = chkBugNeedApprove.Checked;
            model.Description     = txtDesc.Text;
            DateTime dtEnd;

            if (!DateTime.TryParse(txtEndDate.Text, out dtEnd))
            {
                dtEnd = UtilFactory.Helpers.CommonHelper.GetDefaultMinDate();
            }
            model.EndDate = dtEnd;
            if (txtFreeHour.Visible == true && txtFreeHour.Text != model.FreeHour.ToString())
            {
                model.FreeHour       = int.Parse(txtFreeHour.Text);
                model.IsOverFreeTime = false;
            }
            if (model.PMID != int.Parse(ddlPM.SelectedValue))
            {
                OldPMId = model.PMID;
            }
            else
            {
                OldPMId = 0;
            }

            model.PMID                  = int.Parse(ddlPM.SelectedValue);
            model.Priority              = ddlPriority.SelectedValue;
            model.ProjectCode           = txtProjectCode.Text;
            model.RequestNeedApproved   = chkRequestNeedApprove.Checked;
            model.StartDate             = Convert.ToDateTime(txtStartDate.Text);
            model.Status                = ddlStatus.SelectedValue.ToEnum <ProjectStatus>();
            model.TestLinkURL           = txtTestUrl.Text;
            model.TestPassword          = txtTestPassword.Text;
            model.TestUserName          = txtTestUserName.Text;
            model.Title                 = txtTitle.Text;
            model.ModifiedOn            = DateTime.Now;
            model.ModifiedBy            = UserInfo.UserID;
            model.MaintenancePlanOption = ClientMaintenancePlan1.SelectedMaintenancePlan.ToString();
            if (model.TotalHours != this.ClientMaintenancePlan1.TotalHours)
            {
                isTotalHoursChanged = true;
            }
            else
            {
                isTotalHoursChanged = false;
            }
            model.TotalHours = this.ClientMaintenancePlan1.TotalHours;
            return(model);
        }
Esempio n. 20
0
 public bool CheckIfEstimated(ProjectsEntity entity)
 {
     if (entity.EndDate != UtilFactory.Helpers.CommonHelper.GetDefaultMinDate() &&
         entity.EndDate < DateTime.Now.Date)
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
Esempio n. 21
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.Expires     = -1;
            try
            {
                string FolderName = "";

                string pid = context.Request["pid"];//get project id

                ProjectsEntity entity = projectApp.Get(Convert.ToInt32(pid));

                if (null != entity)
                {
                    FolderName = entity.ProjectID.ToString();
                }
                else
                {
                    context.Response.StatusCode        = 500;
                    context.Response.StatusDescription = "ss";
                    return;
                }

                HttpPostedFile postedFile = context.Request.Files["Filedata"];

                string savepath = "";
                string tempPath = "";
                tempPath = System.Configuration.ConfigurationManager.AppSettings["FolderPath"];
                savepath = context.Server.MapPath(tempPath) + FolderName;
                string filename   = postedFile.FileName;
                string sExtension = Path.GetExtension(filename);

                if (!Directory.Exists(savepath))
                {
                    Directory.CreateDirectory(savepath);
                }

                string sNewFileName = FolderName + filename;//DateTime.Now.ToString("yyyyMMddhhmmsfff");
                if (File.Exists(savepath + @"\" + sNewFileName))
                {
                    context.Response.Write("0");
                    return;
                }
                postedFile.SaveAs(savepath + @"\" + sNewFileName);
                context.Response.Write(tempPath + sNewFileName);
                context.Response.StatusCode = 200;
            }
            catch (Exception ex)
            {
                context.Response.Write("Error: " + ex.Message);
            }
        }
Esempio n. 22
0
 public void SubmitForm(ProjectsEntity entity, string keyValue)
 {
     if (!string.IsNullOrEmpty(keyValue))
     {
         entity.Modify(keyValue);
         service.Update(entity);
     }
     else
     {
         entity.Create();
         service.Insert(entity);
     }
 }
Esempio n. 23
0
        // GET: ProjectsEntities/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProjectsEntity projectsEntity = db.projectsEntities.Find(id);

            if (projectsEntity == null)
            {
                return(HttpNotFound());
            }
            return(View(projectsEntity));
        }
Esempio n. 24
0
        private int PmReplyClient(ProjectsEntity projectEntity, TicketsEntity ticketEntity)
        {
            var historys = ticketAPP.GetHistoryListByTicketID(ticketEntity.ID);
            int previousResponseUserId = 0;

            if (historys.Count >= 2)
            {
                previousResponseUserId = historys[1].ResponsibleUserId;
            }
            else if (historys.Count >= 1)
            {
                previousResponseUserId = historys[0].ResponsibleUserId;
            }
            else
            {
                previousResponseUserId = projectEntity.PMID;
            }

            string description = "Change status to " + ticketEntity.RealStatus.ToText() + ".";

            if (previousResponseUserId != ticketEntity.ResponsibleUser)
            {
                var oldResponseUser = _userApp.GetUser(ticketEntity.ResponsibleUser);
                var pmResponseUser  = _userApp.GetUser(previousResponseUserId);
                if (oldResponseUser != null && pmResponseUser != null)
                {
                    description += " And Change response user from " + oldResponseUser.FirstName + " " + oldResponseUser.LastName + " to " + pmResponseUser.FirstName + " " + pmResponseUser.LastName;
                }
                ticketEntity.ResponsibleUser = previousResponseUserId;
                ticketAPP.UpdateTicket(ticketEntity);
            }

            //添加历史记录
            TicketHistorysEntity historysEntity = new TicketHistorysEntity();

            historysEntity.Description       = description;
            historysEntity.ModifiedBy        = IdentityContext.UserID;
            historysEntity.CreatedOn         = DateTime.Now;
            historysEntity.ModifiedOn        = DateTime.Now;
            historysEntity.TicketID          = ticketEntity.ID;
            historysEntity.TDHID             = 0;
            historysEntity.ResponsibleUserId = previousResponseUserId;

            ticketAPP.AddTicketHistory(historysEntity);

            return(previousResponseUserId);
        }
Esempio n. 25
0
        protected void btnRefusal_Click(object sender, EventArgs e)
        {
            _ticketEntity.Status     = TicketsState.Denied;
            _ticketEntity.ModifiedBy = UserInfo.UserID;
            _ticketEntity.ModifiedOn = DateTime.Now;
            ProjectsEntity projectEntity = projApp.Get(_ticketEntity.ProjectID);
            bool           result        = ticketApp.UpdateTickets(_ticketEntity, true, projectEntity.PMID);

            if (result)
            {
                Redirect(EmptyPopPageUrl, false, true);
            }
            else
            {
                ShowFailMessageToClient(ticketApp.BrokenRuleMessages);
            }
        }
Esempio n. 26
0
        private void InitControls()
        {
            InitPM();
            InitCompany();

            int            id    = QS("id", 0);
            ProjectsEntity model = projApp.Get(id);

            if (model == null)
            {
                this.ShowFailMessageToClient(projApp.BrokenRuleMessages, true);
            }
            else
            {
                chkBillable.Checked       = model.Billable;
                chkBugNeedApprove.Checked = model.BugNeedApproved;
                ddlCompany.SelectedValue  = model.CompanyID.ToString();
                txtDesc.Text              = model.Description;
                txtEndDate.Text           = model.EndDate.ToString("MM/dd/yyyy");
                txtFreeHour.Text          = model.FreeHour.ToString();
                ltlFreeHour.Text          = model.FreeHour.ToString();
                chkIsOverFreeTime.Checked = model.IsOverFreeTime;
                chkIsOverFreeTime.Text    = chkIsOverFreeTime.Checked ? "Yes" : "No";
                if (UserInfo.Role == RolesEnum.Sales)
                {
                    ltlFreeHour.Visible = false;
                }
                else
                {
                    txtFreeHour.Visible = false;
                }
                //model.IsOverFreeTime = false;
                ddlPM.SelectedValue           = model.PMID.ToString();
                ddlPriority.SelectedValue     = model.Priority;
                txtProjectCode.Text           = model.ProjectCode;
                chkRequestNeedApprove.Checked = model.RequestNeedApproved;
                txtStartDate.Text             = model.StartDate.ToString("MM/dd/yyyy");
                ddlStatus.SelectedValue       = model.Status.ToString();
                txtTestUrl.Text      = model.TestLinkURL;
                txtTestPassword.Text = model.TestPassword;
                txtTestUserName.Text = model.TestUserName;
                txtTitle.Text        = model.Title;

                InitFiles();
            }
        }
Esempio n. 27
0
        private void AddTicketUsers(ProjectsEntity projectsEntity, TicketsEntity ticketsEntity, int result)
        {
            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);
                    }
                }
            }
        }
Esempio n. 28
0
        private void AddDefaultTicketUsers(ProjectsEntity projectsEntity, TicketsEntity ticketsEntity, int result, out List <int> userIds)
        {
            userIds = new List <int>();
            TicketUsersEntity ticketPMUserEntity = new TicketUsersEntity();

            //add pm user
            ticketPMUserEntity.Type     = TicketUsersType.PM;
            ticketPMUserEntity.TicketID = result;
            ProjectsEntity projectEntity = new ProjectApplication().Get(ticketsEntity.ProjectID);

            if (projectEntity != null)
            {
                ticketPMUserEntity.UserID = projectEntity.PMID;
                new TicketsApplication().AddTicketUser(ticketPMUserEntity);
                userIds.Add(projectEntity.PMID);
                //发送Email给Responsible
                ticketPMUserEntity.UserID = int.Parse(ddlRes.SelectedValue);
                new SendHandler(() => ex.SendEmailToResponsibile(ticketPMUserEntity, ticketsEntity, UserInfo)).BeginInvoke(null, null);
            }
            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
            TicketUsersEntity ticketCreateUserEntity = new TicketUsersEntity();

            ticketCreateUserEntity.Type     = TicketUsersType.Create;
            ticketCreateUserEntity.TicketID = result;
            ticketCreateUserEntity.UserID   = ticketsEntity.CreatedBy;
            new TicketsApplication().AddTicketUser(ticketCreateUserEntity);

            if (userIds.Contains(ticketsEntity.CreatedBy) == false)
            {
                new SendHandler(() => ex.SendEmailToAssignedUser(ticketCreateUserEntity, ticketsEntity, UserInfo)).BeginInvoke(null, null);
                userIds.Add(ticketsEntity.CreatedBy);
            }
        }
Esempio n. 29
0
 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();
     }
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            int userID    = QS("user", 0);
            int projectID = QS("project", 0);

            if (userID == 0 || projectID == 0)
            {
                this.Alert("Current Page get an error,please check your argument!", "/Report/Consuming.aspx?viewmodel=detailmodel");
            }
            UserApplication userApp = new UserApplication();

            this.SelectedUser = userApp.GetUser(userID);
            ProjectApplication projApp = new ProjectApplication();

            this.SelectedProject = projApp.Get(projectID);

            DateTime startDate = DateTime.MinValue;
            DateTime endDate   = DateTime.MinValue;

            DateTime.TryParse(Request.QueryString["startdate"], out startDate);
            DateTime.TryParse(Request.QueryString["enddate"], out endDate);

            TimeSheetApplication tsApp = new TimeSheetApplication();
            DataTable            dt    = tsApp.GetSheetDateByProjectUser(projectID, userID, startDate, endDate);

            if (dt != null && dt.Rows.Count > 0)
            {
                this.rptDateView.DataSource = dt;
                this.rptDateView.DataBind();
            }
            else
            {
                ShowFailMessageToClient("There is no records ");
            }
            litUserName.Text   = SelectedUser.FirstName + " " + SelectedUser.LastName;
            litTotalhours.Text = totalHours.ToString("#0.00") + " h";
        }