예제 #1
0
        private void NotifyResponse_SendingEmail(object sender, EventArgs e)
        {
            SendEmailActivity activity = (SendEmailActivity)sender;

            Dictionary<string, string> parameters = new Dictionary<string, string>();

            WikiHistory record = WikiHistory.Load(WorkflowEnvironment.WorkflowInstanceId);

            WikiSerializable item = new WikiSerializable(record);

            string responsePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
                WikiService.Provider.ResponseSchemaPath);

            Stream template = File.OpenRead(responsePath);

            try
            {
                MailMessage message = PostOfficeService.Create(item, template, parameters);

                if (string.IsNullOrEmpty(record.Author))
                    return;

                MembershipUser user = Membership.GetUser(record.Author);

                if (user == null || string.IsNullOrEmpty(user.Email))
                    return;

                message.AddAddresses(user.Email);

                activity.UserData.Add("MailMessage", message);
            }
            finally
            {
                template.Close();
            }
        }
예제 #2
0
        private void NotifyRequest_SendingEmail(object sender, EventArgs e)
        {
            SendEmailActivity activity = (SendEmailActivity)sender;

            Dictionary<string, string> parameters = new Dictionary<string, string>();

            WorkWikiItem workitem = WorkWikiItem.Load(WorkflowEnvironment.WorkflowInstanceId);

            WikiSerializable item = new WikiSerializable(workitem);

            string requestPath = Path.Combine(HostingEnvironment.ApplicationPhysicalPath,
                WikiService.Provider.RequestSchemaPath);

            Stream template = File.OpenRead(requestPath);

            try
            {
                MailMessage message = PostOfficeService.Create(item, template, parameters);

                if (string.IsNullOrEmpty(workitem.Authorizer))
                    return;

                MembershipUser auhtorizer = Membership.GetUser(workitem.Authorizer);

                if (auhtorizer == null || string.IsNullOrEmpty(auhtorizer.Email))
                    return;

                message.AddAddresses(auhtorizer.Email);

                activity.UserData.Add("MailMessage", message);
            }
            finally
            {
                template.Close();
            }
        }