private Product SetUpProduct(Product product) { product = uxProductInfo.Setup(product); product = uxRecurring.Setup(product); product = uxProductAttributes.Setup(product, "0"); product = uxProductKit.Setup(product); product.ShippingCost = ConvertUtilities.ToDecimal("0"); product.IsGiftCertificate = uxGiftCertificate.IsGiftCertificate; product.IsFixedPrice = uxProductAttributes.IsFixPrice( uxGiftCertificate.IsFixedPrice, uxGiftCertificate.IsGiftCertificate, uxRecurring.IsRecurring, uxProductAttributes.IsCallForPrice); product.ImageSecondary = uxProductImageList.SecondaryImage(); product = uxProductImageList.Update(product); //Clear anything before change it. //product.ProductImages.Clear(); product.ProductStocks.Clear(); product.ProductOptionGroups.Clear(); product.ProductShippingCosts.Clear(); product.SetUseDefaultValueMetaKeyword("0", true); product.SetUseDefaultValueMetaDescription("0", true); uxProductAttributes.AddOptionGroup(product); uxProductAttributes.CreateStockOption(product); uxProductAttributes.UpdateProductShippingCost(product); uxProductAttributes.SetProductSpecifications(product); ProductImageData.PopulateProductImages(product); ProductImageData.Clear(); return(product); }
private void RemoveNewProductImage(string imageID) { ImageItem item = ProductImageData.FindItem(imageID); if (item.SortOrder == 0) { DeleteFile(ProductImageData.SecondaryImagePath); ProductImageData.SecondaryImagePath = ""; if (uxGridProductImage.Rows.Count > 1) { string[] gridImageIDArray = new string[uxGridProductImage.Rows.Count - 1]; for (int i = 1; i < uxGridProductImage.Rows.Count; i++) { gridImageIDArray[i - 1] = ((HiddenField)uxGridProductImage.Rows[i].FindControl("uxImageIDHidden")).Value; } Array.Sort(gridImageIDArray); SetNewPrimaryImageAfterDelete(gridImageIDArray[0]); } } DeleteImage(item.RegularImage, item.LargeImage, item.ThumbnailImage); ProductImageData.RemoveItem(imageID); }
protected void uxSetAsPrimayImageButton_Click(object sender, EventArgs e) { string storeID = new StoreRetriever().GetCurrentStoreID(); LinkButton myButton = (LinkButton)sender; string imageID = myButton.CommandArgument; Product product = DataAccessContext.ProductRepository.GetOne(Culture.Null, ProductID, storeID); string originalFilePath; if (ProductID == "0") { ProductImageData.SetPrimary(imageID); ImageItem item = ProductImageData.FindItem(imageID); originalFilePath = item.LargeImage; } else { ProductImage oldPrimaryImage = new ProductImage(); ProductImage newPrimaryImage = new ProductImage(); foreach (ProductImage productImage in product.ProductImages) { if (productImage.ProductImageID == imageID) { newPrimaryImage = productImage; } if (productImage.SortOrder == 0) { oldPrimaryImage = productImage; } } SetProductImageOrder(product, oldPrimaryImage.ProductImageID, newPrimaryImage.SortOrder); SetProductImageOrder(product, newPrimaryImage.ProductImageID, 0); originalFilePath = newPrimaryImage.LargeImage; } using (ProductImageFile imageFile = ProductImageFile.Load(new FileManager(), Path.GetFileName(originalFilePath))) { if (ProductID == "0") { SaveSecondaryNoProduct(imageFile); } else { SaveSecondary(product, imageFile); } } if (!product.IsNull) { DataAccessContext.ProductRepository.Save(product); } uxMessage.DisplayMessage(Resources.ProductImageMessages.SetPrimarySuccess); uxStatusHidden.Value = "SetPrimary"; }
private void SetNewPrimaryImageAfterDelete(string imageID) { ProductImageData.SetPrimary(imageID); ImageItem item1 = ProductImageData.FindItem(imageID); string originalFilePath = item1.LargeImage; using (ProductImageFile imageFile = ProductImageFile.Load(new FileManager(), Path.GetFileName(originalFilePath))) { SaveSecondaryNoProduct(imageFile); } }
private void UpdateImage() { string message; if (!VerifyInput(out message)) { uxMessage.DisplayError(message); return; } Product product = DataAccessContext.ProductRepository.GetOne(CurrentCulture, ProductID, new StoreRetriever().GetCurrentStoreID()); foreach (GridViewRow row in uxGridProductImage.Rows) { ProductImage productImage = new ProductImage(); string id = ((HiddenField)row.Cells[ImageIDIndex].FindControl("uxImageIDHidden")).Value.Trim(); bool isZoom = GetZoomValue(row); bool isEnlarge = ((CheckBox)row.Cells[EnlargeCheckBoxIndex].FindControl("uxEnlargeCheck")).Checked; string altTag = ((TextBox)row.Cells[AltTagIndex].FindControl("uxAltTag")).Text; string titleTag = ((TextBox)row.Cells[TitleTagIndex].FindControl("uxTitleTag")).Text; if (ProductID == "0") { ProductImageData.UpdateItem(id, isZoom, isEnlarge, CurrentCulture, altTag, titleTag); } else { UpdateProductImageFromGrid(product, id, isZoom, isEnlarge, CurrentCulture, altTag, titleTag); } } foreach (DataListItem item in uxThumbnailDataList.Items) { string id = ((HiddenField)item.FindControl("uxImageIDHidden")).Value.Trim(); int SortOrder = ConvertUtilities.ToInt32(((TextBox)item.FindControl("uxSortOrderText")).Text); if (ProductID == "0") { ProductImageData.UpdateSortOrder(id, SortOrder); } else { SetProductImageOrder(product, id, SortOrder); } } }
private void CrateDataSource() { _imageSource = CreateTable("ProductImage"); _tempImageSource = CreateTable("TempProductImage"); if (ProductID == "0") { uxSecondaryImageHidden.Value = ProductImageData.SecondaryImagePath; foreach (ImageItem item in ProductImageData.GetAllItems()) { CreateRow( _tempImageSource, item.ProductImageID, 0, item.RegularImage, item.LargeImage, item.ThumbnailImage, item.ImageSize, item.SortOrder, item.IsZoom, item.IsEnlarge, item.ImageWidth, item.ImageHeight, item.Locales[CurrentCulture].AltTag, item.Locales[CurrentCulture].TitleTag); } } else { Product product = DataAccessContext.ProductRepository.GetOne(CurrentCulture, ProductID, new StoreRetriever().GetCurrentStoreID()); uxSecondaryImageHidden.Value = product.ImageSecondary; foreach (ProductImage productImage in product.ProductImages) { ProductImageLocale locale = productImage.Locales[CurrentCulture]; using (ProductImageFile imageFile = ProductImageFile.Load(new FileManager(), Path.GetFileName(productImage.LargeImage))) { CreateRow(_tempImageSource, productImage.ProductImageID, ConvertUtilities.ToInt32(product.ProductID), productImage.RegularImage, productImage.LargeImage, productImage.ThumbnailImage, ProductImageFile.GetImageSize(new FileManager(), productImage.LargeImage), productImage.SortOrder, productImage.IsZoom, productImage.IsEnlarge, imageFile.LargeImageWidth, imageFile.LargeImageHeight, locale.AltTag, locale.TitleTag); } } } }
protected void Page_Load(object sender, EventArgs e) { System.Drawing.Image thumbnail_image = null; System.Drawing.Image original_image = null; System.Drawing.Bitmap final_image = null; System.Drawing.Graphics graphic = null; String fileNameInfo = String.Empty; MemoryStream ms = null; bool errorDuplicate = false; try { // Get the data HttpPostedFile jpeg_image_upload = Request.Files["Filedata"]; fileNameInfo = Path.GetFileName(jpeg_image_upload.FileName); using (original_image = System.Drawing.Image.FromStream(jpeg_image_upload.InputStream)) { using (ProductImageFile imageFile = new ProductImageFile(new FileManager(), fileNameInfo, original_image)) { if (IsUsedByAnotherProduct(imageFile.LargeFilePath)) { errorDuplicate = true; Response.End(); } imageFile.SaveLargeImage(); imageFile.SaveRegular(); imageFile.SaveThumbnail(); if (ProductID == "0") { int sortOrder = ProductImageData.GetNexOrder(); ProductImageData.AddImageItem( imageFile.ThumbnailFilePath, imageFile.RegularFilePath, imageFile.LargeFilePath, ProductImageFile.GetImageSize(new FileManager(), imageFile.LargeFilePath), sortOrder, IsZoomable(imageFile), true, imageFile.LargeImageWidth, imageFile.LargeImageHeight, StoreContext.Culture, "", "" ); if (sortOrder == 0) { SaveSecondaryNoProduct(imageFile); } } else { string storeID = new StoreRetriever().GetCurrentStoreID(); Product product = DataAccessContext.ProductRepository.GetOne(StoreContext.Culture, ProductID, storeID); ProductImage productImage = new ProductImage(); productImage.RegularImage = imageFile.RegularFilePath; productImage.LargeImage = imageFile.LargeFilePath; productImage.ThumbnailImage = imageFile.ThumbnailFilePath; productImage.IsZoom = IsZoomable(imageFile); productImage.IsEnlarge = true; if (product.ProductImages.Count == 0) { SaveSecondary(product, imageFile); } productImage.SortOrder = product.ProductImages.Count; product.ProductImages.Add(productImage); DataAccessContext.ProductRepository.Save(product); } } } Response.StatusCode = 200; Response.Write("Success"); } catch { // If any kind of error occurs return a 500 Internal Server error if (!errorDuplicate) { Response.StatusCode = 500; Response.Write("An error occured"); } else { Response.StatusCode = 601; Response.Write("Upload Error Duplicated"); } Response.End(); } finally { // Clean up if (final_image != null) { final_image.Dispose(); } if (graphic != null) { graphic.Dispose(); } if (original_image != null) { original_image.Dispose(); } if (thumbnail_image != null) { thumbnail_image.Dispose(); } if (ms != null) { ms.Close(); } Response.End(); } }
protected void uxAddButton_Click(object sender, EventArgs e) { ProductImageData.Clear(); MainContext.RedirectMainControl("ProductAdd.ascx"); }