Пример #1
0
 public TargetApp Create(TargetAppModel model)
 {
     return(new TargetApp
                (model.Title,
                model.Url, model.Interval, DateTime.Now.AddMinutes(model.Interval)
                ));
 }
Пример #2
0
        public async Task <IResult> CheckStatusCodeAsync(TargetAppModel model)
        {
            using (var client = new HttpClient())
            {
                var result = await client.GetAsync(model.Url);

                return(Result <int> .Success((int)result.StatusCode));
            }
        }
Пример #3
0
        public async Task <IResult <long> > AddAsync(TargetAppModel model)
        {
            // var validation = await new AddTargetAppModelValidator().ValidationAsync(model);

            // if (validation.Failed)
            // {
            //     return Result<long>.Fail(validation.Message);
            // }

            var targetApp = _targetAppFactory.Create(model);

            await _targetAppRepository.AddAsync(targetApp);

            await _unitOfWork.SaveChangesAsync();

            return(Result <long> .Success(targetApp.Id));
        }
Пример #4
0
        public async Task <IResult> UpdateAsync(TargetAppModel model)
        {
            // var validation = await new UpdateTargetAppModelValidator().ValidationAsync(model);

            // if (validation.Failed)
            // {
            //     return Result.Fail(validation.Message);
            // }

            var targetApp = await _targetAppRepository.GetAsync(model.Id);

            if (targetApp is null)
            {
                return(Result.Success());
            }
            targetApp.UpdateCheck(model.CheckTime.AddMinutes(model.Interval));
            await _targetAppRepository.UpdateAsync(targetApp.Id, targetApp);

            await _unitOfWork.SaveChangesAsync();

            return(Result.Success());
        }
Пример #5
0
        public async Task <CheckHistoryModel> GetCheckHealth(TargetAppModel target)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    var response = await client.GetAsync(target.Url);

                    bool isOk = response.IsSuccessStatusCode;
                    return(new CheckHistoryModel {
                        CheckDate = DateTime.Now, IsWork = isOk, MessageCode = response.StatusCode.ToString()
                    });
                }
            }
            catch (Exception ex)
            {
                _logger.LogInformation("Target Health Status : {status}", ex.Message);
                return(new CheckHistoryModel {
                    CheckDate = DateTime.Now, IsWork = false, MessageCode = "Error"
                });
            }
        }
Пример #6
0
 public Task <IActionResult> UpdateAsync(TargetAppModel model)
 {
     return(_targetAppService.UpdateAsync(model).ResultAsync());
 }