public MezzoPrenotato Get(ResetPrenotazioneMezzoCommand command) { //TODO PARTE CHIAMATA DB //TODO DA MODIFICARE CON LA CONNESSIONE AL DB PER IL REPERIMENTO DEI DATI DEFINITIVI //DATI FAKE - ORA LI LEGGO DA FILE List <ComposizioneMezzi> mezzi = new List <ComposizioneMezzi>(); ComposizioneMezzi mezzo = new ComposizioneMezzi(); MezzoPrenotato mezzoPrenotato = new MezzoPrenotato(); //DateTime? istanteScadenzaPrecedente = null; //TimeSpan tempoPassato = new TimeSpan(); //TimeSpan tempoMancante = new TimeSpan(); //TimeSpan minutes = new TimeSpan(0, 3, 0); string filepath = "Fake/MezziComposizione.json"; string json; using (StreamReader r = new StreamReader(filepath)) { json = r.ReadToEnd(); } mezzi = JsonConvert.DeserializeObject <List <ComposizioneMezzi> >(json); mezzo = mezzi.Where(x => x.Mezzo.Codice.Equals(command.MezzoPrenotato.mezzoComposizione.Mezzo.Codice)).FirstOrDefault(); //istanteScadenzaPrecedente = mezzo.IstanteScadenzaSelezione; mezzi.Remove(mezzo); mezzo.IstanteScadenzaSelezione = DateTime.Now.AddSeconds(15); // tempoMancante = istanteScadenzaPrecedente.Value.Subtract(DateTime.Now); //tempoPassato = new TimeSpan(0, 3, 0) - istanteScadenzaPrecedente.Value.Subtract(DateTime.Now); // mezzo.IstanteScadenzaSelezione = DateTime.Now.Add(tempoPassato); mezzi.Add(mezzo); mezzi.Sort(delegate(ComposizioneMezzi x, ComposizioneMezzi y) { return(Convert.ToInt32(x.TempoPercorrenza).CompareTo(Convert.ToInt32(y.TempoPercorrenza))); }); string fileText = System.IO.File.ReadAllText(@"Fake/MezziComposizione.json"); string jsonNew = JsonConvert.SerializeObject(mezzi); System.IO.File.WriteAllText(@"Fake/MezziComposizione.json", jsonNew); mezzoPrenotato.mezzoComposizione = mezzo; mezzoPrenotato.mezzoComposizione.Id = command.MezzoPrenotato.mezzoComposizione.Id; mezzoPrenotato.codiceSede = command.CodiceSede; return(mezzoPrenotato); }
public async Task <IActionResult> Post(MezzoPrenotato mezzoPrenotato) { var codiceSede = Request.Headers["codicesede"]; var command = new ResetPrenotazioneMezzoCommand() { MezzoPrenotato = mezzoPrenotato, CodiceSede = codiceSede }; try { handler.Handle(command); return(Ok()); } catch { return(BadRequest()); } }
public async Task SendNotification(ResetPrenotazioneMezzoCommand command) { await _notificationHubContext.Clients.Group(command.MezzoPrenotato.codiceSede).SendAsync("NotifyResetPrenotazioneMezzo", command); }