private bool advisorAvailable(string advisorName, DateTime appDate, TimeSpan appTime)
    {
        AdvisorDBEntities dbcon = new AdvisorDBEntities();

        dbcon.AdvisorTables.Load();

        try
        {
            AdvisorTable existingApp =
                (from x in dbcon.AdvisorTables.Local
                 where x.Date.Equals(appDate) && x.Time.Equals(appTime)
                 select x).First();
        }
        catch (Exception e)
        {
            return(true);
        }
        lstResult.Items.Clear();
        lstResult.Items.Add("The advisor is unavailable at the selected date and time.");
        return(false);
    }
示例#2
0
        protected void submitBtn_Click(object sender, EventArgs e)
        {
            DateTime dateTime;

            if (DropDownList1.Items.Count != 0)
            {
                dateTime = DateTime.ParseExact(DropDownList1.SelectedItem.Value,
                                               "hh:mm tt", CultureInfo.InvariantCulture);
            }
            else
            {
                return;
            }
            string role = check_role();

            NewBDcon();
            dbconDate.StudentTables.Load();
            dbconDate.UserTables.Load();
            dbconDate.AdvisorTables.Load();
            dbconDate.AppointmentTables.Load();
            dbconDate.MessagesTables.Load();
            TimeSpan span = dateTime.TimeOfDay;
            string   userName = User.Identity.Name;
            int      advisor, student;

            if ("advisor" == role)
            {
                advisor = (from advisors in dbconDate.AdvisorTables.Local
                           where advisors.AdvisorUserName == userName
                           select advisors.AdvisorID).First();
                student = Convert.ToInt32(StudentsView.SelectedRow.Cells[1].Text);
            }
            else
            {
                advisor = (from students in dbconDate.StudentTables.Local
                           where students.StudentUserName == userName
                           select students.StudentAdvisorID).First();
                student = (from students in dbconDate.StudentTables.Local
                           where students.StudentUserName == userName
                           select students.StudentID).First();
            }
            AppointmentTable entry = new AppointmentTable
            {
                AdvisorID         = advisor,
                AppointmentDate   = Calendar1.SelectedDate,
                AppointmentReason = TextBox1.Text,
                StudentID         = student,
                AppointmentTime   = span,
            };

            AdvisorTable advisorEntry = dbconDate.AdvisorTables.Find(advisor);
            StudentTable studentEntry = dbconDate.StudentTables.Find(student);
            string       studentEmail, advisorEmail;

            if ("advisor" == role)
            {
                advisorEmail = (from advisors in dbconDate.AdvisorTables.Local
                                where advisors.AdvisorUserName == userName
                                join user in dbconDate.UserTables.Local on advisors.AdvisorUserName equals user.UserName
                                select user.UserEmail).First();
                studentEmail = StudentsView.SelectedRow.Cells[3].Text;
            }
            else
            {
                studentEmail = (from students in dbconDate.StudentTables.Local
                                where students.StudentUserName == userName
                                join user in dbconDate.UserTables.Local on students.StudentUserName equals user.UserName
                                select user.UserEmail).First();
                advisorEmail = (from students in dbconDate.StudentTables.Local
                                where students.StudentUserName == userName
                                join advisors in dbconDate.AdvisorTables.Local on students.StudentAdvisorID equals advisors.AdvisorID
                                join user in dbconDate.UserTables.Local on advisors.AdvisorUserName equals user.UserName
                                select user.UserEmail).First();
            }
            DateTime holdTime     = DateTime.Today.Add(span);
            string   displayTime  = holdTime.ToString("hh:mm tt");
            string   emailMessage = "Appointment date and Time: " + Calendar1.SelectedDate.ToShortDateString() + " " + displayTime +
                                    " \nAppointment Reason: " + TextBox1.Text;

            MessagesTable message;

            if ("advisor" == role)
            {
                message = new MessagesTable
                {
                    EmailTime = DateTime.Now.TimeOfDay,
                    EmailDate = DateTime.Today,
                    EmailTo   = studentEmail,
                    EmailFrom = advisorEmail,
                    EmailText = emailMessage
                };
            }
            else
            {
                message = new MessagesTable
                {
                    EmailTime = DateTime.Now.TimeOfDay,
                    EmailDate = DateTime.Today,
                    EmailTo   = advisorEmail,
                    EmailFrom = studentEmail,
                    EmailText = emailMessage
                };
            }

            dbconDate.MessagesTables.Add(message);
            dbconDate.SaveChanges();
            dbconDate.AppointmentTables.Add(entry);
            dbconDate.SaveChanges();
            Response.Redirect(ResolveUrl("Student_Home.aspx"));
        }