Example #1
0
        public JObject UpdateAlbum()
        {
            try
            {
                var galleryId = HttpProxy.GetQueryString(ImageProcessor.GALLERY_ID);

                var requestBody = HttpProxy.GetRequestBody <JObject>();
                if (requestBody == null || string.IsNullOrEmpty(galleryId))
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._400_BAD_REQUEST));
                }
                if (!ImageGalleryHelper.IsOwner(DBProxy, SessionProvider, galleryId))
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._401_UNAUTHORIZED));
                }
                var filter = new JObject();
                filter[CommonConst.CommonField.DISPLAY_ID] = galleryId;

                var data = DBProxy.FirstOrDefault(ImageProcessor.MYPHOTO_GALLERY_COLLECTION, filter.ToString());

                if (data == null)
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._400_BAD_REQUEST));
                }
                if (requestBody[ImageProcessor.DISPLAY_NAME] != null)
                {
                    data[ImageProcessor.DISPLAY_NAME] = requestBody[ImageProcessor.DISPLAY_NAME].ToString();
                }
                if (requestBody[ImageProcessor.DESCRIPTION] != null)
                {
                    data[ImageProcessor.DESCRIPTION] = requestBody[ImageProcessor.DESCRIPTION].ToString();
                }
                if (requestBody[ImageProcessor.GALLERY_THUMBNAIL] != null)
                {
                    data[ImageProcessor.GALLERY_THUMBNAIL] = requestBody[ImageProcessor.GALLERY_THUMBNAIL].ToString();
                }
                if (requestBody[ImageProcessor.AUTH_USERS] != null)
                {
                    data[ImageProcessor.AUTH_USERS] = requestBody[ImageProcessor.AUTH_USERS];
                }

                if (DBProxy.Update(ImageProcessor.MYPHOTO_GALLERY_COLLECTION, filter.ToString(), data, false, MergeArrayHandling.Replace) != 1)
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
                }
                return(ResponseBuilder.CreateReponse(CommonConst._1_SUCCESS));
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
                return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
            }
        }
Example #2
0
        public JObject DeleteImage()
        {
            try
            {
                var galleryId = HttpProxy.GetQueryString(ImageProcessor.GALLERY_ID);
                var fileHash  = HttpProxy.GetQueryString(ImageProcessor.FILE_HASH);


                var user = SessionProvider.GetValue <UserModel>(CommonConst.CommonValue.SESSION_USER_KEY);
                if (string.IsNullOrEmpty(galleryId) || string.IsNullOrEmpty(galleryId))
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._400_BAD_REQUEST));
                }
                if (!ImageGalleryHelper.IsOwner(DBProxy, SessionProvider, galleryId))
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._401_UNAUTHORIZED));
                }
                var filter = new JObject();
                filter[CommonConst.CommonField.DISPLAY_ID] = galleryId;
                var galleryData = DBProxy.FirstOrDefault(ImageProcessor.MYPHOTO_GALLERY_COLLECTION, filter.ToString());
                if (galleryData == null)
                {
                    Logger.Error(string.Format("Gallery Not found :  Gallery: {0} ", galleryId));

                    return(ResponseBuilder.CreateReponse(CommonConst._404_RESOURCE_NOT_FOUND));
                }
                if (galleryData[ImageProcessor.FILE_HASHS] == null)
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
                }
                var filehashData = (galleryData[ImageProcessor.FILE_HASHS] as JArray).FirstOrDefault(f => f.ToString() == fileHash);
                if (filehashData != null)
                {
                    (galleryData[ImageProcessor.FILE_HASHS] as JArray).Remove(filehashData);
                    DBProxy.Update(ImageProcessor.MYPHOTO_GALLERY_COLLECTION, filter.ToString(), galleryData, false, MergeArrayHandling.Replace);
                    JObject responseData = new JObject();
                    responseData[ImageProcessor.FILE_HASH] = fileHash;
                    return(ResponseBuilder.CreateReponse(CommonConst._1_SUCCESS, responseData));
                }
                else
                {
                    Logger.Error(string.Format("File Hash Not found : FileHash: {0} Gallery: {1} ", fileHash, galleryId));
                    return(ResponseBuilder.CreateReponse(CommonConst._404_RESOURCE_NOT_FOUND));
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
                return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
            }
        }
Example #3
0
        public JObject AddImage()
        {
            try
            {
                var galleryId = HttpProxy.GetQueryString(ImageProcessor.GALLERY_ID);
                var user      = SessionProvider.GetValue <UserModel>(CommonConst.CommonValue.SESSION_USER_KEY);


                if (string.IsNullOrEmpty(galleryId))
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._400_BAD_REQUEST));
                }
                if (!ImageGalleryHelper.IsOwner(DBProxy, SessionProvider, galleryId))
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._401_UNAUTHORIZED));
                }
                Logger.Debug(string.Format("File Count {0}", _fileUploader.GetFiles().Count));
                if (_fileUploader.GetFiles().Count > 0)
                {
                    JArray fileHashs = new JArray();
                    foreach (var fileName  in _fileUploader.GetFiles())
                    {
                        fileHashs.Add(UploadFile(galleryId, user, fileName, KeyValueStorage));
                    }
                    JObject responseData = new JObject();
                    responseData[ImageProcessor.FILE_HASHS] = fileHashs;
                    return(ResponseBuilder.CreateReponse(CommonConst._1_SUCCESS, responseData));
                }
                else
                {
                    Logger.Error("no File found");
                    return(ResponseBuilder.CreateReponse(CommonConst._400_BAD_REQUEST));
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
                return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
            }
        }
Example #4
0
        public JObject Rotate()
        {
            try
            {
                var fileHash  = HttpProxy.GetQueryString(ImageProcessor.FILE_HASH);
                var galleryId = HttpProxy.GetQueryString(ImageProcessor.GALLERY_ID);

                if (string.IsNullOrEmpty(fileHash) || string.IsNullOrEmpty(galleryId))
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._400_BAD_REQUEST));
                }

                if (!ImageGalleryHelper.IsOwner(DBProxy, SessionProvider, galleryId))
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._401_UNAUTHORIZED));
                }

                var fileData = ImageGalleryHelper.GetImage(DBProxy, fileHash);

                if (fileHash == null)
                {
                    Logger.Error(string.Format("File not found ::{0}", fileHash));
                    return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
                }


                var path           = string.Empty;
                var baseFolderPath = AppSettingService.GetAppSettingData("my_photo_path");
                if (string.IsNullOrEmpty(baseFolderPath))
                {
                    throw new KeyNotFoundException("my_photo_path");
                }
                if (fileData[ImageProcessor.FILE_PATHS] == null)
                {
                    throw new KeyNotFoundException(ImageProcessor.FILE_PATHS);
                }

                Logger.Debug(string.Format("Getting file info BasePath  : {0}", baseFolderPath));
                foreach (var item in fileData[ImageProcessor.FILE_PATHS])
                {
                    if (File.Exists(string.Concat(baseFolderPath, "\\", item.ToString())))
                    {
                        path = string.Concat(baseFolderPath, "\\", item.ToString());
                        break;
                    }
                }
                if (!File.Exists(path))
                {
                    throw new FileNotFoundException(path);
                }

                var changesetNo = 0;
                if (fileData[ImageProcessor.CHANGESET_NO] != null)
                {
                    Logger.Debug(string.Format("changesetNo value from  fileData {0}", fileData[ImageProcessor.CHANGESET_NO].ToString()));
                    int.TryParse(fileData[ImageProcessor.CHANGESET_NO].ToString(), out changesetNo);
                }
                else
                {
                    Logger.Debug(string.Format("changesetNo is null in fileData"));
                }

                Logger.Debug(string.Format("Image  file path info BasePath  : {0} File Name :{1}", baseFolderPath, path));

                using (var image = ImageGalleryHelper.GetImageBitmapFromFile(path))
                {
                    Logger.Debug(string.Format("Processing Image BasePath  : {0} File Name :{1}", baseFolderPath, path));

                    int rotate = 90;
                    if (fileData[ImageProcessor.IMAGE_ROTATE] != null && int.TryParse(fileData[ImageProcessor.IMAGE_ROTATE].ToString(), out rotate))
                    {
                        rotate += 90;
                        if (rotate >= 360)
                        {
                            rotate = 0;
                        }
                    }
                    switch (rotate)
                    {
                    case 90:
                        ImageGalleryHelper.ProcessImage(fileData, image, KeyValueStorage, RotateFlipType.Rotate90FlipNone);
                        Logger.Debug(string.Format("Rotate image to {0}. {1}", rotate, RotateFlipType.Rotate90FlipNone.ToString()));
                        break;

                    case 180:
                        ImageGalleryHelper.ProcessImage(fileData, image, KeyValueStorage, RotateFlipType.Rotate180FlipNone);
                        Logger.Debug(string.Format("Rotate image to {0}. {1}", rotate, RotateFlipType.Rotate180FlipNone.ToString()));
                        break;

                    case 270:
                        ImageGalleryHelper.ProcessImage(fileData, image, KeyValueStorage, RotateFlipType.Rotate270FlipNone);
                        Logger.Debug(string.Format("Rotate image to {0}. {1}", rotate, RotateFlipType.Rotate270FlipNone.ToString()));
                        break;

                    default:
                        ImageGalleryHelper.ProcessImage(fileData, image, KeyValueStorage, RotateFlipType.RotateNoneFlipNone);
                        Logger.Debug(string.Format("Rotate image to {0}. {1}", rotate, RotateFlipType.RotateNoneFlipNone.ToString()));
                        break;
                    }

                    fileData[ImageProcessor.IMAGE_ROTATE] = rotate;
                }

                Logger.Debug(string.Format("changesetNo : {0}. FileHash: {1}", changesetNo, fileHash));

                fileData[ImageProcessor.CHANGESET_NO] = (changesetNo + 1);

                JObject filter = new JObject();
                filter[ImageProcessor.FILE_HASH] = fileHash;
                DBProxy.Update(ImageProcessor.MYPHOTO_COLLECTION, filter.ToString(), fileData, true, MergeArrayHandling.Replace);

                fileData.Remove(ImageProcessor.IMAGE_L_BASE64);
                fileData.Remove(ImageProcessor.IMAGE_M_BASE64);
                fileData.Remove(ImageProcessor.IMAGE_S_BASE64);

                return(ResponseBuilder.CreateReponse(CommonConst._1_SUCCESS, fileData));
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
                return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
            }
        }