private void DeleteCrop(object parameter) { if (SelectedCrop != null) { CropDTO newCrop = new CropDTO { Id = Id, }; GetRepository().DeleteCrop(newCrop); ShowCropsInCultivation(); } }
public HttpResponseMessage CropImages(CroppersDTO cropData) { FilesStatus fs = null; try { var res = new CroppersResultDTO(); var folderManager = FolderManager.Instance; var fileManager = FileManager.Instance; string rawImageUrl = cropData.url; if (rawImageUrl.IndexOf('?') > 0) { rawImageUrl = rawImageUrl.Substring(0, rawImageUrl.IndexOf('?')); } rawImageUrl = rawImageUrl.Replace(PortalSettings.HomeDirectory, ""); var file = fileManager.GetFile(ActiveModule.PortalID, rawImageUrl); if (file != null) { string cropfolder = "OpenContent/Files/" + ActiveModule.ModuleID; if (!string.IsNullOrEmpty(cropData.cropfolder)) { cropfolder = cropData.cropfolder; } var userFolder = folderManager.GetFolder(PortalSettings.PortalId, cropfolder); if (userFolder == null) { userFolder = folderManager.AddFolder(PortalSettings.PortalId, cropfolder); } foreach (var cropper in cropData.croppers) { string key = cropper.Key; string newFilename = Path.GetFileNameWithoutExtension(file.FileName) + "-" + key + Path.GetExtension(file.FileName); var resizeInfo = cropper.Value; CropDTO cropInfo = null; if (cropData.cropdata.ContainsKey(key)) { cropInfo = cropData.cropdata[key].cropper; } var cropResult = CropFile(file, newFilename, cropInfo, resizeInfo, userFolder); res.cropdata.Add(key, cropResult); } } return Request.CreateResponse(HttpStatusCode.OK, res); } catch (Exception exc) { Logger.Error(exc); return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc); } }
private CropResizeResultDTO CropFile(IFileInfo file, string newFilename, CropDTO crop, ResizeDTO resize, IFolderInfo userFolder) { var cropresult = new CropResizeResultDTO(); if (crop != null) { cropresult.crop = crop; } else { cropresult.crop = new CropDTO(); } var folderManager = FolderManager.Instance; var fileManager = FileManager.Instance; var folder = folderManager.GetFolder(file.FolderId); var image = Image.FromFile(file.PhysicalPath); Image imageCropped = null; if (crop == null || crop.x < 0 || crop.y < 0) // center { int left = 0; int top = 0; int width = 0; int height = 0; imageCropped = ImageHelper.SaveCroppedImage(image, resize.width, resize.height, out left, out top, out width, out height); cropresult.crop.x = left; cropresult.crop.y = top; cropresult.crop.width = width; cropresult.crop.height = height; } else if (crop.width > 0 && crop.width > 0) { imageCropped = ImageHelper.Crop(image, crop.x, crop.y, crop.width, crop.height); if (resize != null && resize.width > 0 && resize.height > 0) { imageCropped = ImageHelper.Resize(imageCropped, resize.width, resize.height); } } Stream content = new MemoryStream(); ImageFormat imgFormat = ImageFormat.Bmp; if (file.Extension.ToLowerInvariant() == "png") { imgFormat = ImageFormat.Png; } else if (file.Extension.ToLowerInvariant() == "gif") { imgFormat = ImageFormat.Gif; } else if (file.Extension.ToLowerInvariant() == "jpg") { imgFormat = ImageFormat.Jpeg; } if (imageCropped != null) { imageCropped.Save(content, imgFormat); var newFile = fileManager.AddFile(userFolder, newFilename, content, true); cropresult.url = newFile.ToUrl(); return(cropresult); } return(null); }
public void AddCrop(CropDTO _crop) { cropRepo.Add(_crop); }
public void DeleteCrop(CropDTO _crop) { cropRepo.Delete(_crop); }
public void UpdateCrop(CropDTO _crop) { cropRepo.Update(_crop); }