Esempio n. 1
0
        public async Task SendNotification(UpdateEnteCommand command)
        {
            var SediDaNotificare = new List <string>();

            if (command.Ente.Ricorsivo)
            {
                SediDaNotificare = _getGerarchiaToSend.Get(command.CodiceSede[0]);
            }
            else
            {
                SediDaNotificare.Add(command.CodiceSede[0]);
            }


            var count   = _getRurbica.CountBylstCodiciSede(SediDaNotificare.ToArray());
            var lstEnti = _getRurbica.Get(command.CodiceSede, null);
            var Ente    = lstEnti.Find(c => c.Id == command.Ente.Id);

            foreach (var sede in SediDaNotificare)
            {
                await _notificationHubContext.Clients.Group(sede).SendAsync("NotifyUpdateEnte", new
                {
                    Pagination = new Paginazione()
                    {
                        TotalItems = count
                    },
                    Data = Ente
                });

                await _notificationHubContext.Clients.Group(sede).SendAsync("NotifyChangeEnti", lstEnti);
            }
        }
Esempio n. 2
0
        public async Task <IActionResult> Update(EnteIntervenuto ente)
        {
            try
            {
                var command = new UpdateEnteCommand()
                {
                    CodiceSede  = Request.Headers["codicesede"].ToString().Split(','),
                    idOperatore = Request.Headers["IdUtente"],
                    Ente        = ente
                };

                _updateEnteHandler.Handle(command);

                return(Ok());
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains(Costanti.UtenteNonAutorizzato))
                {
                    return(StatusCode(403, new { message = Costanti.UtenteNonAutorizzato }));
                }
                else
                {
                    return(BadRequest(ex));
                }
            }
        }
Esempio n. 3
0
        public IEnumerable <AuthorizationResult> Authorize(UpdateEnteCommand command)
        {
            var username = _currentUser.Identity.Name;
            var user     = _findUserByUsername.FindUserByUs(username);

            if (_currentUser.Identity.IsAuthenticated)
            {
                if (user == null)
                {
                    yield return(new AuthorizationResult(Costanti.UtenteNonAutorizzato));
                }
                else
                {
                    Boolean abilitato = false;
                    foreach (var ruolo in user.Ruoli)
                    {
                        if (_getAutorizzazioni.GetAutorizzazioniUtente(user.Ruoli, command.Ente.CodSede, Costanti.GestoreChiamate))
                        {
                            abilitato = true;
                        }
                        if (_getAutorizzazioni.GetAutorizzazioniUtente(user.Ruoli, command.Ente.CodSede, Costanti.GestoreRichieste))
                        {
                            abilitato = true;
                        }
                    }

                    if (!abilitato)
                    {
                        yield return(new AuthorizationResult(Costanti.UtenteNonAutorizzato));
                    }
                }
            }
            else
            {
                yield return(new AuthorizationResult(Costanti.UtenteNonAutorizzato));
            }
        }