コード例 #1
0
        public void EditAssignment(FormCollection form)
        {
            string      emailBody;
            MailMessage mail   = new MailMessage();
            SmtpClient  mailer = new SmtpClient("owa13.Sullivan.edu");

            //mail.Bcc.Add(new MailAddress("*****@*****.**"));
            //mail.Bcc.Add(new MailAddress("*****@*****.**"));

            mail.IsBodyHtml  = true;
            mailer.EnableSsl = false;
            mail.From        = new MailAddress("*****@*****.**");

            IEnumerable <Staff> staff = request.Staffs;

            int requestID = Convert.ToInt16(Request.QueryString["requestID"]);

            Dictionary <string, bool> staffing = new Dictionary <string, bool>();

            foreach (var employee in staff)
            {
                bool assigned;

                if (Request.Form["CB_" + employee.staffID] != null)
                {
                    assigned = true;
                }
                else
                {
                    assigned = false;
                }

                staffing.Add(employee.staffID, assigned);
            }

            foreach (var assignment in staffing)
            {
                var editRequestAssignment = request.RequestAssignments.FirstOrDefault(a => a.requestID == requestID && a.staffID == assignment.Key);

                if (assignment.Value == true)
                {
                    if (editRequestAssignment == null)
                    {
                        RequestAssignment myRequest = new RequestAssignment();

                        myRequest.requestID = requestID;
                        myRequest.staffID   = assignment.Key;
                        request.AddToRequestAssignments(myRequest);

                        mail.To.Add(assignment.Key + "@Sullivan.edu");

                        request.SaveChanges();
                    }
                }
                else if (assignment.Value == false)
                {
                    if (editRequestAssignment != null)
                    {
                        request.RequestAssignments.DeleteObject(editRequestAssignment);
                        request.SaveChanges();
                    }
                }
            }

            if (mail.To.Count > 0)
            {
                emailBody = "<p>You have been assigned a project. <a href='https://secure.sullivan.edu/ProjectRequest/ProjectRequest/Request/RequestInfo?requestID="
                            + requestID.ToString() + "'>Click Here</a> to view the project";

                emailBody += "<p><a href='https://secure.sullivan.edu/ProjectRequest/ProjectRequest/Assignment/Index'>Click here to view all your assignments</p>";

                mail.Body    = emailBody;
                mail.Subject = "Creative Communications Project Assignment";

                mailer.Send(mail);
            }
        }