public async Task SendNotification(PresaInCaricoCommand intervento) { var sintesiRichiesteAssistenzaQuery = new SintesiRichiesteAssistenzaQuery { Filtro = new FiltroRicercaRichiesteAssistenza { idOperatore = intervento.IdUtente }, CodiciSede = new string[] { intervento.CodSede } }; var listaSintesi = (List <SintesiRichiesta>) this._sintesiRichiesteAssistenzaHandler.Handle(sintesiRichiesteAssistenzaQuery).SintesiRichiesta; var boxRichiesteQuery = new BoxRichiesteQuery() { CodiciSede = new string[] { intervento.CodSede } }; var boxInterventi = this._boxRichiesteHandler.Handle(boxRichiesteQuery).BoxRichieste; var sintesiRichiesteAssistenzaMarkerQuery = new SintesiRichiesteAssistenzaMarkerQuery() { CodiciSedi = new string[] { intervento.CodSede } }; var listaSintesiMarker = (List <SintesiRichiestaMarker>) this._sintesiRichiesteAssistenzaMarkerHandler.Handle(sintesiRichiesteAssistenzaMarkerQuery).SintesiRichiestaMarker; intervento.Chiamata = listaSintesi.LastOrDefault(richiesta => richiesta.Id == intervento.Chiamata.Id); await _notificationHubContext.Clients.Group(intervento.Chiamata.Operatore.Sede.Codice).SendAsync("ModifyAndNotifySuccess", intervento); await _notificationHubContext.Clients.Group(intervento.Chiamata.Operatore.Sede.Codice).SendAsync("NotifyGetBoxInterventi", boxInterventi); await _notificationHubContext.Clients.Group(intervento.Chiamata.Operatore.Sede.Codice).SendAsync("NotifyGetRichiestaUpDateMarker", listaSintesiMarker.LastOrDefault(marker => marker.Codice == intervento.Chiamata.Codice)); }
public async Task <IActionResult> AddPresaInCarico([FromBody] SintesiRichiesta intervento) { var headerValues = Request.Headers["IdUtente"]; var codiceSede = Request.Headers["codicesede"]; string IdUtente = headerValues.FirstOrDefault(); var command = new PresaInCaricoCommand() { IdRichiesta = intervento.Id, IdUtente = IdUtente, Chiamata = intervento, CodSede = codiceSede }; try { this._presaInCaricohandler.Handle(command); return(Ok()); } catch (Exception ex) { if (ex.Message.Contains(Costanti.UtenteNonAutorizzato)) { return(StatusCode(403, Costanti.UtenteNonAutorizzato)); } return(BadRequest()); } }
public async Task SendNotification(PresaInCaricoCommand intervento) { var SediDaNotificare = new List <string>(); if (intervento.Chiamata.CodSOAllertate != null) { SediDaNotificare = _getGerarchiaToSend.Get(intervento.Chiamata.CodSOCompetente, intervento.Chiamata.CodSOAllertate.ToArray()); } else { SediDaNotificare = _getGerarchiaToSend.Get(intervento.Chiamata.CodSOCompetente); } foreach (var sede in SediDaNotificare) { var sintesiRichiesteAssistenzaQuery = new SintesiRichiesteAssistenzaQuery { Filtro = new FiltroRicercaRichiesteAssistenza { idOperatore = intervento.IdUtente }, CodiciSede = new string[] { sede } }; var listaSintesi = (List <SintesiRichiesta>) this._sintesiRichiesteAssistenzaHandler.Handle(sintesiRichiesteAssistenzaQuery).SintesiRichiesta; //var boxRichiesteQuery = new BoxRichiesteQuery() //{ // CodiciSede = new string[] { intervento.CodSede } //}; //var boxInterventi = this._boxRichiesteHandler.Handle(boxRichiesteQuery).BoxRichieste; //await _notificationHubContext.Clients.Group(intervento.Chiamata.Operatore.Sede.Codice).SendAsync("NotifyGetBoxInterventi", boxInterventi); var sintesiRichiesteAssistenzaMarkerQuery = new SintesiRichiesteAssistenzaMarkerQuery() { CodiciSedi = new string[] { sede } }; var listaSintesiMarker = (List <SintesiRichiestaMarker>) this._sintesiRichiesteAssistenzaMarkerHandler.Handle(sintesiRichiesteAssistenzaMarkerQuery).SintesiRichiestaMarker; intervento.Chiamata = listaSintesi.LastOrDefault(richiesta => richiesta.Id == intervento.Chiamata.Id); await _notificationHubContext.Clients.Group(sede).SendAsync("ModifyAndNotifySuccess", intervento); await _notificationHubContext.Clients.Group(sede).SendAsync("NotifyGetRichiestaUpDateMarker", listaSintesiMarker.LastOrDefault(marker => marker.Codice == intervento.Chiamata.Codice)); } }
public async Task <IActionResult> AddPresaInCarico([FromBody] SintesiRichiesta intervento) { var headerValues = Request.Headers["IdUtente"]; string IdUtente = headerValues.FirstOrDefault(); var command = new PresaInCaricoCommand() { IdRichiesta = intervento.Id, IdUtente = IdUtente, Chiamata = intervento }; try { this._presaInCaricohandler.Handle(command); return(Ok()); } catch { return(BadRequest()); } }