示例#1
0
    bool TryReadElementFromXml(EwsServiceXmlReader reader)
    {
        switch (reader.LocalName)
        {
        case XmlElementNames.Date:
            // The date that is returned by Availability is unscoped.
            DateTime tempDate = DateTime.Parse(reader.ReadElementValue <String>(), CultureInfo.InvariantCulture);

            if (tempDate.Kind != DateTimeKind.Unspecified)
            {
                this.date = new DateTime(tempDate.Ticks, DateTimeKind.Unspecified);
            }
            else
            {
                this.date = tempDate;
            }

            return(true);

        case XmlElementNames.DayQuality:
            this.quality = reader.ReadElementValue <SuggestionQuality>();
            return(true);

        case XmlElementNames.SuggestionArray:
            if (!reader.IsEmptyElement)
            {
                do
                {
                    reader.Read();

                    if (reader.IsStartElement(XmlNamespace.Types, XmlElementNames.Suggestion))
                    {
                        TimeSuggestion timeSuggestion = new TimeSuggestion();

                        timeSuggestion.LoadFromXml(reader, reader.LocalName);

                        this.timeSuggestions.Add(timeSuggestion);
                    }
                }while (!reader.IsEndElement(XmlNamespace.Types, XmlElementNames.SuggestionArray));
            }

            return(true);

        default:
            return(false);
        }
    }
 public void SetTimeAnswer(int meetingID, string time, string userID)
 {
     using (DataContext db = new DataContext())
     {
         try
         {
             string         ud         = userID;
             TimeSuggestion suggestion = db.TimeSuggestions.Single(x => x.MeetingID.Equals(meetingID) && x.Suggestion.Equals(time));
             var            answer     = db.TimeAnswers.Single(x => x.UserID.Equals(ud) && x.TimeID.Equals(suggestion.TID));
             answer.Answered = true;
             answer.Answer   = 1;
             db.SaveChanges();
         }
         catch
         {
             throw;
         }
     }
 }
        public ActionResult CreatedMeetings(MeetingViewModels obj, string subject, string place, string date, string creatorMail, string reicevMail, List <string> times, List <string> mails)
        {
            //Configuring webMail class to send emails
            //gmail smtp server
            WebMail.SmtpServer = "smtp.gmail.com";
            //gmail port to send emails
            WebMail.SmtpPort = 587;
            WebMail.SmtpUseDefaultCredentials = true;
            //sending emails with secure protocol
            WebMail.EnableSsl = true;
            //EmailId used to send emails from application
            WebMail.UserName = "******";
            WebMail.Password = "******";



            DataContext       db = new DataContext();
            UserRepository    ur = new UserRepository();
            MeetingRepository mr = new MeetingRepository();
            var meetingModel     = new Meeting
            {
                Subject = subject,
                Place   = place,
                Date    = date,
            };
            var creator = ur.GetUserByEmail(creatorMail);

            var invitationModel = new Invitation
            {
                //Meeting = meetingModel,
                Date      = DateTime.Now,
                MeetingID = meetingModel.MID,
                //ApplicationUser = creator,
                UserID = creator.Id,
            };

            var f = db.Users.Single(x => x.Id == invitationModel.UserID);

            WebMail.From = f.Email;
            List <RecieveMeetingInvitation> RMInviteList = new List <RecieveMeetingInvitation>();
            RecieveMeetingInvitation        receiver     = new RecieveMeetingInvitation();
            string allTimes = "";

            foreach (string time in times)
            {
                allTimes += time + "<br>";
            }
            foreach (string mail in mails)
            {
                var RMInvite = new RecieveMeetingInvitation
                {
                    InvitationID = invitationModel.IID,
                    UserID       = ur.GetUserByEmail(mail).Id
                };
                RMInviteList.Add(RMInvite);
                var    t    = db.Users.Single(x => x.Id == RMInvite.UserID);
                string body = String.Format("Du är inbjuden till mötet på/i {0} den {1} med dessa tidsförslag : <br> {2} <br> Vänligen logga in på <a href = 'https://github.com/'>hemsidan</a> för att svara på inbjudan. <hr> Det här är en automatisk inbjudan från Informatiks webbtjänst. <br> Svara inte på detta mejl.",
                                            place, date, allTimes);
                WebMail.Send(from: f.Email, to: t.Email, subject: obj.Subject, body: body, isBodyHtml: true);
            }

            List <TimeSuggestion> timeList       = new List <TimeSuggestion>();
            List <TimeAnswer>     timeAnswerList = new List <TimeAnswer>();

            foreach (string time in times)
            {
                var timeSuggestionModel = new TimeSuggestion
                {
                    MeetingID  = meetingModel.MID,
                    Suggestion = time
                };
                foreach (string mail in mails)
                {
                    var user            = ur.GetUserByEmail(mail);
                    var timeAnswerModel = new TimeAnswer
                    {
                        UserID = user.Id,
                        TimeID = timeSuggestionModel.TID
                    };
                    timeAnswerList.Add(timeAnswerModel);
                }
                timeList.Add(timeSuggestionModel);
            }

            mr.AddMeeting(meetingModel, invitationModel, RMInviteList, timeList, timeAnswerList);
            return(RedirectToAction("ViewMeetings"));
        }