示例#1
0
        private async Task AddAnalyzeRequestConnectionVideoCameraAsync(int idVideoCamera)
        {
            foreach (var analyzeRequest in _analyzeRequests)
            {
                var viewModel = new AnalyzeRequestVideoCameraViewModel()
                {
                    IdAnalyzesRequests = analyzeRequest.Id,
                    IdVideoCameras     = idVideoCamera
                };

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

            var userLoggedInDB = await GetUserDbByIdentityAsync(HttpContext);

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

            var analyzeRequest = await _analyzeRequestRepository.GetByIdAsync(viewModel.IdAnalyzesRequests);

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

            var videoCamera = await _videoCameraRepository.GetByIdAsync(viewModel.IdVideoCameras);

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

            var cmd = new AddAnalyzeRequestConnectionVideoCameraCommand(userLoggedIn, viewModel.IdAnalyzesRequests, viewModel.IdVideoCameras);
            await _mediator.SendCommand(cmd);

            return(Response(cmd));
        }