예제 #1
0
        public void Create(IssueMaster issue)
        {
            #region 创建IssueMaster

            issue.Status = com.Sconit.CodeMaster.IssueStatus.Create;
            issue.Code = numberControlMgr.GetIssueNo(issue);
            this.genericMgr.Create(issue);
            if (issue.ReleaseIssue)
            {
                this.Release(issue);
            }

            #endregion
        }
예제 #2
0
        public ActionResult New()
        {
            IssueMaster issue = (IssueMaster)this.TempData["Issue"];
            if (issue == null)
            {
                issue = new IssueMaster();
                issue.MobilePhone = this.CurrentUser.MobilePhone;
                issue.Email = this.CurrentUser.Email;
                issue.UserName = this.CurrentUser.FullName;
            }
            else
            {
                this.TempData["Issue"] = null;
            }

            return View(issue);
        }
예제 #3
0
        public ActionResult Edit(IssueMaster issue)
        {
            if (!string.IsNullOrWhiteSpace(issue.IssueTypeCode))
            {
                ViewBag.IssueTypeCode = issue.IssueTypeCode;
                IssueType issueType = new IssueType();//base.genericMgr.FindById<IssueType>(issueTypeTo.IssueTypeCode);
                issueType.Code = issue.IssueTypeCode;
                issue.IssueType = issueType;
                ModelState.Remove("IssueType");
            }
            /*
            if (!string.IsNullOrWhiteSpace(issue.IssueAddressCode))
            {
                ViewBag.IssueAddressCode = issue.IssueAddressCode;
                IssueAddress issueAddress = new IssueAddress();//base.genericMgr.FindById<IssueType>(issueTypeTo.IssueTypeCode);
                issueAddress.Code = issue.IssueAddressCode;
                issue.IssueAddress = issueAddress;
                ModelState.Remove("IssueAddress");
            }
            */
            if (!string.IsNullOrWhiteSpace(issue.IssueNoCode))
            {
                ViewBag.IssueNoCode = issue.IssueNoCode;
                IssueNo issueNo = new IssueNo();//base.genericMgr.FindById<IssueType>(issueTypeTo.IssueTypeCode);
                issueNo.Code = issue.IssueNoCode;
                issue.IssueNo = issueNo;
                //ModelState.Remove("IssueNo");
            }

            if (ModelState.IsValid)
            {
                base.genericMgr.Update(issue);
                SaveSuccessMessage(Resources.ISS.IssueMaster.Issue_Updated);
            }

            return RedirectToAction("Edit/" + issue.Code);
        }
예제 #4
0
        private void InitPage(IssueMaster issue)
        {
            ViewBag.Code = issue.Code;
            ViewBag.isEditable = issue.Status == com.Sconit.CodeMaster.IssueStatus.Create && issue.CreateUserId == this.CurrentUser.Id;
            ViewBag.isEditable2 = (issue.Status == com.Sconit.CodeMaster.IssueStatus.Submit || issue.Status == com.Sconit.CodeMaster.IssueStatus.InProcess) && HaveAdminPermission();
            ViewBag.editorTemplate = issue.Status == com.Sconit.CodeMaster.IssueStatus.Create && issue.CreateUserId == this.CurrentUser.Id ? "" : "ReadonlyTextBox";
            //ViewBag.editorTemplate2 = !(issue.Status == com.Sconit.CodeMaster.IssueStatus.Create && issue.CreateUserId == this.CurrentUser.Id) && issue.Status != com.Sconit.CodeMaster.IssueStatus.Close && issue.Status == com.Sconit.CodeMaster.IssueStatus.Cancel ? "" : "ReadonlyTextBox";

            ViewBag.showRelease = issue.Status == com.Sconit.CodeMaster.IssueStatus.Create && (issue.CreateUserId == this.CurrentUser.Id || HaveAdminPermission());
            ViewBag.showDelete = issue.Status == com.Sconit.CodeMaster.IssueStatus.Create && (issue.CreateUserId == this.CurrentUser.Id || HaveAdminPermission());
            ViewBag.showStart = issue.Status == com.Sconit.CodeMaster.IssueStatus.Submit && (HaveAdminPermission() || issueUtilMgr.HavePermission(issue.Code, com.Sconit.CodeMaster.IssueStatus.Submit));
            ViewBag.showComplete = issue.Status == com.Sconit.CodeMaster.IssueStatus.InProcess && (HaveAdminPermission() || issueUtilMgr.HavePermission(issue.Code, com.Sconit.CodeMaster.IssueStatus.InProcess));
            ViewBag.showClose = issue.Status == com.Sconit.CodeMaster.IssueStatus.Complete && (issue.CreateUserId == this.CurrentUser.Id || HaveAdminPermission());
            ViewBag.showCancel = issue.Status == com.Sconit.CodeMaster.IssueStatus.Submit && (issue.CreateUserId == this.CurrentUser.Id || HaveAdminPermission());
        }
예제 #5
0
 public ActionResult Edit(IssueMaster issue)
 {
     try
     {
         IssueMaster newIssue = base.genericMgr.FindById<IssueMaster>(issue.Code);
         newIssue.Content = issue.Content;
         base.genericMgr.Update(newIssue);
         SaveSuccessMessage(Resources.ISS.IssueMaster.Issue_Updated);
     }
     catch (BusinessException ex)
     {
         SaveErrorMessage(ex.Message);
     }
     return RedirectToAction("Edit/" + issue.Code);
 }
예제 #6
0
        public ActionResult New(IssueMaster issue, string Assemblies, string ProductCode)
        {
            TempData["issue"] = issue;
            IssueType issueType = base.genericMgr.FindById<IssueType>("ISS_QA");
            issue.IssueType = issueType;
            ModelState.Remove("IssueType");

            if (!string.IsNullOrWhiteSpace(issue.IssueNoCode))
            {
                ViewBag.IssueNoCode = issue.IssueNoCode;
                IssueNo issueNo = new IssueNo();
                issueNo.Code = issue.IssueNoCode;
                issue.IssueNo = issueNo;
            }
           
           
            if (!ModelState.IsValid)
            {
                ViewBag.Assemblies = Assemblies;
                ViewBag.ProductCode = ProductCode;
                return View(issue);
            }
            else
            {
                issueMgr.Create(issue);
                SaveSuccessMessage(Resources.ISS.IssueMaster.QD_Issue_Added);
                if(issue.ContinuousCreate){
                    return RedirectToAction("New");
                }
                return RedirectToAction("Edit/" + issue.Code);
                
            }

        }
예제 #7
0
 public ActionResult New()
 {
     IssueMaster issue = new IssueMaster();
     if (TempData["issue"] != null)
     {
         issue.BackYards = ((IssueMaster)TempData["issue"]).BackYards;
         issue.ReleaseIssue = ((IssueMaster)TempData["issue"]).ReleaseIssue;
         issue.ContinuousCreate = ((IssueMaster)TempData["issue"]).ContinuousCreate;
         TempData["issue"] = null;
     }
     else {
         issue.ReleaseIssue = true;
         issue.ContinuousCreate = true;
     }
     return View(issue);
 }
예제 #8
0
        public void Release(IssueMaster issue)
        {
            //try
            //{

                IssueLevel issueLevel = this.GetDefaultIssueLevel();
                if (issueLevel == null)
                {
                    throw new BusinessException(Resources.ISS.IssueMaster.Errors_DefaultLevelNotFound, issue.IssueType.Description);
                }

                if (issue.Status == com.Sconit.CodeMaster.IssueStatus.Create)
                {
                    User user = SecurityContextHolder.Get();

                    issue.Status = com.Sconit.CodeMaster.IssueStatus.Submit;
                    issue.ReleaseDate = DateTime.Now;
                    issue.ReleaseUser = user.Id;
                    issue.ReleaseUserName = user.FullName;
                    this.genericMgr.Update(issue);

                    #region 创建IssueDetail

                    #region 用户

                    string hql = "select ittud from IssueTypeToUserDetail ittud ";
                    hql += "                    join ittud.IssueTypeTo ittm ";
                    hql += "                    join ittm.IssueLevel il ";
                    hql += "                    join ittm.IssueType it ";
                    hql += "                    join ittud.User u ";
                    hql += "                    where ((ittud.IsEmail = true and u.Email is not null and u.Email != '') ";
                    hql += "                            or (ittud.IsSMS = true and u.MobilePhone is not null and u.MobilePhone != '')) ";
                    hql += "                      and il.IsActive = true and ittm.IsActive = true ";
                    hql += "                      and ittud.IssueTypeTo=ittm.Code and it.Code =? ";
                    hql += "                    order by il.Sequence asc ";

                    IList<IssueTypeToUserDetail> issueTypeToUserDetailList = this.genericMgr.FindAll<IssueTypeToUserDetail>(hql, issue.IssueTypeCode);

                    IList<IssueDetail> submitSendUser = new List<IssueDetail>();
                    foreach (IssueTypeToUserDetail issueTypeToUserDetail in issueTypeToUserDetailList)
                    {
                        IssueDetail issueDeatail = new IssueDetail();
                        issueDeatail.User = issueTypeToUserDetail.User;
                        //issueDeatail.UserName = issueTypeToUserDetail.User.FullName;
                        issueDeatail.MobilePhone = issueTypeToUserDetail.User.MobilePhone;
                        issueDeatail.Email = issueTypeToUserDetail.User.Email;
                        issueDeatail.IsActive = true;
                        issueDeatail.EmailCount = 0;
                        issueDeatail.SMSCount = 0;
                        issueDeatail.EmailStatus = com.Sconit.CodeMaster.SendStatus.NotSend;
                        issueDeatail.SMSStatus = com.Sconit.CodeMaster.SendStatus.NotSend;
                        issueDeatail.IssueLevel = issueTypeToUserDetail.IssueTypeTo.IssueLevel.Code;
                        issueDeatail.IsInProcess = issueTypeToUserDetail.IssueTypeTo.IssueLevel.IsInProcess;
                        issueDeatail.IsSubmit = issueTypeToUserDetail.IssueTypeTo.IssueLevel.IsSubmit;
                        issueDeatail.IsDefault = issueTypeToUserDetail.IssueTypeTo.IssueLevel.IsDefault;
                        issueDeatail.IssueCode = issue.Code;
                        issueDeatail.IsSMS = issueTypeToUserDetail.IsSMS;
                        issueDeatail.IsEmail = issueTypeToUserDetail.IsEmail;
                        issueDeatail.Sequence = issueTypeToUserDetail.IssueTypeTo.IssueLevel.Sequence;
                        issueDeatail.IssueTypeToUserDetailId = issueTypeToUserDetail.Id;
                        this.genericMgr.Create(issueDeatail);

                        if (issueDeatail.IsDefault)
                        {
                            submitSendUser.Add(issueDeatail);
                        }
                    }
                    #endregion

                    #region 角色 暂不支持
                    #endregion

                    #endregion

                    this.SendMailAndSMS(issue, issueLevel, submitSendUser);
                }
                else
                {
                    throw new BusinessException(Resources.ISS.IssueMaster.Errors_StatusErrorWhenRelease, issue.Code, systemMgr.GetCodeDetailDescription(com.Sconit.CodeMaster.CodeMaster.IssueStatus, ((int)issue.Status).ToString()));
                }


            //}
            //catch (Exception e)
            //{
            //    log.Error(e.Message, e);
            //}
        }
예제 #9
0
 private void SendMailAndSMS(IssueMaster issue, double hours, DateTime date, IList<IssueLevel> issueLevels, User user)
 {
     int count = issueLevels.Count;
     foreach (IssueLevel issueLevel in issueLevels)
     {
         if (date.AddHours(count * hours) < DateTime.Now)
         {
             //是否发送过
             if (!this.IsSended(issue, issueLevel))
             {
                 IList<IssueDetail> issueDetailList = this.genericMgr.FindAll<IssueDetail>("select det from IssueDetail where IssueCode = ? and IssueLevel = ? ", new object[] { issue.Code, issueLevel.Code });
                 SendMailAndSMS(issue, issueLevel, issueDetailList);
             }
             break;
         }
         count--;
     }
 }
예제 #10
0
        public string GetBody(IssueMaster issue, string level, bool isEmail)
        {
            string separator = string.Empty;

            if (isEmail)
            {
                separator = "<br>";
            }
            else
            {
                separator = "\r\n";
            }

            StringBuilder content = new StringBuilder();
            try
            {
                if (isEmail)
                {
                    content.Append(Resources.ISS.IssueMaster.Code + ": " + issue.Code);
                    content.Append(separator);
                }
                content.Append(Resources.ISS.IssueMaster.BackYards + ": " + issue.BackYards);
                content.Append(separator);
                content.Append(Resources.ISS.IssueMaster.IssueSubject + ": " + issue.IssueSubject);

                if (issue.Status == com.Sconit.CodeMaster.IssueStatus.Submit)
                {
                    TimeSpan now = new TimeSpan(DateTime.Now.Ticks);
                    TimeSpan ReleaseDate = new TimeSpan(issue.ReleaseDate.Value.Ticks);
                    TimeSpan diff = now.Subtract(ReleaseDate).Duration();
                    if (diff.Hours > 0)
                    {
                        content.Append("(" + Resources.ISS.IssueMaster.ConfirmOvertime + " " + diff.Hours + "小时)");
                    }
                }
                else if (issue.Status == com.Sconit.CodeMaster.IssueStatus.InProcess)
                {
                    TimeSpan now = new TimeSpan(DateTime.Now.Ticks);
                    TimeSpan inprocessDate = new TimeSpan(issue.StartDate.Value.Ticks);
                    TimeSpan diff = now.Subtract(inprocessDate).Duration();
                    if (diff.Hours > 0)
                    {
                        content.Append("(" + Resources.ISS.IssueMaster.CompleteOvertime + " " + diff.Hours + "小时)");
                    }
                }
                if (issue.Priority == com.Sconit.CodeMaster.IssuePriority.Urgent)
                {
                    content.Append("[" + systemMgr.GetCodeDetailDescription(com.Sconit.CodeMaster.CodeMaster.IssuePriority, ((int)com.Sconit.CodeMaster.IssuePriority.Urgent).ToString()) + "]");
                }
                content.Append(separator);

                content.Append(Resources.ISS.IssueMaster.DateTime + ": " + DateTime.Now + separator);

                if (isEmail || issue.IssueAddress != null)
                {
                    content.Append(Resources.ISS.IssueMaster.IssueAddress + ": ");
                    content.Append(issue.IssueAddress != null ? issue.IssueAddress : string.Empty);
                    content.Append(separator);
                }
                content.Append(Resources.ISS.IssueMaster.IssueType + ": " + issue.IssueType.Code + separator);
                if (issue.IssueNo != null)
                {
                    content.Append(Resources.ISS.IssueMaster.IssueNo + ": " + issue.IssueNo.Code + separator);
                }
                /*
                if (level != null && level.Length > 0)
                    content.Append("等级: " + codeMasterMgrE.GetCachedCodeMaster(BusinessConstants.CODE_MASTER_ISSUE_TYPE_TO_LEVEL, level).Description + separator);
                content.Append("状态: " + codeMasterMgrE.GetCachedCodeMaster(BusinessConstants.CODE_MASTER_ISSUE_STATUS, issue.Status).Description + separator);
                */

                if (isEmail)
                {
                    content.Append(separator + separator);
                    content.Append(issue.Content);
                    content.Append(separator + separator);
                    if (issue.UserName != null && issue.UserName.Trim() != string.Empty)
                        content.Append(issue.UserName + separator);
                    if (issue.MobilePhone != null && issue.MobilePhone.Trim() != string.Empty && ControlHelper.IsValidMobilePhone(issue.MobilePhone))
                        content.Append("Tel: " + issue.MobilePhone + separator);
                    if (issue.Email != null && issue.Email.Trim() != string.Empty && ControlHelper.IsValidEmail(issue.Email))
                        content.Append("Email: " + issue.Email + separator);
                }
                else
                {
                    if (issue.Content != null && issue.Content.Trim() != string.Empty)
                    {
                        content.Append(issue.Content);
                        content.Append(separator);
                    }
                    if ((issue.UserName != null && issue.UserName.Trim() != string.Empty)
                        || (issue.MobilePhone != null && issue.MobilePhone.Trim() != string.Empty && ControlHelper.IsValidMobilePhone(issue.MobilePhone)))
                    {
                        content.Append("[");
                    }
                    if (issue.UserName != null && issue.UserName.Trim() != string.Empty)
                    {
                        content.Append(issue.UserName);
                    }
                    if (issue.MobilePhone != null && issue.MobilePhone.Trim() != string.Empty && ControlHelper.IsValidMobilePhone(issue.MobilePhone))
                    {
                        content.Append(", " + issue.MobilePhone);
                    }
                    if ((issue.UserName != null && issue.UserName.Trim() != string.Empty)
                        || (issue.MobilePhone != null && issue.MobilePhone.Trim() != string.Empty && ControlHelper.IsValidMobilePhone(issue.MobilePhone)))
                    {
                        content.Append("]");
                    }
                    content.Append(separator);
                    content.Append(Resources.ISS.IssueMaster.Confirmation + " " + issue.Code + "+" + Resources.ISS.IssueMaster.Space + "+Y");
                }
            }
            catch (Exception e)
            {
                log.Error(e.Message, e);
            }
            return content.ToString();

        }
예제 #11
0
 public string GetSMSBody(IssueMaster issue, string level)
 {
     return this.GetBody(issue, level, false);
 }
예제 #12
0
 public string GetEmailBody(IssueMaster issue, string level)
 {
     return this.GetBody(issue, level, true);
 }
예제 #13
0
        private void SendEmail(IssueMaster issue, string level, ref IList<IssueDetail> issueDetailList)
        {
            try
            {
                string userMail = string.Empty;
                if (issue.Email != null && ControlHelper.IsValidEmail(issue.Email))
                {
                    if (issue.UserName != null && issue.UserName.Length > 0)
                    {
                        userMail = issue.UserName + "," + issue.Email;
                    }
                    else
                    {
                        userMail = issue.Email;
                    }
                }
                else
                {
                    userMail = systemMgr.GetEntityPreferenceValue(EntityPreference.CodeEnum.SMTPEmailAddr);
                }

                string toEmail = GetEmail(issue.Code, ref issueDetailList);

                string body = GetEmailBody(issue, level);

                string subject = string.Empty;
                if (issue.Priority == com.Sconit.CodeMaster.IssuePriority.Urgent)
                {
                    subject = systemMgr.GetCodeDetailDescription(com.Sconit.CodeMaster.CodeMaster.IssuePriority, ((int)com.Sconit.CodeMaster.IssuePriority.Urgent).ToString()) + " " + issue.IssueSubject;
                }
                else
                {
                    subject = issue.IssueSubject;
                }

                MailPriority mailPriority;
                if (issue.Priority == com.Sconit.CodeMaster.IssuePriority.Urgent)
                {
                    mailPriority = MailPriority.High;
                }
                else
                {
                    mailPriority = MailPriority.Normal;
                }

                #region email发送
                this.emailMgr.AsyncSendEmail(subject, body, toEmail, mailPriority);
                #endregion
            }
            catch (Exception e)
            {
                log.Error(e.Message, e);
            }
        }
예제 #14
0
        private void SendSMS(IssueMaster issue, string level, ref IList<IssueDetail> issueDetailList)
        {
            string body = GetSMSBody(issue, level);

            string toMobilePhone = GetMobilePhone(issue.Code, ref issueDetailList);

            if (toMobilePhone != string.Empty && body != string.Empty)
            {
                //SMSService smsService = new SMSService();
                //smsService.AsyncSend(toMobilePhone, body);
                //smsMgr.AsyncSend(toMobilePhone, body);
            }
            else
            {
                issueLogMgr.LogError(issue.Code, null, "Issue.Code:" + issue.Code + ",toMobilePhone:" + toMobilePhone + ", body:" + body);
                throw new BusinessException(Resources.ISS.IssueMaster.ParamsIsNull, new string[] { issue.Code, toMobilePhone, body });
            }
        }
예제 #15
0
        private void SendMailAndSMS(IssueMaster issue, IssueLevel level, IList<IssueDetail> issueDetailList)
        {
            try
            {
                if (issueDetailList == null || issueDetailList.Count == 0)
                {
                    throw new BusinessException(Resources.ISS.IssueMaster.EmailListIsNull);
                }

                SendEmail(issue, level.Code, ref issueDetailList);

                SendSMS(issue, level.Code, ref issueDetailList);


                foreach (IssueDetail issueDetail in issueDetailList)
                {
                    if (issueDetail.SMSStatus != com.Sconit.CodeMaster.SendStatus.Fail)
                    {
                        issueDetail.SMSStatus = com.Sconit.CodeMaster.SendStatus.Success;
                        issueLogMgr.LogInfo(issue.Code, issueDetail, issue.Content);
                    }
                    issueDetail.SMSCount = issueDetail.SMSCount + 1;

                    if (issueDetail.EmailStatus != com.Sconit.CodeMaster.SendStatus.Fail)
                    {
                        issueDetail.EmailStatus = com.Sconit.CodeMaster.SendStatus.Success;
                        issueLogMgr.LogInfo(issue.Code, issueDetail, issue.Content);
                    }
                    issueDetail.EmailCount = issueDetail.EmailCount + 1;

                    this.genericMgr.Update(issueDetail);
                }
            }
            catch (Exception e)
            {
                issueLogMgr.LogError(issue.Code, e.Message);
            }
        }
예제 #16
0
        public bool IsSended(IssueMaster issue, IssueLevel issueLevel)
        {
            string hql = "select count(*) from IssueDetail where IsActive = true and IssueCode =? and Level = ? and (EmailStatus !=0 or SMSStatus !=0 )";

            IList<long> count = this.genericMgr.FindAll<long>(hql, new object[] { issue.Code, issueLevel.Code });

            if (count != null && count.Count > 0 && count[0] > 0)
            {
                return true;
            }
            return false;
        }
예제 #17
0
        public ActionResult New(IssueMaster issue)
        {
            if (!string.IsNullOrWhiteSpace(issue.IssueTypeCode))
            {
                ViewBag.IssueTypeCode = issue.IssueTypeCode;
                IssueType issueType = new IssueType();//base.genericMgr.FindById<IssueType>(issueTypeTo.IssueTypeCode);
                issueType.Code = issue.IssueTypeCode;
                issue.IssueType = issueType;
                ModelState.Remove("IssueType");
            }

            /*
            if (!string.IsNullOrWhiteSpace(issue.IssueAddressCode))
            {
                ViewBag.IssueAddressCode = issue.IssueAddressCode;
                IssueAddress issueAddress = new IssueAddress();//base.genericMgr.FindById<IssueType>(issueTypeTo.IssueTypeCode);
                issueAddress.Code = issue.IssueAddressCode;
                issue.IssueAddress = issueAddress;
                ModelState.Remove("IssueAddress");
            }
            */
            if (!string.IsNullOrWhiteSpace(issue.IssueNoCode))
            {
                ViewBag.IssueNoCode = issue.IssueNoCode;
                IssueNo issueNo = new IssueNo();//base.genericMgr.FindById<IssueType>(issueTypeTo.IssueTypeCode);
                issueNo.Code = issue.IssueNoCode;
                issue.IssueNo = issueNo;
                //ModelState.Remove("IssueNo");
            }

            if (!ModelState.IsValid)
            {
                return View(issue);
            }
            else
            {
                IssueMaster newIssue = new IssueMaster();

                newIssue.IssueNo = issue.IssueNo;
                newIssue.IssueAddress = issue.IssueAddress;
                newIssue.IssueSubject = issue.IssueSubject;
                newIssue.IssueType = issue.IssueType;
                newIssue.MobilePhone = issue.MobilePhone;
                newIssue.Email = issue.Email;
                newIssue.Type = issue.Type;
                newIssue.Priority = issue.Priority;
                newIssue.UserName = issue.UserName;
                newIssue.BackYards = issue.BackYards;
                newIssue.ReleaseIssue = issue.ReleaseIssue;

                issueMgr.Create(newIssue);
                SaveSuccessMessage(Resources.ISS.IssueMaster.Issue_Added);
                if (issue.ContinuousCreate)
                {
                    //清空不必要的值
                    IssueMaster newIssue2 = new IssueMaster();
                    newIssue2.BackYards = issue.BackYards;
                    newIssue2.IssueNo = issue.IssueNo;
                    //newIssue2.IssueNoCode = issue.IssueNo != null ? issue.IssueNo.Code : string.Empty;
                    //newIssue2.IssueTypeCode = issue.IssueType.Code;
                    newIssue2.IssueType = issue.IssueType;
                    newIssue2.IssueAddress = issue.IssueAddress;
                    newIssue2.Priority = issue.Priority;
                    newIssue2.Type = issue.Type;
                    newIssue2.UserName = issue.UserName;
                    newIssue2.MobilePhone = issue.MobilePhone;
                    newIssue2.Email = issue.Email;
                    newIssue2.ContinuousCreate = issue.ContinuousCreate;
                    newIssue2.IsRedirect = true;
                    newIssue2.ReleaseIssue = issue.ReleaseIssue;

                    this.TempData["Issue"] = newIssue2;

                    return this.RedirectToAction("New/");
                }
                else
                {
                    return RedirectToAction("Edit/" + newIssue.Code);
                }
            }

        }
예제 #18
0
        private void SendEmail(IssueMaster issue, string level, ref IList<IssueDetail> issueDetailList)
        {
            try
            {
                //string userMail = string.Empty;
                //if (issue.Email != null && ControlHelper.IsValidEmail(issue.Email))
                //{
                //    if (issue.UserName != null && issue.UserName.Length > 0)
                //    {
                //        userMail = issue.UserName + "," + issue.Email;
                //    }
                //    else
                //    {
                //        userMail = issue.Email;
                //    }
                //}
                //else
                //{
                //    userMail = systemMgr.GetEntityPreferenceValue(EntityPreference.CodeEnum.SMTPEmailAddr);
                //}

                //string toEmail = GetEmail(issue.Code, ref issueDetailList);

                //string body = GetEmailBody(issue, level);

                //string subject = string.Empty;
                //if (issue.Priority == com.Sconit.CodeMaster.IssuePriority.Urgent)
                //{
                //    subject = systemMgr.GetCodeDetailDescription(com.Sconit.CodeMaster.CodeMaster.IssuePriority, ((int)com.Sconit.CodeMaster.IssuePriority.Urgent).ToString()) + " " + issue.IssueSubject;
                //}
                //else
                //{
                //    subject = issue.IssueSubject;
                //}

                //MailPriority mailPriority;
                //if (issue.Priority == com.Sconit.CodeMaster.IssuePriority.Urgent)
                //{
                //    mailPriority = MailPriority.High;
                //}
                //else
                //{
                //    mailPriority = MailPriority.Normal;
                //}

                //#region email发送
                //EmailService emailService = new EmailService();
                //emailService.AsyncSend(subject, body, toEmail, mailPriority);
                ////smsMgr.SendEmail(subject, body, toEmail, userMail, mailPriority);
                //#endregion
            }
            catch (Exception e)
            {
                log.Error(e.Message, e);
            }
        }