BackboneDemo.Models.ViewModel.SetValue C# (CSharp) Method

SetValue() public method

public SetValue ( string key, object value ) : ViewModel
key string
value object
return ViewModel
        public ViewModel SetValue(string key, object value)
        {
            _dictionary[key] = value;
            return this;
        }

Usage Example

        public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
        {
            dynamic view_model = new ViewModel();

            Action<string> TrySetValue = (field) => {
                var value = bindingContext.ValueProvider.GetValue(field);
                if ( value.IsNotNull() ) { view_model.SetValue(field, value.RawValue); }
            };

            TrySetValue("id");

            controllerContext.RequestContext.HttpContext.Request
                .QueryString.AllKeys.ToList().ForEach(x => TrySetValue(x));

            controllerContext.RequestContext.HttpContext.Request
                .Form.AllKeys.ToList().ForEach(x => TrySetValue(x));

            var request = controllerContext.RequestContext.HttpContext.Request;
            if( request.IsAjaxRequest() )
            {
                try
                {
                    byte[] bytes = new byte[request.TotalBytes];
                    var original_position = request.InputStream.Position;
                    request.InputStream.Position = 0;
                    request.InputStream.Read(bytes, 0, request.TotalBytes);
                    request.InputStream.Position = original_position;
                    string data = Encoding.UTF8.GetString(bytes);

                    JavaScriptSerializer serializer = new JavaScriptSerializer();
                    var dictionary = serializer.Deserialize<Dictionary<string, object>>(data);
                    dictionary.Keys.ToList().ForEach(x => TrySetValue( x ));
                }
                catch{}

            }

            return view_model;
        }