public async Task SendNotification(AddInterventoCommand intervento) { var sintesi = _getSintesiRichiestaByCodice.GetSintesi(intervento.Chiamata.Codice); var SediDaNotificare = _getGerarchiaToSend.Get(sintesi.CodSOCompetente); Parallel.ForEach(SediDaNotificare, sede => { var boxRichiesteQuery = new BoxRichiesteQuery { CodiciSede = new string[] { sede } }; var boxInterventi = _boxRichiesteHandler.Handle(boxRichiesteQuery).BoxRichieste; var sintesiRichiesteAssistenzaMarkerQuery = new SintesiRichiesteAssistenzaMarkerQuery() { CodiciSedi = new string[] { sede } }; var listaSintesiMarker = (List <SintesiRichiestaMarker>)_sintesiRichiesteAssistenzaMarkerHandler.Handle(sintesiRichiesteAssistenzaMarkerQuery).SintesiRichiestaMarker; _notificationHubContext.Clients.Group(sede).SendAsync("NotifyGetBoxInterventi", boxInterventi); _notificationHubContext.Clients.Group(sede).SendAsync("SaveAndNotifySuccessChiamata", sintesi); _notificationHubContext.Clients.Group(sede).SendAsync("NotifyGetRichiestaMarker", listaSintesiMarker.LastOrDefault(marker => marker.Codice == intervento.Chiamata.Codice)); }); }
public async Task SendNotification(UpDateInterventoCommand intervento) { var SintesiRichiesta = _getSintesiById.GetSintesi(intervento.Chiamata.Codice); intervento.Chiamata = SintesiRichiesta; var SediDaNotificare = _getGerarchiaToSend.Get(intervento.Chiamata.CodSOCompetente, SintesiRichiesta.CodSOAllertate.ToArray()); foreach (var sede in SediDaNotificare) { var boxRichiesteQuery = new BoxRichiesteQuery() { CodiciSede = new string[] { sede } }; var boxInterventi = _boxRichiesteHandler.Handle(boxRichiesteQuery).BoxRichieste; var sintesiRichiesteAssistenzaMarkerQuery = new SintesiRichiesteAssistenzaMarkerQuery() { CodiciSedi = new string[] { sede } }; var listaSintesiMarker = (List <SintesiRichiestaMarker>) this._sintesiRichiesteAssistenzaMarkerHandler.Handle(sintesiRichiesteAssistenzaMarkerQuery).SintesiRichiestaMarker; await _notificationHubContext.Clients.Group(sede).SendAsync("ModifyAndNotifySuccess", intervento); await _notificationHubContext.Clients.Group(sede).SendAsync("NotifyGetBoxInterventi", boxInterventi); await _notificationHubContext.Clients.Group(sede).SendAsync("NotifyGetRichiestaUpDateMarker", listaSintesiMarker.LastOrDefault(marker => marker.Codice == intervento.Chiamata.Codice)).ConfigureAwait(false); } }
public async Task <IActionResult> Add([FromBody] Intervento chiamata) { var codiceSede = Request.Headers["codicesede"]; var idUtente = Request.Headers["IdUtente"]; var command = new AddInterventoCommand() { Chiamata = chiamata, CodiceSede = codiceSede, CodUtente = idUtente }; try { this._Addhandler.Handle(command); return(Ok(_getSintesiRichiestaByCodice.GetSintesi(command.Chiamata.Codice))); } catch (Exception ex) { if (ex.Message.Contains(Costanti.UtenteNonAutorizzato)) { return(StatusCode(403, Costanti.UtenteNonAutorizzato)); } return(BadRequest()); } }
public async Task <IActionResult> Add([FromBody] Intervento chiamata) { var codiceSede = Request.Headers["codicesede"]; var idUtente = Request.Headers["IdUtente"]; var command = new AddInterventoCommand() { Chiamata = chiamata, CodiceSede = codiceSede.ToString().Split(',', StringSplitOptions.RemoveEmptyEntries)[0], CodUtente = idUtente }; try { _Addhandler.Handle(command); return(Ok(_getSintesiRichiestaByCodice.GetSintesi(command.Chiamata.Codice))); } catch (Exception ex) { if (ex.Message.Contains(Costanti.UtenteNonAutorizzato)) { return(StatusCode(403, new { message = Costanti.UtenteNonAutorizzato })); } return(BadRequest(new { message = ex.Message })); } }
public async Task SendNotification(AllertaAltreSediCommand command) { var sintesi = _getSintesiById.GetSintesi(command.CodiceRichiesta); var SediDaNotificare = new List <string>(); if (sintesi.CodSOAllertate != null) { SediDaNotificare = _getGerarchiaToSend.Get(sintesi.CodSOCompetente, sintesi.CodSOAllertate.ToArray()); } else { SediDaNotificare = _getGerarchiaToSend.Get(sintesi.CodSOCompetente); } command.Chiamata = sintesi; //Invio la notifica alle competenze della richiesta foreach (var sede in SediDaNotificare) { if (!sede.Equals(sintesi.CodSOCompetente)) { await _notificationHubContext.Clients.Group(sede).SendAsync("NotifyAllertaAltreSedi", sintesi); } await _notificationHubContext.Clients.Group(sede).SendAsync("ModifyAndNotifySuccess", command); } if (command.CodSediAllertateOld != null) { foreach (var sede in command.CodSediAllertateOld) { await _notificationHubContext.Clients.Group(sede).SendAsync("NotifyDeleteAllertaAltreSedi", command.CodiceRichiesta); } } }
public async Task SendNotification(FonogrammaCommand command) { var richiesta = _getRichiestaById.GetById(command.Fonogramma.IdRichiesta); var sintesi = _getSintesiRichiestaAssistenzaByCodice.GetSintesi(richiesta.Codice); command.Chiamata = sintesi; await _notificationHubContext.Clients.All.SendAsync("ModifyAndNotifySuccess", command); }
public async Task SendNotification(UpDateStatoRichiestaCommand richiesta) { const bool notificaChangeState = true; var sintesiRichiesteAssistenzaQuery = new SintesiRichiesteAssistenzaQuery { Filtro = new FiltroRicercaRichiesteAssistenza { idOperatore = richiesta.IdOperatore }, CodiciSede = new string[] { richiesta.CodiceSede } }; var boxRichiesteQuery = new BoxRichiesteQuery() { CodiciSede = new string[] { richiesta.CodiceSede } }; var boxInterventi = _boxRichiesteHandler.Handle(boxRichiesteQuery).BoxRichieste; var boxMezziQuery = new BoxMezziQuery() { CodiciSede = new string[] { richiesta.CodiceSede } }; var boxMezzi = _boxMezziHandler.Handle(boxMezziQuery).BoxMezzi; var boxPersonaleQuery = new BoxPersonaleQuery() { CodiciSede = new string[] { richiesta.CodiceSede } }; var boxPersonale = _boxPersonaleHandler.Handle(boxPersonaleQuery).BoxPersonale; var sintesiRichiesteAssistenzaMarkerQuery = new SintesiRichiesteAssistenzaMarkerQuery() { CodiciSedi = new string[] { richiesta.CodiceSede } }; var listaSintesiMarker = (List <SintesiRichiestaMarker>)_sintesiRichiesteAssistenzaMarkerHandler.Handle(sintesiRichiesteAssistenzaMarkerQuery).SintesiRichiestaMarker; var ChamataUpd = listaSintesiMarker.LastOrDefault(sintesi => sintesi.Id == richiesta.IdRichiesta); var SintesiRichiesta = _getSintesiById.GetSintesi(ChamataUpd.Codice); richiesta.Chiamata = SintesiRichiesta; await _notificationHubContext.Clients.Group(richiesta.CodiceSede).SendAsync("ModifyAndNotifySuccess", richiesta); await _notificationHubContext.Clients.Group(richiesta.CodiceSede).SendAsync("ChangeStateSuccess", notificaChangeState); await _notificationHubContext.Clients.Group(richiesta.CodiceSede).SendAsync("NotifyGetBoxInterventi", boxInterventi); await _notificationHubContext.Clients.Group(richiesta.CodiceSede).SendAsync("NotifyGetBoxMezzi", boxMezzi); await _notificationHubContext.Clients.Group(richiesta.CodiceSede).SendAsync("NotifyGetBoxPersonale", boxPersonale); await _notificationHubContext.Clients.Group(richiesta.CodiceSede).SendAsync("NotifyGetRichiestaUpDateMarker", ChamataUpd); }
/// <summary> /// Metodi di esecuzione della query /// </summary> /// <param name="query">Il DTO di ingresso della query</param> /// <returns>Il DTO di uscita della query</returns> public GetSintesiRichiestaAssistenzaResult Handle(GetSintesiRichiestaAssistenzaQuery query) { Log.Debug("Inizio elaborazione Sintesi Richiesta by Codice Richiesta Handler"); // estrae la richieste di assistenza indicata var sintesiAssistenza = _getRichiestaAssistenzaById.GetSintesi(query.CodiceRichiesta); Log.Debug("Fine elaborazione Sintesi Richiesta by Codice Richiesta Handler"); return(new GetSintesiRichiestaAssistenzaResult() { SintesiRichiesta = sintesiAssistenza }); }
public void Notify(AddInterventoCommand command) { var sintesi = _getSintesiRichiestaByCodice.GetSintesi(command.Chiamata.Codice); _sender.SendNotification(command); var messaggio = $"E' stato richiesto un intervento in {sintesi.Localita.Indirizzo}. Codice Intervento: {sintesi.Codice}"; var infoMatrix = new MessageMatrix() { Messaggio = messaggio, CodSede = sintesi.CodSOCompetente.Split('.')[0] }; _callMatrix.SendMessage(infoMatrix); }
public async Task SendNotification(AddInterventoCommand intervento) { var boxRichiesteQuery = new BoxRichiesteQuery { CodiciSede = new string[] { intervento.CodiceSede } }; var boxInterventi = (BoxInterventi)this._boxRichiesteHandler.Handle(boxRichiesteQuery).BoxRichieste; var sintesiRichiesteAssistenzaMarkerQuery = new SintesiRichiesteAssistenzaMarkerQuery() { CodiciSedi = new string[] { intervento.CodiceSede } }; var listaSintesiMarker = (List <SintesiRichiestaMarker>) this._sintesiRichiesteAssistenzaMarkerHandler.Handle(sintesiRichiesteAssistenzaMarkerQuery).SintesiRichiestaMarker; var sintesi = _getSintesiRichiestaByCodice.GetSintesi(intervento.Chiamata.Codice); await _notificationHubContext.Clients.Group(intervento.CodiceSede).SendAsync("SaveAndNotifySuccessChiamata", sintesi); await _notificationHubContext.Clients.Group(intervento.CodiceSede).SendAsync("NotifyGetBoxInterventi", boxInterventi); await _notificationHubContext.Clients.Group(intervento.CodiceSede).SendAsync("NotifyGetRichiestaMarker", listaSintesiMarker.LastOrDefault(marker => marker.Codice == intervento.Chiamata.Codice)); }
public async Task SendNotification(UpDateStatoRichiestaCommand richiesta) { var Richiesta = _getRichiestaAssistenzaById.GetById(richiesta.IdRichiesta); var SediDaNotificare = new List <string>(); if (Richiesta.CodSOAllertate != null) { SediDaNotificare = _getGerarchiaToSend.Get(Richiesta.CodSOCompetente, Richiesta.CodSOAllertate.ToArray()); } else { SediDaNotificare = _getGerarchiaToSend.Get(Richiesta.CodSOCompetente); } const bool notificaChangeState = true; foreach (var sede in SediDaNotificare) { var sintesiRichiesteAssistenzaQuery = new SintesiRichiesteAssistenzaQuery { Filtro = new FiltroRicercaRichiesteAssistenza { idOperatore = richiesta.IdOperatore }, CodiciSede = new string[] { sede } }; var boxRichiesteQuery = new BoxRichiesteQuery() { CodiciSede = new string[] { sede } }; var boxInterventi = _boxRichiesteHandler.Handle(boxRichiesteQuery).BoxRichieste; var boxMezziQuery = new BoxMezziQuery() { CodiciSede = new string[] { sede } }; var boxMezzi = _boxMezziHandler.Handle(boxMezziQuery).BoxMezzi; var boxPersonaleQuery = new BoxPersonaleQuery() { CodiciSede = new string[] { sede } }; var boxPersonale = _boxPersonaleHandler.Handle(boxPersonaleQuery).BoxPersonale; var sintesiRichiesteAssistenzaMarkerQuery = new SintesiRichiesteAssistenzaMarkerQuery() { CodiciSedi = new string[] { sede } }; var listaSintesiMarker = (List <SintesiRichiestaMarker>)_sintesiRichiesteAssistenzaMarkerHandler.Handle(sintesiRichiesteAssistenzaMarkerQuery).SintesiRichiestaMarker; var ChamataUpd = listaSintesiMarker.LastOrDefault(sintesi => sintesi.Id == richiesta.IdRichiesta); var SintesiRichiesta = _getSintesiById.GetSintesi(ChamataUpd.Codice); richiesta.Chiamata = SintesiRichiesta; await _notificationHubContext.Clients.Group(sede).SendAsync("ModifyAndNotifySuccess", richiesta); await _notificationHubContext.Clients.Group(sede).SendAsync("ChangeStateSuccess", notificaChangeState); await _notificationHubContext.Clients.Group(sede).SendAsync("NotifyGetBoxInterventi", boxInterventi); await _notificationHubContext.Clients.Group(sede).SendAsync("NotifyGetBoxMezzi", boxMezzi); await _notificationHubContext.Clients.Group(sede).SendAsync("NotifyGetBoxPersonale", boxPersonale); await _notificationHubContext.Clients.Group(sede).SendAsync("NotifyGetRichiestaUpDateMarker", ChamataUpd); } }