public void DeleteProductMediaTest() { var testUser = GetTestUser(); var testCompany = GetTestCompany(testUser); // Create a product var testProduct = createProduct(testCompany, testUser); var error = ProductService.InsertOrUpdateProduct(testProduct, testUser, ""); Assert.IsTrue(!error.IsError, error.Message); // Create some media var sourceFile = GetAppSetting("SiteFolder", "") + "\\Content\\EvolutionLogo.png"; var media = new MediaModel { }; error = MediaServices.InsertOrUpdateMedia(media, testCompany, testUser, Enumerations.MediaFolder.Product, sourceFile, "", testProduct.Id, -1, FileCopyType.None); Assert.IsTrue(!error.IsError, error.Message); // Add the media to the product var prodMedia = new ProductMediaModel(); error = ProductService.AddMediaToProduct(testProduct, testCompany, testUser, sourceFile, prodMedia, FileCopyType.Copy); Assert.IsTrue(!error.IsError, error.Message); var checkMedia = MediaServices.FindMediaModel(prodMedia.MediaId); var mediaFile = MediaServices.GetMediaFileName(checkMedia, false); // Now delete the product media error = ProductService.DeleteProductMedia(prodMedia.Id); Assert.IsTrue(!error.IsError, error.Message); Assert.IsTrue(!File.Exists(mediaFile), $"Error: Media file {mediaFile} was found when it should have been deleted"); }
public void AddMediaToProductTest() { var testUser = GetTestUser(); var testCompany = GetTestCompany(testUser); // Create a product var testProduct = createProduct(testCompany, testUser); var error = ProductService.InsertOrUpdateProduct(testProduct, testUser, ""); Assert.IsTrue(!error.IsError, error.Message); // Create some media var sourceFile = GetAppSetting("SiteFolder", "") + "\\Content\\EvolutionLogo.png"; var media = new MediaModel { }; error = MediaServices.InsertOrUpdateMedia(media, testCompany, testUser, Enumerations.MediaFolder.Product, sourceFile, "", testProduct.Id, -1, FileCopyType.None); Assert.IsTrue(!error.IsError, error.Message); // Add the media to the product var prodMedia = new ProductMediaModel(); error = ProductService.AddMediaToProduct(testProduct, testCompany, testUser, sourceFile, prodMedia, FileCopyType.Copy); Assert.IsTrue(!error.IsError, error.Message); // Check that the product has its media attached var checkProd = db.FindProduct(testProduct.Id); Assert.IsTrue(checkProd != null, $"Error: A NULL value was returned when an objetc was expected"); var checkProdMedias = checkProd.ProductMedias.ToList(); int expected = 1, actual = checkProdMedias.Count(); Assert.IsTrue(actual == expected, $"Error: {actual} records were returned when {expected} were expected"); var checkProdMedia = checkProd.ProductMedias.First(); expected = prodMedia.Id; actual = checkProd.PrimaryMediaId.Value; Assert.IsTrue(actual == expected, $"Error: The ProductMedia record references Media Id #{actual} when #{expected} were expected"); // Check that the primary media is what was set var checkMedia = checkProdMedia.Medium; expected = prodMedia.MediaId; actual = checkMedia.Id; Assert.IsTrue(actual == expected, $"Error: Media record Id #{actual} was found when #{expected} was expected"); // Check that the media has a media file var media2 = MediaServices.FindMediaModel(checkMedia.Id); var mediaFile = MediaServices.GetMediaFileName(media2, false); Assert.IsTrue(File.Exists(mediaFile), $"Error: File {mediaFile} was not found"); // Clean up - delete the product error = ProductService.DeleteProduct(testProduct.Id); // This deletes the media as well Assert.IsTrue(!error.IsError, error.Message); }
public void FindProductMediaListModelTest() { var testUser = GetTestUser(); var testCompany = GetTestCompany(testUser); // Create a product var testProduct = createProduct(testCompany, testUser); var error = ProductService.InsertOrUpdateProduct(testProduct, testUser, ""); Assert.IsTrue(!error.IsError, error.Message); // Check the media var productMedias = ProductService.FindProductMediaListModel(testProduct.Id, 0).Items; int expected = 0, actual = productMedias.Count(); Assert.IsTrue(actual == expected, $"Error: {actual} items were returned when {expected} were expected"); // Add some media items string[] files = { "EvolutionLogo.png", "IconExclamation.png", "Processing.gif" }; var prodMediaModels = new List <ProductMediaModel>(); foreach (string fileName in files) { var sourceFile = GetAppSetting("SiteFolder", "") + "\\Content\\" + fileName; var prodMedia = new ProductMediaModel(); error = ProductService.AddMediaToProduct(testProduct, testCompany, testUser, sourceFile, prodMedia, FileCopyType.Copy); Assert.IsTrue(!error.IsError, error.Message); prodMediaModels.Add(prodMedia); } // Check the media while (prodMediaModels.Count > 0) { productMedias = ProductService.FindProductMediaListModel(testProduct.Id, 0).Items; expected = prodMediaModels.Count(); actual = productMedias.Count(); Assert.IsTrue(actual == expected, $"Error: {actual} items were returned when {expected} were expected"); error = ProductService.DeleteProductMedia(prodMediaModels[0].Id); Assert.IsTrue(!error.IsError, error.Message); prodMediaModels.RemoveAt(0); } // Final check productMedias = ProductService.FindProductMediaListModel(testProduct.Id, 0).Items; expected = 0; actual = productMedias.Count(); Assert.IsTrue(actual == expected, $"Error: {actual} items were returned when {expected} were expected"); }
public void GetProductImageTest() { var testUser = GetTestUser(); var testCompany = GetTestCompany(testUser); // Create a product var testProduct = createProduct(testCompany, testUser); var error = ProductService.InsertOrUpdateProduct(testProduct, testUser, ""); Assert.IsTrue(!error.IsError, error.Message); // Check the media var productMedias = ProductService.FindProductMediaListModel(testProduct.Id, 0).Items; int expected = 0, actual = productMedias.Count(); Assert.IsTrue(actual == expected, $"Error: {actual} items were returned when {expected} were expected"); // Add a media item var sourceFile = GetAppSetting("SiteFolder", "") + "\\Content\\EvolutionLogo.png"; var prodMedia = new ProductMediaModel(); error = ProductService.AddMediaToProduct(testProduct, testCompany, testUser, sourceFile, prodMedia, FileCopyType.Copy); Assert.IsTrue(!error.IsError, error.Message); // Set it as the primary media error = ProductService.SetPrimaryMedia(testProduct, prodMedia, testUser, ProductService.LockProduct(testProduct)); Assert.IsTrue(!error.IsError, error.Message); // Get the image MediaSize[] sizes = { MediaSize.Large, MediaSize.Medium, MediaSize.Small }; foreach (var mediaSize in sizes) { string prodImage = ProductService.GetProductImage(testProduct, mediaSize, 10, 10, true).FileName(); Assert.IsTrue(!string.IsNullOrEmpty(prodImage), $"Error: an image URL was expected but an empty/NULL string was returned"); string compare = "EvolutionLogo.png"; Assert.IsTrue(prodImage == compare, $"Error: {prodImage} was returned when {compare} was expected"); } // Cleanup error = ProductService.DeleteProduct(testProduct.Id); Assert.IsTrue(!error.IsError, error.Message); }
public ActionResult DoUpload(ProductImageUploadViewModel model) { var error = new Error(); var product = ProductService.FindProductModel(model.Product.Id, null, null, false); if (product == null) { error.SetRecordError("Product", model.Product.Id); } else { if (model.Images != null || model.Images.Count() > 0) { var fileList = new List <string>(); var targetFolder = MediaServices.GetMediaFolder(CurrentCompany.Id) + "\\Temp\\"; foreach (var file in model.Images) { string targetFile = targetFolder + file.FileName; try { db.AddFileToLog(targetFile, 2); file.SaveAs(targetFile); var prodMedia = new ProductMediaModel(); error = ProductService.AddMediaToProduct(product, CurrentCompany, CurrentUser, targetFile, prodMedia, FileCopyType.Move); } catch (Exception ex) { model.SetError(ex, "", true); break; } } if (!error.IsError) { model.SetErrorOnField(ErrorIcon.Information, EvolutionResources.infImagesSuccessfullyUploaded, "", null, null, null, null, true); } } } return(RedirectToAction("Images", "Images", new { Id = model.Product.Id })); }