Beispiel #1
0
        private async Task AddAlertConnectionPersonGroupAsync(int idPersonGroups)
        {
            foreach (var alert in _alerts)
            {
                var alertPersonGroupViewModel = new AlertPersonGroupViewModel
                {
                    IdPersonGroups = idPersonGroups,
                    IdAlerts       = alert.Id
                };

                using (var postContent = new StringContent(JsonConvert.SerializeObject(alertPersonGroupViewModel), Encoding.UTF8, "application/json"))
                    using (var response = await Environment.ServerApiSecurity
                                          .CreateRequest("Configuration/AddAlertConnectionPersonGroupAsync")
                                          .AddHeader("Authorization", "Bearer " + _login.access_token)
                                          .And(request => request.Content = postContent)
                                          .And(request => request.Method = HttpMethod.Post)
                                          .PostAsync())
                    {
                        response.EnsureSuccessStatusCode();
                    }
            }
        }
        //[Authorize(Policy = "AlertConnectionPersonGroup.Add")]
        public async Task <IActionResult> AddAlertConnectionPersonGroupAsync([FromBody] AlertPersonGroupViewModel viewModel)
        {
            if (!IsModelStateValid())
            {
                return(Response());
            }

            var userLoggedInDB = await GetUserDbByIdentityAsync(HttpContext);

            if (userLoggedInDB == null)
            {
                return(Response());
            }
            var userLoggedIn = Mapper.Map <UserViewModel, User>(userLoggedInDB);

            var alert = await _alertRepository.GetByIdAsync(viewModel.IdAlerts);

            if (alert == null)
            {
                NotifyError("", "Could not get Alert by Id");
                return(Response());
            }

            var personGroup = await _personRepository.GetPersonGroupByIdAsync(viewModel.IdPersonGroups);

            if (personGroup == null)
            {
                NotifyError("", "Could not get PersonGroup by Id");
                return(Response());
            }

            var cmd = new AddAlertConnectionPersonGroupCommand(userLoggedIn, viewModel.IdPersonGroups, viewModel.IdAlerts);
            await _mediator.SendCommand(cmd);

            return(Response(cmd));
        }