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)); } }
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)); } }
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)); } }
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)); } }