public Task BindModelAsync(ModelBindingContext bindingContext) { var ResultObject = new ListenedEvent(); if (bindingContext == null) { throw new ArgumentNullException(nameof(bindingContext)); } var names = bindingContext.HttpContext.Request.Form.Keys.FirstOrDefault().Split("[").Select(x => x.Replace("]", "")).ToArray(); char[] charsToTrim = { '\n', '\r', ' ' }; ResultObject.Entity = names[0].Trim(charsToTrim); string @event = names[1].Trim(charsToTrim); ResultObject.Events = GetEvents(ResultObject.Entity, @event, bindingContext); ResultObject.EntityId = bindingContext.ValueProvider.GetValue(ResultObject.Entity + "." + @event + "[0].id").FirstValue; ResultObject.ContactType = bindingContext.ValueProvider.GetValue(ResultObject.Entity + "." + @event + "[0].type").FirstValue; ResultObject.Account = bindingContext.ValueProvider.GetValue("account.subdomain").FirstValue; bindingContext.Result = ModelBindingResult.Success(ResultObject); return(Task.CompletedTask); }
//public HttpResponseMessage Post() public HttpResponseMessage Post(ListenedEvent value) //public HttpResponseMessage Post( // Dictionary<string, // Dictionary<string, // Dictionary<int, // Dictionary<string,string>>>> // value) { logic.GetEvent(value.Adapt <CrmEvent>()); logger.LogInformation("Входящее событие, {@Element}", value); return(new HttpResponseMessage(HttpStatusCode.OK)); }