public HttpResponseMessage Put(ConfirmRequest request) { #if DEBUG if (request.RequestId == 0) { throw new Exception("При подтверждении должен быть указан идентификатор обновления"); } #endif //из-за изменения схемы подтверждения обновления при переходе с версии на версию идентификатор обновления //не передается if (request.RequestId == 0) { return(new HttpResponseMessage(HttpStatusCode.OK)); } var log = Session.Get <RequestLog>(request.RequestId); //если уже подтверждено значит мы получили информацию об импортированных заявках if (log.IsConfirmed) { log.Error += request.Message; } else { //записываем информацию о запросе что бы в случае ошибки повторить попытку var failsafe = Path.Combine(Config.FailsafePath, log.Id.ToString()); File.WriteAllText(failsafe, JsonConvert.SerializeObject(request)); var task = RequestLog.RunTask(Session, x => Confirm(x, log.Id, Config, request)); if (task.IsFaulted) { return(new HttpResponseMessage(HttpStatusCode.InternalServerError)); } } return(new HttpResponseMessage(HttpStatusCode.OK)); }