Example #1
0
        /// <summary>
        /// Send email notification after Response
        /// Emails sent to Group  of the release and all Power Users
        /// </summary>
        /// <param name="rspDTO"></param>
        /// <param name="releaseDTO"></param>
        internal void EmailResponse(WorkflowRequest_DTO requestDTO, WorkflowResponse_DTO rspDTO, Release_DTO releaseDTO)
        {
            eMail email = new eMail();

            Account_BSO aBso = new Account_BSO();

            ADO_readerOutput recipients = new ADO_readerOutput();

            string subject    = "";
            string body       = "";
            string releaseUrl = getReleaseUrl(releaseDTO);
            string rqsvalue   = Label.Get("workflow.request." + requestDTO.RqsValue);

            switch (rspDTO.RspCode)
            {
            case Constants.C_WORKFLOW_STATUS_APPROVE:
                //Send the email to power users only
                recipients = aBso.getUsersOfPrivilege(Resources.Constants.C_SECURITY_PRIVILEGE_POWER_USER);

                subject = string.Format(Label.Get("email.subject.response-approve"), releaseDTO.MtrCode, releaseDTO.RlsVersion, releaseDTO.RlsRevision);
                body    = string.Format(Label.Get("email.body.response-approve"), rqsvalue, releaseDTO.MtrCode, releaseDTO.RlsVersion, releaseDTO.RlsRevision, releaseUrl, rspDTO.ResponseAccount.CcnEmail, rspDTO.ResponseAccount.CcnUsername, rspDTO.ResponseAccount.CcnName);

                break;

            case Constants.C_WORKFLOW_STATUS_REJECT:

                //Send the email to
                recipients = aBso.getReleaseUsers(releaseDTO.RlsCode, false);

                subject = string.Format(Label.Get("email.subject.response-reject"), releaseDTO.MtrCode, releaseDTO.RlsVersion, releaseDTO.RlsRevision);
                body    = string.Format(Label.Get("email.body.response-reject"), rqsvalue, releaseDTO.MtrCode, releaseDTO.RlsVersion, releaseDTO.RlsRevision, releaseUrl, rspDTO.ResponseAccount.CcnEmail, rspDTO.ResponseAccount.CcnUsername, rspDTO.ResponseAccount.CcnName);

                break;
            }
            List <string> allEmails = new List <string>();


            allEmails.AddRange(getEmailAddresses(recipients));


            if (allEmails.Count == 0)
            {
                return;
            }

            foreach (string person in allEmails)
            {
                email.Bcc.Add(person);
            }


            sendMail(email, Configuration_BSO.GetCustomConfig("title"), subject, body);
            email.Dispose();
        }
Example #2
0
        /// <summary>
        /// Send emails for a Signoff
        /// </summary>
        /// <param name="sgnDTO"></param>
        internal void EmailSignoff(WorkflowRequest_DTO requestDTO, WorkflowSignoff_DTO sgnDTO, Release_DTO releaseDTO, ADO_readerOutput moderators, ADO_readerOutput powerUsers)
        {
            eMail email = new eMail();

            List <string> emailsAll = new List <string>();

            emailsAll.AddRange(getEmailAddresses(powerUsers));
            emailsAll.AddRange(getEmailAddresses(moderators));

            if (emailsAll.Count == 0)
            {
                return;
            }

            foreach (string person in emailsAll)
            {
                email.Bcc.Add(person);
            }


            string subject    = "";
            string body       = "";
            string releaseUrl = getReleaseUrl(releaseDTO);
            string rqsvalue   = Label.Get("workflow.request." + requestDTO.RqsValue);

            switch (sgnDTO.SgnCode)
            {
            case Constants.C_WORKFLOW_STATUS_APPROVE:
                subject = string.Format(Label.Get("email.subject.signoff-approve"), releaseDTO.MtrCode, releaseDTO.RlsVersion, releaseDTO.RlsRevision);
                body    = string.Format(Label.Get("email.body.signoff-approve"), rqsvalue, releaseDTO.MtrCode, releaseDTO.RlsVersion, releaseDTO.RlsRevision, releaseUrl, sgnDTO.SignoffAccount.CcnEmail, sgnDTO.SignoffAccount.CcnUsername, sgnDTO.SignoffAccount.CcnName);


                break;

            case Constants.C_WORKFLOW_STATUS_REJECT:

                subject = string.Format(Label.Get("email.subject.signoff-reject"), releaseDTO.MtrCode, releaseDTO.RlsVersion, releaseDTO.RlsRevision);
                body    = string.Format(Label.Get("email.body.signoff-reject"), rqsvalue, releaseDTO.MtrCode, releaseDTO.RlsVersion, releaseDTO.RlsRevision, releaseUrl, sgnDTO.SignoffAccount.CcnEmail, sgnDTO.SignoffAccount.CcnUsername, sgnDTO.SignoffAccount.CcnName);



                break;
            }
            sendMail(email, Configuration_BSO.GetCustomConfig("title"), subject, body);
            email.Dispose();
        }
Example #3
0
        /// <summary>
        /// Send email notifications after a WorkflowRequest has been created.
        /// Emails sent to the Group of the release
        /// </summary>
        /// <param name="requestDTO"></param>
        /// <param name="releaseDTO"></param>
        internal void EmailRequest(WorkflowRequest_DTO requestDTO, Release_DTO releaseDTO)
        {
            eMail email = new eMail();

            var v = getReleaseUrl(releaseDTO);

            Account_BSO      aBso      = new Account_BSO();
            ADO_readerOutput approvers = aBso.getReleaseUsers(releaseDTO.RlsCode, true);

            if (!approvers.hasData)
            {
                return;
            }

            List <string> emails = getEmailAddresses(approvers);


            if (emails.Count == 0)
            {
                return;
            }

            foreach (string person in emails)
            {
                email.Bcc.Add(person);
            }

            string rqsvalue = Label.Get("workflow.request." + requestDTO.RqsValue);

            string releaseUrl = getReleaseUrl(releaseDTO);
            String subject    = string.Format(Label.Get("email.subject.request-create"), releaseDTO.MtrCode, releaseDTO.RlsVersion, releaseDTO.RlsRevision);
            String body       = string.Format(Label.Get("email.body.request-create"), rqsvalue, releaseDTO.MtrCode, releaseDTO.RlsVersion, releaseDTO.RlsRevision, releaseUrl, requestDTO.RequestAccount.CcnEmail, requestDTO.RequestAccount.CcnUsername, requestDTO.RequestAccount.CcnName);

            sendMail(email, Configuration_BSO.GetCustomConfig("title"), subject, body);

            email.Dispose();
        }