public async Task SendNotification(UpDateStatoRichiestaCommand richiesta) { const bool notificaChangeState = true; var sintesiRichiesteAssistenzaQuery = new SintesiRichiesteAssistenzaQuery(); var listaSintesi = (List <SintesiRichiesta>) this._sintesiRichiesteAssistenzaHandler.Handle(sintesiRichiesteAssistenzaQuery).SintesiRichiesta; var boxRichiesteQuery = new BoxRichiesteQuery(); var boxInterventi = _boxRichiesteHandler.Handle(boxRichiesteQuery).BoxRichieste; var boxMezziQuery = new BoxMezziQuery(); var boxMezzi = _boxMezziHandler.Handle(boxMezziQuery).BoxMezzi; var boxPersonaleQuery = new BoxPersonaleQuery(); var boxPersonale = _boxPersonaleHandler.Handle(boxPersonaleQuery).BoxPersonale; var sintesiRichiesteAssistenzaMarkerQuery = new SintesiRichiesteAssistenzaMarkerQuery(); var listaSintesiMarker = (List <SintesiRichiestaMarker>)_sintesiRichiesteAssistenzaMarkerHandler.Handle(sintesiRichiesteAssistenzaMarkerQuery).SintesiRichiestaMarker; richiesta.Chiamata = listaSintesi.LastOrDefault(sintesi => sintesi.Id == richiesta.IdRichiesta); await _notificationHubContext.Clients.Group(richiesta.Chiamata.Operatore.Sede.Codice).SendAsync("ModifyAndNotifySuccess", richiesta); await _notificationHubContext.Clients.Group(richiesta.Chiamata.Operatore.Sede.Codice).SendAsync("ChangeStateSuccess", notificaChangeState); await _notificationHubContext.Clients.Group(richiesta.Chiamata.Operatore.Sede.Codice).SendAsync("NotifyGetBoxInterventi", boxInterventi); await _notificationHubContext.Clients.Group(richiesta.Chiamata.Operatore.Sede.Codice).SendAsync("NotifyGetBoxMezzi", boxMezzi); await _notificationHubContext.Clients.Group(richiesta.Chiamata.Operatore.Sede.Codice).SendAsync("NotifyGetBoxPersonale", boxPersonale); await _notificationHubContext.Clients.Group(richiesta.Chiamata.Operatore.Sede.Codice).SendAsync("NotifyGetRichiestaUpDateMarker", listaSintesiMarker.LastOrDefault(marker => marker.Codice == richiesta.Chiamata.Codice)); }
public async Task <IActionResult> AggiornaStato([FromBody] UpDateStatoRichiestaCommand richiesta) { var codiceSede = Request.Headers["codicesede"]; var headerValues = Request.Headers["IdUtente"]; var idOperatore = headerValues.FirstOrDefault(); var command = new UpDateStatoRichiestaCommand() { IdOperatore = idOperatore, IdRichiesta = richiesta.IdRichiesta, Note = richiesta.Note ?? "", Stato = richiesta.Stato, CodiceSede = codiceSede }; try { this._addhandler.Handle(command); return(Ok()); } catch (Exception ex) { if (ex.Message.Contains(Costanti.UtenteNonAutorizzato)) { return(StatusCode(403, Costanti.UtenteNonAutorizzato)); } return(BadRequest()); } }
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); }
public async Task <IActionResult> AggiornaStato([FromBody] UpDateStatoRichiestaCommand richiesta) { var headerValues = Request.Headers["IdUtente"]; string idOperatore = headerValues.FirstOrDefault(); var command = new UpDateStatoRichiestaCommand() { IdOperatore = idOperatore, IdRichiesta = richiesta.IdRichiesta, Note = richiesta.Note ?? "", Stato = richiesta.Stato }; try { this._addhandler.Handle(command); return(Ok()); } catch { return(BadRequest()); } }
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); } }