Ejemplo n.º 1
0
        public bool Save(PutStreamStatusRequest request)
        {
            try
            {
                using (var context = _chatbotContextFactory.Create())
                {
                    var currentStatus = context.StreamStatuses.FirstOrDefault(s =>
                                                                              s.BroadcasterUsername == request.BroadcasterUsername);

                    if (currentStatus == null)
                    {
                        currentStatus = new Database.Context.Models.StreamStatus
                        {
                            BroadcasterUsername = request.BroadcasterUsername,
                            IsOnline            = request.IsOnline
                        };

                        context.StreamStatuses.Add(currentStatus);
                        context.SaveChanges();
                        return(true);
                    }

                    currentStatus.IsOnline = request.IsOnline;
                    context.SaveChanges();
                    return(true);
                }
            }
            catch (Exception e)
            {
                _logger.LogError(e,
                                 $"Exception caught when saving Stream Status. broadcasterUsername: {request.BroadcasterUsername}, isOnline: {request.IsOnline}");

                return(false);
            }
        }
Ejemplo n.º 2
0
        public void SuccessWhen_ValueIsReturned_RepositoryCalled(
            PutStreamStatusRequest request)
        {
            var result = _subject.Save(request);

            _saveStreamStatusRepository.Verify(s => s.Save(request), Times.Once);

            Assert.AreEqual(_successValue, result);
        }
        public async Task <bool> SaveStreamStatus(PutStreamStatusRequest putStreamStatusRequest)
        {
            try
            {
                var result = await _streamStatusClient.PutAsync("PutStreamStatus",
                                                                HttpClientHelper.GetJsonData(putStreamStatusRequest));

                return(result.IsSuccessStatusCode);
            }
            catch (Exception e)
            {
                return(HttpClientHelper.LogError <bool>(_logger, e, new object[] { putStreamStatusRequest.BroadcasterUsername, putStreamStatusRequest.IsOnline }));
            }
        }
        public IActionResult PutStreamStatus([FromBody] PutStreamStatusRequest streamStatusRequest)
        {
            try
            {
                if (_saveStreamStatusCommand.Save(streamStatusRequest))
                {
                    return(Ok());
                }
            }
            catch (Exception e)
            {
                _logger.LogError(e, "Error in PutStreamStatus");
                Console.Error.WriteLine($"Could not save stream status. Exception: {e} - {e.InnerException}");
            }

            return(BadRequest());
        }
Ejemplo n.º 5
0
        public bool Save(PutStreamStatusRequest request)
        {
            var result = _saveStreamStatusRepository.Save(request);

            return(result);
        }