public async Task <Check> CheckApi(CheckSettings settings, DeliveryPointsRequest requestModel) { var result = new Check { Settings = settings }; result.State.LastCheckTime = DateTime.Now; return(await PerformCheck(settings.EnvironmentId, result, requestModel)); }
private async Task <Check> PerformCheck(int environmentId, Check check, DeliveryPointsRequest requestModel) { check.State.Status = StatusesEnum.CRITICAL; var address = new EnvironmentHelper().GetApiUrl(environmentId); var query = $"{address}/api/delivery/points"; var response = _httpService.PerformPostRequest(query, timeOut, requestModel); var result = response.Result; if (!result.IsSuccessStatusCode) { check.State.Description = "Полученный статус-код для точек выдачи: " + result.StatusCode; return(check); } try { var responseContent = await result.Content.ReadAsStringAsync(); var settlementsResponseModel = JsonConvert.DeserializeObject <ApiResponse <List <DeliveryPointModel> > >(responseContent); if (!settlementsResponseModel.Success) { var errorsStr = string.Join(".", settlementsResponseModel.Errors); check.State.Description = "Ошибка получения точек выдачи: " + errorsStr; return(check); } if (settlementsResponseModel?.Data?.Count == 0) { check.State.Description = "Получен пустой список точек выдачи"; return(check); } } catch (Exception e) { check.State.Description = "Исключение во время получения точек выдачи: " + e.Message; } check.State.Status = StatusesEnum.OK; check.State.Description = "Проблем не обнаружено"; return(check); }
public async Task <CommandResult> Handle(DeliveryAutoPointsCheckCommand request, CancellationToken cancellationToken) { var result = new CommandResult { Success = true }; var check = new DeliveryPointsCheck(_httpService); var requestModel = new DeliveryPointsRequest { CityKey = "4577d856-322b-e311-8b0d-00155d037960", DeliveryMethodKey = 4, LanguageId = 2, PaymentMethodId = 21, RegionId = 57 }; result.CheckModel = await check.CheckApi(request.CheckSettings, requestModel); return(result); }
public async Task <CommandResult> Handle(NovaPoshtaPointsCheckCommand request, CancellationToken cancellationToken) { var result = new CommandResult { Success = true }; var check = new DeliveryPointsCheck(_httpService); var requestModel = new DeliveryPointsRequest { CityKey = "e71f8842-4b33-11e4-ab6d-005056801329", DeliveryMethodKey = 3, LanguageId = 2, PaymentMethodId = 21, RegionId = 57 }; result.CheckModel = await check.CheckApi(request.CheckSettings, requestModel); return(result); }
public async Task <CommandResult> Handle(StoAutodocPointsCheckCommand request, CancellationToken cancellationToken) { var result = new CommandResult { Success = true }; var check = new DeliveryPointsCheck(_httpService); var requestModel = new DeliveryPointsRequest { CityKey = "10763", DeliveryMethodKey = 5, DistrictId = 598, LanguageId = 2, PaymentMethodId = 21, RegionId = 57 }; result.CheckModel = await check.CheckApi(request.CheckSettings, requestModel); return(result); }