Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        //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));
        }