public static IRendezVous InitialiserPlageOuverture(PayloadPlageOuverture payload) { IRendezVous rdv = Fabrique.Get <IRendezVous>(); rdv.Sujet = $"[rdv-solidarités] - {Sanitize($"Plage d'ouverture : {string.Join(" - ", payload.Data.Motifs.Select(i => i.Name))}", SanitizeSujet)}"; rdv.Lieu = Sanitize(payload.Data.Lieu.Address, SanitizeLieu); DateTime dtd = DateTime.ParseExact(payload.Data.FirstDay, "yyyy-MM-dd", CultureInfo.InvariantCulture); DateTime dts = DateTime.ParseExact(payload.Data.StartTime, "HH:mm:ss", CultureInfo.InvariantCulture); DateTime dtf = DateTime.ParseExact(payload.Data.EndTime, "HH:mm:ss", CultureInfo.InvariantCulture); rdv.Debut = dtd.Add(new TimeSpan(dts.Hour, dts.Minute, dts.Second)); rdv.Fin = dtd.Add(new TimeSpan(dtf.Hour, dtf.Minute, dtf.Second)); Agent organisateur = payload.Data.Agent; IParticipant po = Fabrique.Get <IParticipant>(); po.Nom = Sanitize($"{organisateur.LastName} {organisateur.FirstName}", SanitizeNom).Trim(); po.Courriel = organisateur.Email.ToLowerInvariant(); rdv.Organisateur = po; rdv.Recurrence = payload.Data.Rrule; rdv.StatutAffichage = StatutAffichage.Occupe; rdv.ExternalId = payload.Data.IcalUid; return(rdv); }
private static IRendezVous InitialiserRendezVous(PayloadRendezVous payload) { IRendezVous rdv = Fabrique.Get <IRendezVous>(); switch (payload.Data.Status) { case StatusExcused: rdv.Sujet = $"EXCUSE - [rdv-solidarités] - {Sanitize(payload.Data.Motif.Name, SanitizeSujet)}"; rdv.StatutAffichage = StatutAffichage.Disponible; break; case StatusNotExcused: rdv.Sujet = $"NON EXCUSE - [rdv-solidarités] - {Sanitize(payload.Data.Motif.Name, SanitizeSujet)}"; rdv.StatutAffichage = StatutAffichage.Disponible; break; default: rdv.Sujet = $"[rdv-solidarités] - {Sanitize(payload.Data.Motif.Name, SanitizeSujet)}"; rdv.StatutAffichage = StatutAffichage.AbsentduBureau; break; } rdv.Lieu = Sanitize(payload.Data.Address, SanitizeLieu); int duration = int.Parse(payload.Data.DurationInMin, CultureInfo.InvariantCulture); rdv.Debut = DateTime.ParseExact(payload.Data.StartsAt, "yyyy-MM-dd HH:mm:ss zzz", CultureInfo.InvariantCulture); rdv.Fin = rdv.Debut.Add(new TimeSpan(0, duration, 0)); AgentRendezVous organisateur = payload.Data.Agents[0]; IParticipant po = Fabrique.Get <IParticipant>(); po.Nom = Sanitize($"{organisateur.LastName} {organisateur.FirstName}", SanitizeNom).Trim(); po.Courriel = organisateur.Email.ToLowerInvariant(); rdv.Organisateur = po; rdv.RappelMinutesAvantDebut = RappelMinutesAvantDebut; rdv.ExternalId = payload.Data.Uuid; StringBuilder sb = new StringBuilder(); if (payload.Data.Users.Count > 1) { sb.Append("Usagers concernés : <br/>"); } for (int i = 0; i < payload.Data.Users.Count; i++) { sb.Append($"Usager n°{i + 1}"); sb.Append("<ul>"); sb.Append($"{payload.Data.Users[i].ToHtml()}"); sb.Append("</ul>"); } rdv.Description = sb.ToString(); return(rdv); }
private static void LogEvent(IRendezVous rendezVous) { Log.EcrireInfo($"[NewCalendarEvent] >>> Sujet : {rendezVous.Sujet}"); Log.EcrireInfo($"[NewCalendarEvent] >>> Du : {rendezVous.Debut:F}"); Log.EcrireInfo($"[NewCalendarEvent] >>> au : {rendezVous.Fin:F}"); Log.EcrireInfo($"[NewCalendarEvent] >>> Organisateur :{rendezVous.Organisateur.Courriel}"); Log.EcrireInfo($"[NewCalendarEvent] >>> Lieu : {rendezVous.Lieu}"); Log.EcrireInfo($"[NewCalendarEvent] >>> Description : {rendezVous.Description}"); Log.EcrireInfo($"[NewCalendarEvent] >>> ExternalId : {rendezVous.ExternalId}"); Log.EcrireInfo($"[NewCalendarEvent] >>> Recurrence : {(string.IsNullOrEmpty(rendezVous.Recurrence) ? "Aucune" : rendezVous.Recurrence)}"); }
private static IList <IRendezVous> ChercherRendezVousDansLeMois(IRendezVous rendezVous) { ICritereRechercheRendezVousParExternalId crrv = Fabrique.Get <ICritereRechercheRendezVousParExternalId>(); crrv.Organisateur = rendezVous.Organisateur; crrv.DateDebutRecherche = new DateTime(rendezVous.Debut.Year, rendezVous.Debut.Month, 1); crrv.DateFinRecherche = new DateTime(rendezVous.Debut.Year, rendezVous.Debut.Month, 30); crrv.NombreMaximumResultats = NombreMaximumResultats; crrv.ExternalId = rendezVous.ExternalId; return(Fabrique.Get <IServiceExchange>().RechercherRendezVous(crrv)); }