protected void Application_Start() { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); // Remove XML output var config = GlobalConfiguration.Configuration; config.Formatters.XmlFormatter.SupportedMediaTypes.Clear(); // JSON formatting for data serialized from the server to the client config.Formatters.JsonFormatter.SerializerSettings = new Newtonsoft.Json.JsonSerializerSettings { // Camel casing to match JavaScript ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver(), #if DEBUG Formatting = Formatting.Indented #else Formatting = Formatting.None #endif }; } #endregion Methods }
public JsonSerializerSettings() : base() { Formatting = Newtonsoft.Json.Formatting.Indented; // Default: [None] TypeNameHandling = Newtonsoft.Json.TypeNameHandling.None; // Default: [None] ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver(); // Default: [None] //this.CheckAdditionalContent = true; //this.ConstructorHandling = Newtonsoft.Json.ConstructorHandling.AllowNonPublicDefaultConstructor; //this.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat; //this.DateParseHandling = Newtonsoft.Json.DateParseHandling.None; //this.DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc; //this.DefaultValueHandling = Newtonsoft.Json.DefaultValueHandling.Ignore; //this.FloatFormatHandling = Newtonsoft.Json.FloatFormatHandling.DefaultValue; //this.FloatParseHandling = Newtonsoft.Json.FloatParseHandling.Double; //this.MaxDepth = 5; //this.MetadataPropertyHandling = Newtonsoft.Json.MetadataPropertyHandling.Default; //this.MissingMemberHandling = Newtonsoft.Json.MissingMemberHandling.Error; //this.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore; //this.ObjectCreationHandling = Newtonsoft.Json.ObjectCreationHandling.Auto; //this.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.All; //this.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; //this.StringEscapeHandling = Newtonsoft.Json.StringEscapeHandling.Default; //this.TypeNameAssemblyFormat = System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Full; }
private JsonSerializer GetSerializer() { var settings = new JsonSerializerSettings(); settings.ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor; var contractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver(); contractResolver.DefaultMembersSearchFlags = contractResolver.DefaultMembersSearchFlags | System.Reflection.BindingFlags.NonPublic; settings.ContractResolver = contractResolver; return(JsonSerializer.Create(settings)); }
static JsonSerializerSettings DefaultSettings() { var settings = new JsonSerializerSettings(); settings.NullValueHandling = NullValueHandling.Ignore; settings.Formatting = Formatting.Indented; settings.TypeNameHandling = TypeNameHandling.None; settings.DateFormatHandling = DateFormatHandling.IsoDateFormat; settings.ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor; var contractReslover = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver(); contractReslover.DefaultMembersSearchFlags = contractReslover.DefaultMembersSearchFlags | System.Reflection.BindingFlags.NonPublic; settings.ContractResolver = contractReslover; return(settings); }
private static void GlobalConfigureApi(HttpConfiguration apiConfig) { if (apiConfig == null) throw new ArgumentNullException(nameof(apiConfig)); apiConfig.Filters.Add(new VerifyModelState()); apiConfig.Filters.Add(new ExceptionFilter()); apiConfig.SuppressDefaultHostAuthentication(); apiConfig.Filters.Add(new HostAuthenticationAttribute("Bearer")); apiConfig.Filters.Add(new AuthorizeAttribute()); apiConfig.Formatters.Remove(apiConfig.Formatters.XmlFormatter); JsonSerializerSettings settings = apiConfig.Formatters.JsonFormatter.SerializerSettings; settings.DateFormatString = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.ffffff'Z'"; settings.Converters.Add(new ErrorConverter()); settings.NullValueHandling = NullValueHandling.Ignore; settings.Formatting = Formatting.Indented; settings.DateFormatHandling = DateFormatHandling.IsoDateFormat; var contractReslover = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver(); settings.ContractResolver = contractReslover; contractReslover.DefaultMembersSearchFlags = contractReslover.DefaultMembersSearchFlags | BindingFlags.NonPublic; }
public ActionResult Data(string showName, string minInventory) { List <SessionModel> list = null; int minInventoryNum = Convert.ToInt32(minInventory); using (EscapeRoomDBEntities entities = new EscapeRoomDBEntities()) { //search query for showname and minimum inventory if (!string.IsNullOrEmpty(showName) && !string.IsNullOrEmpty(minInventory)) { list = entities.Sessions.Where(x => x.Title == showName && (x.Baskets.Where(z => z.PurchaseDate.HasValue || z.ReservedUntilDate > DateTime.UtcNow).Any() ? (x.Game.Capacity) - x.Baskets.Where(z => z.PurchaseDate.HasValue || z.ReservedUntilDate > DateTime.UtcNow).Sum(y => y.Players.Count()) : x.Game.Capacity) >= minInventoryNum).Select(x => new SessionModel { Id = x.Id, Title = x.Title, Color = x.Color, Start = x.Start, Url = "../Checkout/Selection/" + x.Id, Inventory = x.Baskets.Where(z => z.PurchaseDate.HasValue || z.ReservedUntilDate > DateTime.UtcNow).Any() ? (x.Game.Capacity) - x.Baskets.Where(z => z.PurchaseDate.HasValue || z.ReservedUntilDate > DateTime.UtcNow).Sum(y => y.Players.Count()) : x.Game.Capacity }).ToList(); } //search query for only show name else if (!string.IsNullOrEmpty(showName)) { list = entities.Sessions.Where(x => x.Title == showName).Select(x => new SessionModel { Id = x.Id, Title = x.Title, Color = x.Color, Start = x.Start, Inventory = x.Baskets.Where(z => z.PurchaseDate.HasValue || z.ReservedUntilDate > DateTime.UtcNow).Any() ? (x.Game.Capacity) - x.Baskets.Where(z => z.PurchaseDate.HasValue || z.ReservedUntilDate > DateTime.UtcNow).Sum(y => y.Players.Count()) : x.Game.Capacity, Url = "../Checkout/Selection/" + x.Id }).ToList(); } //search query for only minimum inventory else if (!string.IsNullOrEmpty(minInventory)) { list = entities.Sessions.Where(x => minInventoryNum <= (x.Baskets.Where(z => z.PurchaseDate.HasValue || z.ReservedUntilDate > DateTime.UtcNow).Any() ? (x.Game.Capacity) - x.Baskets.Where(z => z.PurchaseDate.HasValue || z.ReservedUntilDate > DateTime.UtcNow).Sum(y => y.Players.Count()) : x.Game.Capacity)).Select(x => new SessionModel { Id = x.Id, Title = x.Title, Color = x.Color, Start = x.Start, Inventory = x.Baskets.Where(z => z.PurchaseDate.HasValue || z.ReservedUntilDate > DateTime.UtcNow).Any() ? (x.Game.Capacity) - x.Baskets.Where(z => z.PurchaseDate.HasValue || z.ReservedUntilDate > DateTime.UtcNow).Sum(y => y.Players.Count()) : x.Game.Capacity, Url = "../Checkout/Selection/" + x.Id }).ToList(); } //no search curriculum else { list = entities.Sessions.Select(x => new SessionModel { Id = x.Id, Title = x.Title, Color = x.Color, Start = x.Start, Inventory = x.Baskets.Where(z => z.PurchaseDate.HasValue || z.ReservedUntilDate > DateTime.UtcNow).Any() ? (x.Game.Capacity) - x.Baskets.Where(z => z.PurchaseDate.HasValue || z.ReservedUntilDate > DateTime.UtcNow).Sum(y => y.Players.Count()) : x.Game.Capacity, Url = "../Checkout/Selection/" + x.Id }).ToList(); } //shorten titles by getting first initials & deal with sold out shows foreach (var item in list) { //deal with sold out shows if (item.Inventory == 0) { //item.Color = "light" + item.Color; item.Url = "../Checkout/SoldOut"; item.SoldOut = true; } //get initials char[] array = item.Title.ToCharArray(); List <char> charList = new List <char>(); charList.Add(array[0]); for (var i = 1; i < array.Length; i++) { if (array[i - 1] == ' ') { charList.Add(array[i]); } } item.Title = new string(charList.ToArray()); } //change to camelcase from initial caps for compatability with FullCalendar package Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver camelSerializer = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver(); Newtonsoft.Json.JsonSerializerSettings settings = new Newtonsoft.Json.JsonSerializerSettings(); settings.ContractResolver = camelSerializer; string content = Newtonsoft.Json.JsonConvert.SerializeObject(list, settings); //return the list return(Content(content)); } }
public FlowJsonSerializer() { ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver(); Formatting = Formatting.Indented; ReferenceLoopHandling = ReferenceLoopHandling.Ignore; }