public IHttpActionResult DeletePhoto(PhotoDataRequest photoDataRequest) { var root = HttpContext.Current.Server.MapPath("~/FileUploads"); string filePath = Path.Combine(root, photoDataRequest.Id + "_photos.json"); if (!File.Exists(filePath)) { using (StreamWriter w = File.AppendText(filePath)) { } } string girlsText = File.ReadAllText(filePath); IList <PhotoData> photoDataList = JsonConvert.DeserializeObject <List <PhotoData> >(girlsText) ?? new List <PhotoData>(); PhotoData photoData = photoDataList.SingleOrDefault(m => m.Image == photoDataRequest.Image); if (photoData != null) { string imageFilePath = Path.Combine(root, photoData.Image); if (File.Exists(imageFilePath)) { File.Delete(imageFilePath); } string imageMediumFilePath = Path.Combine(root, "medium_" + photoData.Image); if (File.Exists(imageMediumFilePath)) { File.Delete(imageMediumFilePath); } photoDataList.Remove(photoData); } string json = JsonConvert.SerializeObject(photoDataList); File.WriteAllText(filePath, json); //--------------------------------------------------------- string allGirlsFilePath = Path.Combine(root, "allGirls.json"); if (!File.Exists(allGirlsFilePath)) { using (StreamWriter w = File.AppendText(allGirlsFilePath)) { } } string allGirlsText = File.ReadAllText(allGirlsFilePath); IList <PhotoDataGirlName> photoDataGirlNameList = JsonConvert.DeserializeObject <List <PhotoDataGirlName> >(allGirlsText) ?? new List <PhotoDataGirlName>(); PhotoDataGirlName findGirl = photoDataGirlNameList.SingleOrDefault(m => m.Id == photoDataRequest.Id); if (findGirl != null) { findGirl.Image = photoDataList.Where(m => m.IsMain == true).Select(m => m.Image).FirstOrDefault() ?? photoDataList.Select(m => m.Image).FirstOrDefault() ?? string.Empty; } string allGirlsJson = JsonConvert.SerializeObject(photoDataGirlNameList); File.WriteAllText(allGirlsFilePath, allGirlsJson); return(this.Ok(true)); }
public IHttpActionResult AddPhoto(PhotoDataRequest photoDataRequest) { var root = HttpContext.Current.Server.MapPath("~/FileUploads"); string allGirlsFilePath = Path.Combine(root, "allGirls.json"); if (!File.Exists(allGirlsFilePath)) { using (StreamWriter w = File.AppendText(allGirlsFilePath)) { } } string allGirlsText = File.ReadAllText(allGirlsFilePath); IList <PhotoDataGirlName> photoDataGirlNameList = JsonConvert.DeserializeObject <List <PhotoDataGirlName> >(allGirlsText) ?? new List <PhotoDataGirlName>(); if (photoDataRequest.Id != Guid.Empty) { PhotoDataGirlName findGirl = photoDataGirlNameList.SingleOrDefault(m => m.Id == photoDataRequest.Id); if (findGirl != null) { findGirl.Image = photoDataRequest.Image; } else { findGirl = new PhotoDataGirlName(); findGirl.Id = photoDataRequest.Id = Guid.NewGuid(); findGirl.Image = photoDataRequest.Image; photoDataGirlNameList.Add(findGirl); } } else { PhotoDataGirlName findGirl = new PhotoDataGirlName(); findGirl.Id = photoDataRequest.Id = Guid.NewGuid(); findGirl.Image = photoDataRequest.Image; photoDataGirlNameList.Add(findGirl); } string allGirlsJson = JsonConvert.SerializeObject(photoDataGirlNameList); File.WriteAllText(allGirlsFilePath, allGirlsJson); //--------------------------------------------------------- string filePath = Path.Combine(root, photoDataRequest.Id + "_photos.json"); if (!File.Exists(filePath)) { using (StreamWriter w = File.AppendText(filePath)) { } } string girlsText = File.ReadAllText(filePath); IList <PhotoData> photoDataList = JsonConvert.DeserializeObject <List <PhotoData> >(girlsText) ?? new List <PhotoData>(); PhotoData photoData = new PhotoData { Image = photoDataRequest.Image, IsMain = true }; photoDataList.Add(photoData); string json = JsonConvert.SerializeObject(photoDataList); File.WriteAllText(filePath, json); PhotoDataResponse photoDataResponse = new PhotoDataResponse(); photoDataResponse.success = true; photoDataResponse.photos = photoDataList; photoDataResponse.id = photoDataRequest.Id; return(Ok(photoDataResponse)); }