/// <summary> /// Costruttore della classe /// </summary> /// <param name="richiesta">E' la richiesta di assistenza a cui si aggiunge l'evento</param> /// <param name="codiceMezzo">Il codice del mezzo</param> /// <param name="istante">E' l'istante in cui si verifica l'evento</param> /// <param name="codiceFonte">E' la fonte informativa dell'evento</param> public ArrivoSulPosto( RichiestaAssistenza richiesta, string codiceMezzo, DateTime istante, string codiceFonte) : base(richiesta, codiceMezzo, istante, codiceFonte, "ArrivoSulPosto") { }
public void UnaRichiestaConM1PartitoEdM2ArrivatoRestituisceIDueStatiCorrettamente() { var richiesta = new RichiestaAssistenza(); new ComposizionePartenze(richiesta, DateTime.Now, "fonte", false) { Componenti = new HashSet <ComponentePartenza>() { new ComponentePartenza("XXX", "M1"), new ComponentePartenza("YYY", "M2"), } }; new UscitaPartenza(richiesta, "M1", DateTime.Now, "fonte"); new UscitaPartenza(richiesta, "M2", DateTime.Now, "fonte"); new ArrivoSulPosto(richiesta, "M2", DateTime.Now, "fonte"); var mezziCoinvolti = richiesta.MezziCoinvolti; Assert.Multiple(() => { Assert.That(mezziCoinvolti, Has.Count.EqualTo(2)); Assert.That(mezziCoinvolti["M1"], Is.InstanceOf <SO115App.API.Models.Classi.Soccorso.Mezzi.StatiMezzo.InViaggio>()); Assert.That(mezziCoinvolti["M2"], Is.InstanceOf <SO115App.API.Models.Classi.Soccorso.Mezzi.StatiMezzo.SulPosto>()); }); }
/// <summary> /// Costruttore della classe. /// </summary> /// <param name="richiesta">E' la richiesta di assistenza a cui si aggiunge l'evento</param> /// <param name="codiceMezzo">Il codice del mezzo</param> /// <param name="istante">E' l'istante in cui si verifica l'evento</param> /// <param name="codiceFonte">E' la fonte informativa dell'evento</param> public PartenzaInRientro( RichiestaAssistenza richiesta, string codiceMezzo, DateTime istante, string codiceFonte) : base(richiesta, codiceMezzo, istante, codiceFonte) { }
/// <summary> /// Costruttore della classe. A seguito della chiamata, la richiesta risulta aperta. /// </summary> /// <param name="richiesta">La richiesta alla quale l'evento deve essere aggiunto</param> /// <param name="istante">E' l'istante in cui si verifica l'evento</param> /// <param name="codiceFonte">E' la fonte informativa dell'evento</param> public RichiestaPresidiata( RichiestaAssistenza richiesta, DateTime istante, string codiceFonte) : base(richiesta, istante, codiceFonte, "RichiestaPresidiata") { richiesta.IstanteChiusura = null; }
/// <summary> /// Costruttore della classe /// </summary> /// <param name="richiesta">La richiesta a cui appartiene l'evento</param> /// <param name="codiceMezzo">Il codice mezzo relativo all'evento</param> /// <param name="istante">L'istante in cui l'evento si verifica</param> /// <param name="codiceFonte">La fonte informativa dell'evento</param> public RevocaPerFuoriServizio( RichiestaAssistenza richiesta, string codiceMezzo, DateTime istante, string codiceFonte) : base(richiesta, codiceMezzo, istante, codiceFonte) { }
/// <summary> /// Costruttore della classe. /// </summary> /// <param name="richiesta">E' la richiesta di assistenza a cui si aggiunge l'evento</param> /// <param name="codiceMezzo">Il codice del mezzo</param> /// <param name="istante">E' l'istante in cui si verifica l'evento</param> /// <param name="codiceFonte">E' la fonte informativa dell'evento</param> public UscitaPartenza( RichiestaAssistenza richiesta, string codiceMezzo, DateTime istante, string codiceFonte) : base(richiesta, codiceMezzo, istante, codiceFonte, "UscitaPartenza") { }
public void Handle(MessaInLavorazioneCommand command) { RichiestaAssistenza richiesta = _getRichiestaById.Get(command.IdRichiesta); Utente utente = _getUtenteById.GetUtenteById(command.IdUtente); AttivitaUtente attivita = new AttivitaUtente(); attivita.IdUtente = utente.Id; attivita.Nominativo = utente.Nome + " " + utente.Cognome; attivita.DataInizioAttivita = DateTime.UtcNow; if (richiesta.ListaUtentiInLavorazione != null) { richiesta.ListaUtentiInLavorazione.Add(attivita); } else { richiesta.ListaUtentiInLavorazione = new List <AttivitaUtente>(); richiesta.ListaUtentiInLavorazione.Add(attivita); } if (command.Chiamata.ListaUtentiInLavorazione != null) { command.Chiamata.ListaUtentiInLavorazione.Add(attivita); } else { command.Chiamata.ListaUtentiInLavorazione = new List <AttivitaUtente>(); command.Chiamata.ListaUtentiInLavorazione.Add(attivita); } richiesta.Id = richiesta.Codice; this._upDateRichiestaAssistenza.UpDate(richiesta); }
/// <summary> /// Costruttore della classe. /// </summary> /// <param name="richiesta">E' la richiesta di assistenza a cui si aggiunge l'evento</param> /// <param name="codiceMezzo">Il codice del mezzo</param> /// <param name="istante">E' l'istante in cui si verifica l'evento</param> /// <param name="codiceFonte">E' la fonte informativa dell'evento</param> public PartenzaRientrata( RichiestaAssistenza richiesta, string codiceMezzo, DateTime istante, string codiceFonte) : base(richiesta, codiceMezzo, istante, codiceFonte, "MezzoRientrato") { }
public void UnMezzoRientratoEPoiDiNuovoUscitoRestituisceLoStatoInViaggio() { var processoreStato = new ProcessoreStato(); var richiesta1 = new RichiestaAssistenza(); var richiesta2 = new RichiestaAssistenza(); var eventi = new IPartenza[] { new ComposizionePartenze(richiesta1, DateTime.Now, "fonte", false) { Componenti = new HashSet <ComponentePartenza>() { new ComponentePartenza("XXX", "M1") } }, new UscitaPartenza(richiesta1, "M1", DateTime.Now, "fonte"), new ArrivoSulPosto(richiesta1, "M1", DateTime.Now, "fonte"), new PartenzaInRientro(richiesta1, "M1", DateTime.Now, "fonte"), new PartenzaRientrata(richiesta1, "M1", DateTime.Now, "fonte"), new ComposizionePartenze(richiesta2, DateTime.Now, "fonte", false) { Componenti = new HashSet <ComponentePartenza>() { new ComponentePartenza("YYY", "M1") } }, new UscitaPartenza(richiesta2, "M1", DateTime.Now, "fonte") }; var stato = processoreStato.ProcessaEventi(eventi).Stato; Assert.That(stato, Is.InstanceOf <InViaggio>()); }
public void UnMezzoAssegnatoRestituisceIlCodiceDellaRichiesta() { var processoreStato = new ProcessoreStato(); var richiesta = new RichiestaAssistenza(); richiesta.Codice = "C1234"; var eventi = new IPartenza[] { new ComposizionePartenze(richiesta, DateTime.Now, "fonte", false) { Componenti = new HashSet <ComponentePartenza>() { new ComponentePartenza("XXX", "M1") } } }; var stato = processoreStato.ProcessaEventi(eventi).Stato; Assert.Multiple(() => { Assert.That(stato.AssegnatoARichiesta, Is.True); Assert.That(stato, Is.InstanceOf <IStatoMezzoAssegnatoARichiesta>()); Assert.That(((IStatoMezzoAssegnatoARichiesta)stato).CodiceRichiesta, Is.EqualTo("C1234")); }); }
private RichiestaAssistenza CreaRichiestaContenenteUnicoEventoDiComposizione(out SituazioneMezzo expected) { var richiestaConUnicoEventoDiAssegnazione = new RichiestaAssistenza() { Codice = "R1", }; var componentePartenza = new ComponentePartenza("CF1", "M1"); var istanteEvento = DateTime.Now.AddMinutes(-10); var eventoComposizione = new ComposizionePartenze(richiestaConUnicoEventoDiAssegnazione, istanteEvento, "Fonte", false) { Componenti = new HashSet <ComponentePartenza>() { componentePartenza } }; expected = new SituazioneMezzo() { Codice = "M1", CodiceStato = new Assegnato(istanteEvento, "R1").Codice, CodiceRichiestaAssistenza = "R1", IstanteAggiornamentoStato = istanteEvento }; return(richiestaConUnicoEventoDiAssegnazione); }
/// <summary> /// Costruttore della classe /// </summary> /// <param name="richiesta">E' la richiesta di assistenza a cui si aggiunge l'evento</param> /// <param name="codice"> /// E' l'identificativo univoco della telefonata, utilizzabile anche a scopi /// giuridici/amministrativi. Potrebbe essere un codice del tipo AX554HN. /// </param> /// <param name="istante">E' l'istante in cui si verifica l'evento</param> /// <param name="codiceFonte">E' la fonte informativa dell'evento</param> public Telefonata( RichiestaAssistenza richiesta, string codice, DateTime istante, string codiceFonte) : base(richiesta, codice, istante, codiceFonte, "Telefonata") { }
private List <AttivitaUtente> MapUtenteAttivita(RichiestaAssistenza richiesta, string Tipo) { List <AttivitaUtente> ListaAttivita = new List <AttivitaUtente>(); if (Tipo.Equals("P")) { foreach (var presaInCarico in richiesta.UtPresaInCarico) { AttivitaUtente attivita = new AttivitaUtente() { Nominativo = presaInCarico.Replace(".", " ") }; ListaAttivita.Add(attivita); } ; } else { foreach (var lavorazione in richiesta.UtInLavorazione) { AttivitaUtente attivita = new AttivitaUtente() { Nominativo = lavorazione.Replace(".", " ") }; ListaAttivita.Add(attivita); } ; } return(ListaAttivita); }
/// <summary> /// Costruttore della classe. /// </summary> /// <param name="richiesta">E' la richiesta di assistenza a cui si aggiunge l'evento</param> /// <param name="istante">L'istante in cui avviene l'evento.</param> /// <param name="codiceFonte">Il codice della fonte informativa dell'evento.</param> public Evento(RichiestaAssistenza richiesta, DateTime istante, string codiceFonte, string tipoEvento, string SedeOperatore = "") { if (richiesta == null) { throw new ArgumentNullException(nameof(richiesta)); } if (istante == DateTime.MinValue) { throw new ArgumentOutOfRangeException(nameof(istante)); } if (string.IsNullOrWhiteSpace(codiceFonte)) { throw new ArgumentException("Cannot be null or whitespace", nameof(CodiceFonte)); } this.Istante = istante; this.CodiceFonte = codiceFonte; this.IstanteCreazione = DateTime.UtcNow; this.CodiceRichiesta = richiesta.Codice; this.TipoEvento = tipoEvento; this.SedeOperatore = SedeOperatore; this.DataOraInserimento = DateTime.Now; richiesta.AddEvento(this); }
public void UnaRichiestaConUnMezzoRientratoEPoiDiNuovoUscitoRestituisceUnSoloMezzo() { var richiesta = new RichiestaAssistenza(); var eventi = new IPartenza[] { new ComposizionePartenze(richiesta, DateTime.Now, "fonte", false) { Componenti = new HashSet <ComponentePartenza>() { new ComponentePartenza("XXX", "M1") } }, new UscitaPartenza(richiesta, "M1", DateTime.Now, "fonte"), new ArrivoSulPosto(richiesta, "M1", DateTime.Now, "fonte"), new PartenzaInRientro(richiesta, "M1", DateTime.Now, "fonte"), new PartenzaRientrata(richiesta, "M1", DateTime.Now, "fonte"), new ComposizionePartenze(richiesta, DateTime.Now, "fonte", false) { Componenti = new HashSet <ComponentePartenza>() { new ComponentePartenza("YYY", "M1") } }, new UscitaPartenza(richiesta, "M1", DateTime.Now, "fonte") }; var mezziCoinvolti = richiesta.MezziCoinvolti; Assert.That(mezziCoinvolti, Has.Count.EqualTo(1)); }
/// <summary> /// Costruttore della classe /// </summary> /// <param name="richiesta">La richiesta a cui appartiene l'evento</param> /// <param name="codiceMezzo">Il codice mezzo relativo all'evento</param> /// <param name="istante">L'istante in cui l'evento si verifica</param> /// <param name="codiceFonte">La fonte informativa dell'evento</param> public RevocaPerInterventoNonPiuNecessario( RichiestaAssistenza richiesta, string codiceMezzo, DateTime istante, string codiceFonte) : base(richiesta, codiceMezzo, istante, codiceFonte) { }
public OrdinamentoMezzi(RichiestaAssistenza Richiesta, IGetTipologieByCodice getTipologieByCodice, IConfiguration configuration, IMemoryCache memoryCache) { _Richiesta = Richiesta; _getTipologieByCodice = getTipologieByCodice; _configuration = configuration; _memoryCache = memoryCache; }
/// <summary> /// Costruttore della classe. A seguito della chiamata, la richiesta risulta aperta. /// </summary> /// <param name="richiesta">La richiesta alla quale l'evento deve essere aggiunto</param> /// <param name="istante">E' l'istante in cui si verifica l'evento</param> /// <param name="codiceFonte">E' la fonte informativa dell'evento</param> public RiaperturaRichiesta( RichiestaAssistenza richiesta, DateTime istante, string codiceFonte) : base(richiesta, istante, codiceFonte) { richiesta.IstanteChiusura = null; }
public void Save(RichiestaAssistenza richiestaAssistenza) { string filepath = "Fake/ListaRichiesteAssistenza.json"; string json; using (StreamReader r = new StreamReader(filepath)) { json = r.ReadToEnd(); } List <RichiestaAssistenzaRead> ListaRichieste = JsonConvert.DeserializeObject <List <RichiestaAssistenzaRead> >(json); if (ListaRichieste != null) { string fileText = System.IO.File.ReadAllText(@"Fake/ListaRichiesteAssistenza.json"); string jsonNew = JsonConvert.SerializeObject(richiestaAssistenza); System.IO.File.WriteAllText(@"Fake/ListaRichiesteAssistenza.json", "[" + fileText.Substring(1, fileText.Length - 2) + "," + jsonNew + "]"); } else { List <RichiestaAssistenza> ListaRichiesteNew = new List <RichiestaAssistenza>(); ListaRichiesteNew.Add(richiestaAssistenza); string jsonNew = JsonConvert.SerializeObject(ListaRichiesteNew); System.IO.File.WriteAllText(@"Fake/ListaRichiesteAssistenza.json", jsonNew); } }
public void UnaRichiestaConDueMezziInRientroNonEPresidiata() { var richiesta = new RichiestaAssistenza(); var now = DateTime.Now; new ComposizionePartenze(richiesta, now, "fonte", false) { Componenti = new HashSet <ComponentePartenza>() { new ComponentePartenza("XXX", "M1"), } }; new ComposizionePartenze(richiesta, now.AddSeconds(10), "fonte", false) { Componenti = new HashSet <ComponentePartenza>() { new ComponentePartenza("YYY", "M2"), } }; new UscitaPartenza(richiesta, "M1", now.AddSeconds(15), "fonte"); new UscitaPartenza(richiesta, "M2", now.AddSeconds(20), "fonte"); new ArrivoSulPosto(richiesta, "M1", now.AddSeconds(25), "fonte"); new ArrivoSulPosto(richiesta, "M2", now.AddSeconds(30), "fonte"); new PartenzaInRientro(richiesta, "M1", now.AddSeconds(35), "fonte"); new PartenzaInRientro(richiesta, "M2", now.AddSeconds(40), "fonte"); var presidiato = richiesta.Presidiata; Assert.That(presidiato, Is.False); }
/// <summary> /// Costruttore della classe. /// </summary> /// <param name="richiesta">E' la richiesta di assistenza a cui si aggiunge l'evento</param> /// <param name="codiceMezzo">Il codice del mezzo</param> /// <param name="istante">E' l'istante in cui si verifica l'evento</param> /// <param name="codiceFonte">E' la fonte informativa dell'evento</param> public Revoca( RichiestaAssistenza richiesta, string codiceMezzo, DateTime istante, string codiceFonte) : base(richiesta, codiceMezzo, istante, codiceFonte, "Revoca") { }
/// <summary> /// Costruttore della classe. /// </summary> /// <param name="richiesta">E' la richiesta di assistenza a cui si aggiunge l'evento</param> /// <param name="codiceMezzo">Il codice del mezzo</param> /// <param name="istante">E' l'istante in cui si verifica l'evento</param> /// <param name="codiceFonte">E' la fonte informativa dell'evento</param> public PartenzaRientrata( RichiestaAssistenza richiesta, string codiceMezzo, DateTime istante, string codiceFonte) : base(richiesta, codiceMezzo, istante, codiceFonte) { TipoEvento = "PartenzaRientrata"; }
public void InAssenzaDiSegnalazioniLIstanteRichiestaENull() { var richiesta = new RichiestaAssistenza(); var istanteRicezioneRichiesta = richiesta.IstanteRicezioneRichiesta; Assert.That(istanteRicezioneRichiesta, Is.Null); }
public void LaPrioritaEMediaInAssenzaDiEventi() { var richiesta = new RichiestaAssistenza(); var priorita = richiesta.PrioritaRichiesta; Assert.That(priorita, Is.EqualTo(RichiestaAssistenza.Priorita.Media)); }
public void SeLaListaDiEventiEVuotaNonCiSonoChiamate() { var richiesta = new RichiestaAssistenza(); var chiamate = richiesta.Telefonate; Assert.That(chiamate.Count, Is.Zero); }
public void UnaRichiestaSenzaEventiEAperta() { var richiesta = new RichiestaAssistenza(); var aperta = !richiesta.Chiusa; Assert.That(aperta, Is.True); }
public void FonogrammaNonNecessarioPerUnaRichiestaSenzaEventiFonogramma() { var richiesta = new RichiestaAssistenza(); var statoInvioFonogramma = richiesta.StatoInvioFonogramma; Assert.That(statoInvioFonogramma, Is.InstanceOf <SO115App.API.Models.Classi.Soccorso.Fonogramma.NonNecessario>()); }
public void InAssenzaDiTelefonateIlCodiceSchedaNueENull() { var richiesta = new RichiestaAssistenza(); var codiceSchedaNue = richiesta.CodiceSchedaNue; Assert.That(codiceSchedaNue, Is.Null); }
public void InAssenzaDiAssegnazioniLIstantePrimaAssegnazioneENull() { var richiesta = new RichiestaAssistenza(); var istantePrimaAssegnazione = richiesta.IstantePrimaAssegnazione; Assert.That(istantePrimaAssegnazione, Is.Null); }
public void UnaRichiestaVuotaNonHaMezziCoinvolti() { var richiesta = new RichiestaAssistenza(); var mezziCoinvolti = richiesta.MezziCoinvolti; CollectionAssert.IsEmpty(mezziCoinvolti); }