public void EmailOnInvited(int reservationId, IEnumerable <Invitee> invitees, int clientId, ReservationModificationType modificationType = ReservationModificationType.Created) { throw new NotImplementedException(); }
//Send email to invitees when they are invited to a reservation public void EmailOnInvited(int reservationId, IEnumerable <Invitee> invitees, int clientId, ReservationModificationType modificationType = ReservationModificationType.Created) { if (invitees == null) { return; } var invited = invitees.Where(x => !x.Removed).ToArray(); if (invited.Length == 0) { return; } var rsv = Require <ReservationInfo>(reservationId); string fromAddr, subject, body; List <string> toAddr = new List <string>(); fromAddr = Properties.Current.SchedulerEmail; subject = $"{SendEmail.CompanyName} - Reservation Invitation"; //reservationType string invitedModifiedText; if (modificationType == ReservationModificationType.Created) { invitedModifiedText = "invited you to a reservation"; } else { invitedModifiedText = "modified a reservation to which you are invited"; } body = string.Format("{0} has {1} for resource {2}.", Clients.GetDisplayName(rsv.LName, rsv.FName), invitedModifiedText, rsv.ResourceName); body += Environment.NewLine + string.Format("- Begin time: {0}", rsv.BeginDateTime.ToString(Reservation.DateFormat)); body += Environment.NewLine + string.Format("- End time: {0}", rsv.EndDateTime.ToString(Reservation.DateFormat)); foreach (var ri in invited) { //Send email if invitee wants to receive email ClientSetting inviteeSetting = Session.Get <ClientSetting>(ri.InviteeID); if (inviteeSetting != null) { if (inviteeSetting.EmailInvited.Value) { var primary = Client.GetPrimary(ri.InviteeID); if (primary != null) { toAddr.Add(primary.Email); } } } } if (toAddr.Count == 0) { return; } SendEmail.Send(clientId, "LNF.Scheduler.EmailUtility.EmailOnInvited", subject, body, fromAddr, toAddr); }