//returns ModelsMissingPhotos which contains a List<int> for models: //Production, ProductionPhotos, Sponsor, and Cast that dont have a picture. public static ModelsWithoutPhotos FindModelsNoPics() { var admin = new AdminController(); int photoUnavailable = admin.db.Photo.Where(p => p.Title == "Photo Unavailable").Select(p => p.PhotoId).FirstOrDefault(); ModelsWithoutPhotos modelsWithNoPics = new ModelsWithoutPhotos { CastMembers = admin.db.CastMembers.Where(p => p.PhotoId == null || p.PhotoId == photoUnavailable).OrderBy(p => p.CastMemberID). Select(p => p.CastMemberID).ToList(), Productions = admin.db.Productions.Where(p => p.DefaultPhoto == null || p.DefaultPhoto.PhotoId == photoUnavailable). OrderBy(p => p.ProductionId).Select(p => p.ProductionId).ToList(), ProductionPhotos = admin.db.ProductionPhotos.Where(p => p.PhotoId == null || p.PhotoId == photoUnavailable && p.Production != null).OrderBy(p => p.ProPhotoId).Select(p => p.ProPhotoId).ToList(), Sponsors = admin.db.Sponsors.Where(p => p.PhotoId == null || p.PhotoId == photoUnavailable).OrderBy(p => p.SponsorId). Select(p => p.SponsorId).ToList() }; return(modelsWithNoPics); }
private void UpdateAdminSettings() { //flowchart: reads json file, deserializes, updates the values, serializes new string, and writes result to json file List <int> currentProd = FindCurrentProductions(); ModelsWithoutPhotos miss = FindModelsNoPics(); string json_path = Server.MapPath(Url.Content("~/AdminSettings.json")); string json_string = null; using (StreamReader reader = new StreamReader(json_path)) { json_string = reader.ReadToEnd(); } JObject json_content = (JObject)JsonConvert.DeserializeObject(json_string); json_content.Property("current_productions").Value = JToken.FromObject(currentProd); json_content.Property("models_missing_photos").Value = JToken.FromObject(miss); string updated_json = JsonConvert.SerializeObject(json_content, Formatting.Indented); System.IO.File.WriteAllText(json_path, updated_json); }