Beispiel #1
0
        public HttpResponseMessage Post([FromBody] Reestr value)
        {
            GlobalStore         Proverka = new GlobalStore();
            HttpResponseMessage response;

            string json = JsonConvert.SerializeObject(value);

            Online_log.Info($"Try Post. Count: {GlobalStore.CurrentCount}. Reestr: {json}");

            if (Proverka.Check())
            {
                Reestr r        = new Reestr();
                Guid   g        = new Guid();
                string reestrid = r.Pay(value);



                if ((reestrid == null))
                {
                    response = new HttpResponseMessage(HttpStatusCode.NotModified);
                }
                else
                {
                    if (Guid.TryParse(reestrid, out g))
                    {
                        response = Request.CreateResponse(HttpStatusCode.OK, reestrid);
                    }
                    else
                    {
                        response = Request.CreateResponse(HttpStatusCode.Conflict, reestrid);
                    }

                    response.Content.Headers.Expires = new DateTimeOffset(DateTime.Now.AddSeconds(300));
                    Online_log.Info($"Ok Post  {response.StatusCode.ToString()}. Count: {GlobalStore.CurrentCount}. ReestrPay: {reestrid.ToString()}");
                }
            }
            else
            {
                string err = $"Много обращений! Count= {GlobalStore.CurrentCount}. Не более {Properties.Settings.Default.Count} в {Properties.Settings.Default.Interval} секунд";
                response = Request.CreateResponse(HttpStatusCode.Forbidden, err);
                Online_log.Error(err);
            }

            return(response);
        }