public void CreateOrderConfirmationPdfTest()
        {
            var testUser    = GetTestUser();
            var testCompany = GetTestCompanyAU();

            // Find a random sales order header
            int range   = db.FindSalesOrderHeaders(testCompany.Id).Count();
            var sohList = db.FindSalesOrderHeaders(testCompany.Id)
                          .Skip(RandomInt(0, range - 1))
                          .Take(1)
                          .FirstOrDefault();
            // Uncomment the following line to get a document for a random SOH, possibly with no items
            //var soh = SalesService.MapToModel(sohList);
            // Uncomment the following line to get a document known to have a number of items
            var soh = SalesService.FindSalesOrderHeaderModel(45176, testCompany);   // 158 items

            var template = LookupService.FindDocumentTemplateModel(DocumentTemplateCategory.SalesOrders, DocumentTemplateType.OrderConfirmation);

            string pdfFile = "";
            var    error   = SalesService.CreateOrderConfirmationPdf(soh,
                                                                     template,
                                                                     null,
                                                                     true,
                                                                     ref pdfFile);

            MediaServices.AddFileToLog(pdfFile, 20);        // So it gets cleaned up later
            Assert.IsTrue(File.Exists(pdfFile));

            Assert.IsTrue(!error.IsError, error.Message);
        }
        public void GetMediaHtmlTest()
        {
            var testUser    = GetTestUser();
            var testCompany = GetTestCompany(testUser);

            // Create a record
            string testImage  = MediaServices.GetSiteFolder() + @"\\Content\\EvolutionLogo.png";
            string sourceFile = MediaServices.GetTempFolder() + testImage.FileName();

            LogTestFile(sourceFile);
            var error = MediaService.MediaService.CopyOrMoveFile(testImage, sourceFile, Enumerations.FileCopyType.Copy);

            Assert.IsTrue(!error.IsError, error.Message);

            var model = new MediaModel();

            error = createMedia(testCompany, testUser, sourceFile, model);
            Assert.IsTrue(!error.IsError, error.Message);

            string html = MediaServices.GetMediaHtml(model, MediaSize.Medium, (int)MediaSize.MediumW, (int)MediaSize.MediumH);

            Assert.IsTrue(!string.IsNullOrEmpty(html), "Error: An empty string was returned");

            // TBD: Need to add further checks to make sure the html is valid
        }
示例#3
0
        public Error DeleteProductCompliance(int id)
        {
            var error = new Error();

            var p = db.FindProductCompliance(id);

            if (p != null)
            {
                foreach (var attachment in p.ProductComplianceAttachments.ToList())
                {
                    deleteProductComplianceAttachment(attachment.Id);
                }

                var mediaFolder = MediaServices.GetMediaFolder(MediaFolder.ProductCompliance,
                                                               0,   //company.Id,   // Products have no companyId
                                                               p.ProductId,
                                                               p.Id,
                                                               false,
                                                               false);
                MediaService.MediaService.DeleteDirectory(mediaFolder, true);

                db.DeleteProductCompliance(id);
            }
            return(error);
        }
        private Error createMedia(CompanyModel testCompany, UserModel testUser, string sourceFile,
                                  MediaModel media)
        {
            media.CompanyId = testCompany.Id;

            var mediaType = db.FindMediaType(sourceFile);

            if (mediaType == null)
            {
                mediaType = db.FindMediaType((int)Enumerations.MediaType.UNKNOWN);
            }
            media.MediaTypeId = mediaType.Id;
            media.MediaFile   = "/Content/MediaThumbs/" + mediaType.ThumbMedium;

            var error = MediaServices.InsertOrUpdateMedia(media,
                                                          testCompany,
                                                          testUser,
                                                          Enumerations.MediaFolder.User,
                                                          sourceFile,
                                                          "",
                                                          testUser.Id,
                                                          -1,
                                                          FileCopyType.Move);

            return(error);
        }
示例#5
0
        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 CheckItemCommentPageViewModel()
 {
     UpdateCommentCommand = new Command(UpdateComment);
     UpdateImageCommand   = new Command <MediaFile>((MediaFile NewImage) => UpdateImageCommandAct(NewImage));
     mediaServices        = new MediaServices();
     IsBusy = false;
 }
示例#7
0
        public string GetProductImage(ProductModel product, MediaSize thumbSize, int fitX, int fitY, bool bHttp)
        {
            string rc = null;

            if (product != null)
            {
                if (product.PrimaryMediaId != null)
                {
                    var prodMedia = db.FindProductMedia(product.PrimaryMediaId.Value);
                    if (prodMedia != null)
                    {
                        var media = MediaServices.FindMediaModel(prodMedia.MediaId, thumbSize, fitX, fitY);
                        if (media != null)
                        {
                            string temp = MediaServices.GetMediaFileName(media, false);
                            if (File.Exists(temp))
                            {
                                int imageW = 0,
                                    imageH = 0;
                                rc = MediaServices.GetMediaThumb(media, thumbSize, fitX, fitY, ref imageW, ref imageH);
                            }
                        }
                    }
                }
            }
            if (rc == null)
            {
                rc = GetConfigurationSetting("SiteFolder", "") + "\\Content\\Default.jpg";
            }
            return(rc);
        }
        public ActionResult SearchMediaLibrary(MediaLibrary_QueryModel queryModel)
        {
            var ms = new MediaServices();

            try
            {
                //List<MediaGroupBy_Model> groupByList = new List<MediaGroupBy_Model>();
                int count;
                return(Json(new NBCMSResultJson
                {
                    Status = StatusType.OK,
                    Data = new
                    {
                        list = ms.GetMediaLibraryList(queryModel, out count),
                        //groupByList = groupByList,
                        count
                    }
                }));
            }
            catch (Exception ex)
            {
                NBCMSLoggerManager.Error(ex.Message);
                NBCMSLoggerManager.Error(ex.Source);
                return(Json(new NBCMSResultJson
                {
                    Status = StatusType.Exception,
                    Data = ex.Message
                }));
            }
        }
        private void cboMediaName_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            App currentApp = (App)Application.Current;

            if (cboMediaName.SelectedValue != null)
            {
                Media media = MediaServices.Get(cboMediaName.SelectedValue.ToString(), false);

                if (media.MediaType != null)
                {
                    cboMediaType.Text = media.MediaType.Name;
                }

                txtPath.Text     = media.Path;
                cboItemType.Text = media.EntityType.ToString();

                if (string.IsNullOrWhiteSpace(media.LastPattern) == false)
                {
                    cboSearchType.Text = currentApp.LoadedLanguageResourceDictionary[media.LastPattern].ToString();
                }
                else
                {
                    cboSearchType.Text = currentApp.LoadedLanguageResourceDictionary["Folders"].ToString();
                }

                chkCleanTitle.IsChecked = media.CleanTitle;

                chkGetImage.IsChecked  = media.LocalImage;
                chkParseNfo.IsChecked  = media.UseNfo;
                chkSubFolder.IsChecked = media.SearchSub;
            }
        }
示例#10
0
        public void DeleteMediaTest()
        {
            var testUser    = GetTestUser();
            var testCompany = GetTestCompany(testUser);

            // Create a record
            string sourceFile = MediaService.MediaService.GetTempFile(".txt");

            LogTestFile(sourceFile);
            File.WriteAllText(sourceFile, LorumIpsum());

            var model = new MediaModel();
            var error = createMedia(testCompany, testUser, sourceFile, model);

            Assert.IsTrue(!error.IsError, $"Error: {error.Message}");

            // Check that the media exists
            var mediaFile = MediaServices.GetMediaFileName(model, false);

            Assert.IsTrue(File.Exists(mediaFile), $"Error: File '{mediaFile}' could not be found");

            // Now delete the media
            error = MediaServices.DeleteMedia(model);

            // Check that the media has been deleted
            var check = db.FindMedias()
                        .Where(m => m.Id == model.Id)
                        .FirstOrDefault();

            Assert.IsTrue(check == null, "Error: Media record was found when it should have been deleted");
            Assert.IsTrue(!File.Exists(mediaFile), $"Error: File '{mediaFile}' exists when it should have been deleted");
        }
示例#11
0
        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");
        }
示例#12
0
        static async Task Main(string[] args)
        {
            // this is a big no-no in practice! never hard-code sensitive data or commit it to a repository
            // a better approach would be to use a ConfigurationBuilder instance:
            // https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-2.1&tabs=basicconfiguration
            string tenantDomain = "-REPLACE ME-";
            string restApiUrl   = "-REPLACE ME-";
            string clientId     = "-REPLACE ME-";
            string clientSecret = "-REPLACE ME-";

            // initialize media services instance
            MediaServices mediaService = new MediaServices(tenantDomain, restApiUrl, clientId, clientSecret);
            await mediaService.InitializeAccessTokenAsync();

            // generate access policy, asset, and locator instances required for file upload
            string accessPolicyId = await mediaService.GenerateAccessPolicy("TestAccessPolicy", 100, 2);

            Asset asset = await mediaService.GenerateAsset("TestAsset", "your-azure-storage-name");

            Locator locator = await mediaService.GenerateLocator(accessPolicyId, asset.Id, DateTime.Now.AddMinutes(-5), 1);

            // generate a file stream for a video
            FileStream    fileStream = new FileStream("sample-video.mp4", FileMode.Open);
            StreamContent content    = new StreamContent(fileStream);

            // upload the file to azure and generate the asset's file info
            await mediaService.UploadBlobToLocator(content, locator, "sample-video-file.mp4");

            await mediaService.GenerateFileInfo(asset.Id);

            // run an encoding job on the uploaded asset
            string mediaProcessorId = await mediaService.GetMediaProcessorId("Media Encoder Standard");

            var result = await mediaService.CreateJob("Test Encoding Job", asset.Uri, mediaProcessorId, "H264 Multiple Bitrate 720p");
        }
示例#13
0
        public void MapToModelTest()
        {
            var media = new Medium {
                Id           = RandomInt(),
                CompanyId    = RandomInt(),
                CreatedDate  = DateTimeOffset.Now,
                CreatedById  = RandomInt(),
                ModifiedDate = DateTimeOffset.Now,
                ModifiedById = RandomInt(),
                MediaType    = db.FindMediaType("jpg"),
                Title        = RandomString(),
                FolderName   = RandomString(),
                FileName     = RandomString(),
                ImageW       = RandomInt(),
                ImageH       = RandomInt()
            };
            int fitX         = RandomInt(),
                fitY         = RandomInt();
            var mappedResult = MediaServices.MapToModel(media, MediaSize.Medium, fitX, fitY);

            Assert.IsTrue(mappedResult.Id == media.Id, $"Error: {mappedResult.Id} was returned for Id when {media.Id} was expected");
            Assert.IsTrue(mappedResult.CompanyId == media.CompanyId, $"Error: {mappedResult.CompanyId} was returned for Id when {media.CompanyId} was expected");
            Assert.IsTrue(mappedResult.MediaTypeId == media.MediaTypeId, $"Error: {mappedResult.MediaTypeId} was returned for Id when {media.MediaType.Id} was expected");
            Assert.IsTrue(mappedResult.Title == media.Title, $"Error: {mappedResult.Title} was returned for Id when {media.Title} was expected");
            Assert.IsTrue(mappedResult.FolderName == media.FolderName, $"Error: {mappedResult.FolderName} was returned for Id when {media.FolderName} was expected");
            Assert.IsTrue(mappedResult.FileName == media.FileName, $"Error: {mappedResult.FileName} was returned for Id when {media.FileName} was expected");
        }
示例#14
0
        public void FindMediaModelTest()
        {
            var testUser    = GetTestUser();
            var testCompany = GetTestCompany(testUser);

            // Create a media item
            var media = new MediaModel();
            var error = createMedia(testCompany, testUser, "", media);

            Assert.IsTrue(error.IsError, "Error: Success was returned when a blank sourceFile should have caused an error");

            // Now supply a valid source file
            string sourceFile = MediaService.MediaService.GetTempFile(".txt");

            File.WriteAllText(sourceFile, LorumIpsum());

            error = createMedia(testCompany, testUser, sourceFile, media);
            Assert.IsTrue(!error.IsError, error.Message);

            // Now find it
            var checkMedia = MediaServices.FindMediaModel(media.Id);

            Assert.IsTrue(checkMedia != null, "Error: A NULL value was returned when a non-NULL value was expected");

            var excludes = new List <string>();

            excludes.Add("MediaHtml");              // MediaHtml is not known up-front
            AreEqual(media, checkMedia, excludes);
        }
示例#15
0
        public void CreateCompanyFoldersTest()
        {
            var testUser    = GetTestUser();
            var testCompany = GetTestCompany(testUser);

            // Creating the test company above creates the company folders,
            // so check that they have been created
            string companyfolder = MediaServices.GetMediaFolder(testCompany.Id, false);

            string testFolder = companyfolder;

            Assert.IsTrue(Directory.Exists(testFolder), $"Error: Folder {testFolder} could not be found");

            testFolder = companyfolder + "\\" + Enumerations.MediaFolder.Customer;
            Assert.IsTrue(Directory.Exists(testFolder), $"Error: Folder {testFolder} could not be found");

            testFolder = companyfolder + "\\" + Enumerations.MediaFolder.Purchase;
            Assert.IsTrue(Directory.Exists(testFolder), $"Error: Folder {testFolder} could not be found");

            testFolder = companyfolder + "\\" + Enumerations.MediaFolder.Sale;
            Assert.IsTrue(Directory.Exists(testFolder), $"Error: Folder {testFolder} could not be found");

            // Create the folders for the company data transfers
            string dataTransferFolder = MediaServices.GetDataTransferFolder(testCompany.Id);

            testFolder = dataTransferFolder;
            Assert.IsTrue(Directory.Exists(testFolder), $"Error: Folder {testFolder} could not be found");

            testFolder = dataTransferFolder + "\\UnpackSlips";
            Assert.IsTrue(Directory.Exists(testFolder), $"Error: Folder {testFolder} could not be found");

            testFolder = dataTransferFolder + "\\UnpackSlips\\Errors";
            Assert.IsTrue(Directory.Exists(testFolder), $"Error: Folder {testFolder} could not be found");
        }
示例#16
0
        public void AddMediaToProductComplianceTest()
        {
            var testUser    = GetTestUser();
            var testCompany = GetTestCompany(testUser);
            var product     = createProduct(testCompany, testUser);

            ProductService.InsertOrUpdateProduct(product, testUser, "");

            var pcList = ProductService.FindProductComplianceListModel(product.Id);

            if (pcList.Items.Count > 0)
            {
                foreach (var pc in pcList.Items)
                {
                    ProductService.DeleteProductCompliance(pc.Id);
                }
            }

            // Check number of pc in list before test
            pcList = ProductService.FindProductComplianceListModel(product.Id);
            int expected = 0;
            int actual   = pcList.Items.Count();

            Assert.IsTrue(actual == expected, $"Error: {actual} items were found when {expected} were expected");

            // Create X number of records
            int randomNoOfRecords = RandomInt(5, 20);

            for (var i = 0; i < randomNoOfRecords; i++)
            {
                // Create Product Compliance
                var prodCom = createProductCompliance(testCompany, product);
                var error   = ProductService.InsertOrUpdateProductCompliance(prodCom, "");
                Assert.IsTrue(!error.IsError, error.Message);
                // Create Media
                var media      = new MediaModel();
                var targetFile = GetTempFile(".jpg");
                error = MediaServices.InsertOrUpdateMedia(media, testCompany, testUser, Evolution.Enumerations.MediaFolder.ProductCompliance,
                                                          targetFile, "", prodCom.ProductId, prodCom.Id, FileCopyType.Move);
                Assert.IsTrue(!error.IsError, error.Message);

                ProductService.AddMediaToProductCompliance(prodCom, media);
            }

            pcList   = ProductService.FindProductComplianceListModel(product.Id);
            expected = randomNoOfRecords;
            actual   = pcList.Items.Count();
            Assert.IsTrue(actual == expected, $"Error: {actual} items were found when {expected} were expected");

            // Delete them
            foreach (var pc in pcList.Items)
            {
                ProductService.DeleteProductCompliance(pc.Id);
            }
            // Check number of pc in list before test
            pcList   = ProductService.FindProductComplianceListModel(product.Id);
            expected = 0;
            actual   = pcList.Items.Count();
            Assert.IsTrue(actual == expected, $"Error: {actual} items were found when {expected} were expected");
        }
示例#17
0
        void prepareEditModel(EditProductComplianceViewModel model, int id, int productId)
        {
            var product = ProductService.FindProductModel(productId, null, null, false);

            string title = EvolutionResources.bnrAddEditCompliance + (product == null ? "" : " - " + product.ItemName);

            if (id <= 0)
            {
                title += " - " + EvolutionResources.lblNewNote;
            }

            PrepareViewModel(model,
                             title,
                             productId,
                             MakeMenuOptionFlags(0, 0, 0, 0, productId));
            model.ParentId = productId;

            model.ComplianceCategoryList = LookupService.FindLOVItemsListItemModel(CurrentCompany, LOVName.ComplianceCategory);
            model.MarketList             = LookupService.FindLOVItemsListItemModel(CurrentCompany, LOVName.MarketingLocation);

            model.MaxUploadFileSize = GetMaxFileUploadSize();
            model.ValidFileTypes    = MediaServices.GetValidMediaTypes();

            ModelState.Remove("LGS");   // Forces view to get from model instead of Razor modelstate cache
            model.LGS = ProductService.LockProductCompliance(model.ProductCompliance);
        }
        public ActionResult GetMediaList(MediaLibrary_QueryModel queryModel)
        {
            MediaServices ms    = new MediaServices();
            int           count = 0;

            try
            {
                return(Json(new NBCMSResultJson
                {
                    Status = StatusType.OK,
                    Data = new
                    {
                        rows = ms.GetMediaList(queryModel, out count),
                        total = count
                    }
                }));
            }
            catch (Exception ex)
            {
                NBCMSLoggerManager.Error(ex.Message);
                NBCMSLoggerManager.Error(ex.Source);
                return(Json(new NBCMSResultJson
                {
                    Status = StatusType.Exception,
                    Data = ex.Message
                }));
            }
        }
示例#19
0
        void prepareEditModel(EditProductViewModel model, int id)
        {
            PrepareViewModel(model, EvolutionResources.bnrAddEditProduct + (model.Product.Id > 0 ? " - " + model.Product.ItemName : ""), id, MakeMenuOptionFlags(0, 0, 0, 0, model.Product.Id) + MenuOptionFlag.RequiresNewProduct);

            model.ProductAvailabilityList = LookupService.FindLOVItemsListItemModel(CurrentCompany, LOVName.ProductAvailability);
            model.MaterialList            = LookupService.FindLOVItemsListItemModel(CurrentCompany, LOVName.Material);
            model.ABList            = LookupService.FindLOVItemsListItemModel(CurrentCompany, LOVName.AB);
            model.UserList          = MembershipManagementService.FindUserListItemModel();
            model.ProductStatusList = new List <ListItemModel>();
            foreach (var item in LookupService.FindLOVItemsModel(null, LOVName.ProductStatus))
            {
                model.ProductStatusList.Add(new ListItemModel {
                    Id = item.ItemValue1, Text = item.ItemText
                });
            }
            model.WebCategoryList    = LookupService.FindLOVItemsListItemModel(CurrentCompany, LOVName.WebCategory);
            model.WebSubCategoryList = LookupService.FindLOVItemsListItemModel(CurrentCompany, LOVName.WebSubCategory);

            model.MediaPath = MediaServices.GetProductImageFolder(true);

            var bc = new Evolution.BarCodeService.BarCodeService(db);

            model.Product.BarCodeFile1 = bc.GetBarCode(model.Product.BarCode, true);
            model.Product.BarCodeFile2 = bc.GetBarCode(model.Product.InnerBarCode, true);
            model.Product.BarCodeFile3 = bc.GetBarCode(model.Product.MasterBarCode, true);
        }
示例#20
0
        public ProductMediaListModel FindProductMediaListModel(int id, int index)
        {
            var model = new ProductMediaListModel {
                GridIndex = index
            };

            var allItems = db.FindProductMedias(id);

            model.TotalRecords = allItems.Count();

            foreach (var item in allItems)
            {
                var media = MediaServices.MapToModel(item.Medium, MediaSize.Medium, (int)MediaSize.MediumW, (int)MediaSize.MediumH);

                var newItem = new ProductMediaModel {
                    Id        = item.Id,
                    ProductId = item.ProductId,
                    MediaId   = item.MediaId,
                    MediaFile = media.MediaFile,
                    MediaHtml = media.MediaHtml,
                    IsPrimary = (item.Id == item.Product.PrimaryMediaId ? true : false)
                };
                model.Items.Add(newItem);
            }

            return(model);
        }
 private void cmdSave_Click(object sender, RoutedEventArgs e)
 {
     if (_objMedia != null)
     {
         MediaServices.UpdatePath(_objMedia.Name, txtName.Text, txtPath.Text);
     }
     Close();
 }
示例#22
0
 public TestCommentPageViewModel()
 {
     ImageUrl           = "upload_image";
     AddCommentCommand  = new Command <Task>(async(Task task) => await AddComment());
     UpdateImageCommand = new Command <MediaFile>(async(MediaFile NewImage) => await UpdateImageCommandActAsync(NewImage));
     taskService        = new TaskServices();
     mediaServices      = new MediaServices();
     IsBusy             = false;
 }
示例#23
0
        private void AddGamez(string[] strTemp, string strTitle, string strFileName, string strFilePath)
        {
            Gamez objGames = new Gamez();

            objGames.Title      = strTitle;
            objGames.Ressources = new List <Ressource>();
            objGames.AddedDate  = DateTime.Now;
            #region File

            objGames.FileName = strFileName;
            objGames.FilePath = strFilePath;

            #endregion
            if (_mapping != null)
            {
                string strLanguage = Util.ConstructString(strTemp, (string[])_mapping["Language"], _nbrBaseParsing);
                objGames.Language = LanguageServices.GetLanguage(strLanguage, true);
            }

            objGames.Media = MediaServices.Get(_strMediaName.Trim(), _mediaType, _path,
                                               _cleanTitle, _entityType, _patternType, _useSubFolder, _bGetImage, _bParseNfo, true);
            #region Cover
            if (_bGetImage == true)
            {
                RessourcesServices.AddImage(Util.GetLocalImage(objGames.FilePath, objGames.FileName, _bFile), objGames, true);
            }
            #endregion
            if (string.IsNullOrEmpty(objGames.Title) == false)
            {
                bool bExist = false;
                if (Dal.GetInstance.GetGames(objGames.Media.Name, objGames.FilePath, objGames.FileName) != null)
                {
                    bExist = true;
                }


                if (bExist == false)
                {
                    #region ParseNfo

                    if (_bParseNfo == true)
                    {
                        string errorMessage;
                        GameServices.ParseNfo(objGames, out errorMessage);
                    }
                    #endregion
                    Dal.GetInstance.AddGame(objGames);

                    _intAddedItem++;
                }
                else
                {
                    _intNotAddedItem++;
                }
            }
        }
        public ActionResult Upload(FileUploadViewModel model, string command)
        {
            Server.ScriptTimeout = 600;     // Allow 10 minutes for an upload/import

            if (command.ToLower() == "upload")
            {
                if (model.Files != null && model.Files.Count() > 0)
                {
                    var targetFile = Path.GetTempPath();

                    var    attachment = model.Files.FirstOrDefault();
                    string fileName   = attachment.FileName;

                    if (!MediaServices.IsValidOrderImportType(fileName))
                    {
                        model.SetError(ErrorIcon.Error, EvolutionResources.errInvalidImportFile.Replace("%1", MediaServices.GetValidOrderImportTypes()));
                    }
                    else if (attachment != null && attachment.ContentLength > 0)
                    {
                        try {
                            targetFile += fileName.FileName();
                            attachment.SaveAs(targetFile);

                            var error = FileImportService.UploadFile(CurrentCompany, CurrentUser, targetFile,
                                                                     model.FirstLineContainsHeader);
                            if (error.IsError)
                            {
                                model.SetError(ErrorIcon.Error, error.Message);
                            }
                            else
                            {
                                // Display the table
                                var mappingsModel = new EditSaleImportDataMappingsViewModel();
                                prepareViewModel(mappingsModel);

                                mappingsModel.Data = FileImportService.GetData(CurrentCompany, CurrentUser);

                                SalesService.ValidateOrders(CurrentCompany, CurrentUser, mappingsModel.Data.Headings, mappingsModel.DisplayDateFormat);

                                mappingsModel.Data = FileImportService.GetData(CurrentCompany, CurrentUser);

                                return(View("ImportMappings", mappingsModel));
                            }
                        } catch (Exception e1) {
                            model.SetError(ErrorIcon.Error, EvolutionResources.errFailedToUploadFile.Replace("%1", fileName).Replace("%2", e1.Message));
                            LogService.WriteLog(e1, Request.RawUrl);
                        }
                    }

                    prepareViewModel(model);
                    return(View("SaleImport", model));
                }
            }

            return(RedirectToAction("Index"));
        }
 public CheckItemCommentPageViewModel(int id, CommentViewModel model)
 {
     _id                  = id;
     ImageUrl             = !String.IsNullOrWhiteSpace(model.ImageUrl) ? model.ImageUrl : "upload_image";
     Comment              = model.Description;
     UpdateCommentCommand = new Command(UpdateComment);
     UpdateImageCommand   = new Command <MediaFile>((MediaFile NewImage) => UpdateImageCommandAct(NewImage));
     mediaServices        = new MediaServices();
     IsBusy               = false;
 }
示例#26
0
        public override bool OnStart()
        {
            // set the maximum number of concurrent connections
            ServicePointManager.DefaultConnectionLimit = 12;

            _repository    = new Repository();
            _queueClient   = QueueConnector.GetQueueClient();
            _mediaServices = new MediaServices();
            _isStopped     = false;
            return(base.OnStart());
        }
示例#27
0
        public void GetMediaSizeStringTest()
        {
            string result   = MediaServices.GetMediaSizeString(0, 0),
                   expected = "";

            Assert.IsTrue(result == expected, $"Error: '{result}' was returned when '{result}' was expected");

            result   = MediaServices.GetMediaSizeString(640, 480);
            expected = " width=\"640\" height=\"480\"";
            Assert.IsTrue(result == expected, $"Error: '{result}' was returned when '{result}' was expected");
        }
示例#28
0
        public void InitCombo()
        {
            for (long i = 0; i < 21; i++)
            {
                cboRating.Items.Add(i);
            }

            cboMedia.ItemsSource    = MediaServices.GetNames();
            cboLanguage.ItemsSource = LanguageServices.GetLanguages();
            cboEditor.DataContext   = PublisherServices.GetPublishers("App_Editor");
            cboFormat.ItemsSource   = BookServices.GetFormats();
        }
示例#29
0
        public ActionResult Images(int id)
        {
            var model = new ProductImageUploadViewModel();

            model.Product           = ProductService.FindProductModel(id, 0, CurrentCompany);
            model.MaxUploadFileSize = GetMaxFileUploadSize();
            model.ValidFileTypes    = MediaServices.GetValidImageTypes();

            PrepareViewModel(model, EvolutionResources.bnrImages + (id == 0 ? "" : " - " + model.Product.ItemName),
                             id, MakeMenuOptionFlags(0, 0, 0, 0, id));

            return(View("Images", model));
        }
示例#30
0
        public Error DeleteProductMedia(int id)
        {
            var error = new Error();

            var prodMedia = db.FindProductMedia(id);
            var media     = MediaServices.MapToModel(prodMedia.Medium, MediaSize.Small, 0, 0);

            db.DeleteProductMedia(id);

            MediaServices.DeleteMedia(media);

            return(error);
        }