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")); }