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