Beispiel #1
0
        private string ResolveLocation()
        {
            string resolvedContent          = MediaHelper.SendWebRequest(string.Format(ResolveUrlFormat, this.Url));
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            dynamic responseJsonObject      = serializer.Deserialize <object>(resolvedContent);

            if (responseJsonObject["status"] != FoundStatus || !((string)responseJsonObject["location"]).Contains("tracks"))
            {
                throw new ArgumentException("Sound not found, check if the url is correct " + this.Url);
            }

            string location = responseJsonObject["location"];

            return(location);
        }
        public async Task <ActionResult <MediaContent> > AddMediaStreamed([FromForm(Name = "mediaContent")] IFormFile mediaFile, string folderId)
        {
            if (mediaFile == null || mediaFile.Length == 0)
            {
                throw new InvalidOperationException("Empty input file");
            }

            return(Ok(await _mediaLibraryService.AddMedia(new MediaCreationRequest
            {
                Name = mediaFile.FileName,
                ContentType = mediaFile.ContentType,
                FolderId = folderId,
                MediaContent = MediaHelper.GetBase64FileContent(mediaFile),
            })));
        }
Beispiel #3
0
        public void Configure(TypeAdapterConfig config)
        {
            config.NewConfig <Media, MediaVM>()
            .Map(x => x.ThumbnailPath, x => MediaHelper.GetSizedMediaPath(x.Path, MediaSize.Small))
            .Map(x => x.FullPath, x => MediaHelper.GetSizedMediaPath(x.Path, MediaSize.Large))
            .Map(x => x.Description, x => x.Description)
            .Map(x => x.Date, x => x.Date)
            .Map(x => x.OverlayTags, x => x.Tags.Where(y => y.Type == TagBindingType.Depicted))
            .Map(x => x.ExtraTags, x => x.Tags.Where(y => y.Type == TagBindingType.Author || y.Type == TagBindingType.Custom));

            config.NewConfig <MediaVM, Media>()
            .Map(x => x.Description, x => x.Description)
            .Map(x => x.Date, x => x.Date)
            .IgnoreNonMapped(true);
        }
Beispiel #4
0
        public NoteViewModel()
        {
            _mediaHelper     = new MediaHelper();
            _transformHelper = new TransformHelper();
            Photos           = new ObservableCollection <PhotoViewModel>();
            Videos           = new ObservableCollection <VideoModel>();

            TakePhotoCommand   = new Command(async() => await TakePhotoCommandExecute());
            DeletePhotoCommand = new Command <int>(DeletePhotoCommandExecute);
            TakeVideoCommand   = new Command(async() => await TakeVideoCommandExecute());
            PickPhotoCommand   = new Command <PlatformDocument>(async document => await PickPhotoCommandExecute(document));
            CreateNoteCommand  = new Command(CreateNoteCommandExecute);
            UpdateNoteCommand  = new Command(UpdateNoteCommandExecute);
            DeleteNoteCommand  = new Command(note => DeleteNoteCommandExecute());
        }
Beispiel #5
0
 protected void Page_PreRender(object sender, EventArgs e)
 {
     if (MediaHelper.IsFlash(Type))
     {
         CreateFlash();
     }
     else if (ImageHelper.IsImage(Type))
     {
         CreateImage();
     }
     else
     {
         CreateMedia();
     }
 }
Beispiel #6
0
        public MergeOperation(IEnumerable <String> SourceFiles, bool verbose = false)
        {
            this.SourceFiles = SourceFiles;
            if (!verbose)
            {
                this.Verbose = $"-hide_banner -loglevel panic -nostats";
            }

            string filePath = $"{SourceFiles.ElementAt(0)}";

            workingDir = Path.GetDirectoryName(filePath);

            this.formatDescriptions = MediaHelper.GetMediaInfo(filePath).Format;
            this.PrepareMetadataFile(this.formatDescriptions);
        }
Beispiel #7
0
 public void LikeMusic(Music music)
 {
     if (MyFavorites.Contains(music))
     {
         return;
     }
     music.Favorite = true;
     MyFavorites.Add(music);
     FindAllMusicAndOperate(music, m => m.CopyFrom(music));
     MediaHelper.LikeMusic(music);
     foreach (var listener in LikeMusicListeners)
     {
         listener.MusicLiked(music, true);
     }
 }
        public ActionResult Edit(MessageTemplateModel model, bool continueEditing)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageMessageTemplates))
            {
                return(AccessDeniedView());
            }

            var messageTemplate = _messageTemplateService.GetMessageTemplateById(model.Id);

            if (messageTemplate == null)
            {
                return(RedirectToAction("List"));
            }

            if (ModelState.IsValid)
            {
                messageTemplate = model.ToEntity(messageTemplate);

                MediaHelper.UpdateDownloadTransientStateFor(messageTemplate, x => x.Attachment1FileId);
                MediaHelper.UpdateDownloadTransientStateFor(messageTemplate, x => x.Attachment2FileId);
                MediaHelper.UpdateDownloadTransientStateFor(messageTemplate, x => x.Attachment3FileId);

                _messageTemplateService.UpdateMessageTemplate(messageTemplate);

                // Stores
                SaveStoreMappings(messageTemplate, model);

                // locales
                UpdateLocales(messageTemplate, model);

                NotifySuccess(_localizationService.GetResource("Admin.ContentManagement.MessageTemplates.Updated"));
                return(continueEditing ? RedirectToAction("Edit", messageTemplate.Id) : RedirectToAction("List"));
            }

            // If we got this far, something failed, redisplay form
            PrepareLastModelTree(messageTemplate);

            // Available email accounts
            foreach (var ea in _emailAccountService.GetAllEmailAccounts())
            {
                model.AvailableEmailAccounts.Add(ea.ToModel());
            }

            // Store
            PrepareStoresMappingModel(model, messageTemplate, true);

            return(View(model));
        }
    public override void LoadProperties(Hashtable properties)
    {
        if (properties != null)
        {
            // Display the properties
            pnlEmpty.Visible = false;
            pnlTabs.CssClass = "Dialog_Tabs";


            #region "Image general tab"

            // Display size selector only if required or image
            string ext = ValidationHelper.GetString(properties[DialogParameters.URL_EXT], "");

            CurrentIsImage = ImageHelper.IsImage(ext);
            CurrentIsMedia = !CurrentIsImage ? (MediaHelper.IsAudioVideo(ext) || MediaHelper.IsFlash(ext)) : false;


            if (tabImageGeneral.Visible)
            {
                string url      = ValidationHelper.GetString(properties[DialogParameters.URL_URL], "");
                string fileName = ValidationHelper.GetString(properties[DialogParameters.FILE_NAME], "");
                long   fileSize = ValidationHelper.GetLong(properties[DialogParameters.FILE_SIZE], 0);

                lblUrlText.Text  = url;
                lblNameText.Text = AttachmentHelper.GetFullFileName(Path.GetFileNameWithoutExtension(fileName), ext);

                if ((plcSizeArea.Visible = CurrentIsImage))
                {
                    lblSizeText.Text = DataHelper.GetSizeString(fileSize);
                }

                ViewState[DialogParameters.IMG_SIZETOURL] = ValidationHelper.GetBoolean(properties[DialogParameters.IMG_SIZETOURL], false);
            }

            #endregion


            #region "General items"

            ViewState[DialogParameters.URL_EXT] = (properties[DialogParameters.URL_EXT] != null ? ValidationHelper.GetString(properties[DialogParameters.URL_EXT], "") : ValidationHelper.GetString(properties[DialogParameters.IMG_EXT], ""));
            ViewState[DialogParameters.URL_URL] = ValidationHelper.GetString(properties[DialogParameters.URL_URL], "");

            EditorClientID = ValidationHelper.GetString(properties[DialogParameters.EDITOR_CLIENTID], "");

            #endregion
        }
    }
Beispiel #10
0
        public static async void HandleCommand(string text)
        {
            string play = Helper.Localize("Play");

            if (text.StartsWith(play))
            {
                string keyword = text.Substring(play.Length);
                var    result  = await SearchHelper.Search(keyword);

                if (result.Result == null)
                {
                    Helper.ShowNotification("NoResults");
                    return;
                }
                switch (result.SearchType)
                {
                case SearchType.Artists:
                    Playlist artist = result.Result as Playlist;
                    MediaHelper.ShuffleAndPlay(artist.Songs);
                    Helper.ShowNotificationWithoutLocalization(Helper.LocalizeMessage("SearchResultArtist", artist.Name), 5000);
                    break;

                case SearchType.Albums:
                    AlbumView album = result.Result as AlbumView;
                    MediaHelper.ShuffleAndPlay(album.Songs);
                    Helper.ShowNotificationWithoutLocalization(Helper.LocalizeMessage("SearchResultAlbum", album.Name), 5000);
                    break;

                case SearchType.Playlists:
                    AlbumView playlist = result.Result as AlbumView;
                    MediaHelper.ShuffleAndPlay(playlist.Songs);
                    Helper.ShowNotificationWithoutLocalization(Helper.LocalizeMessage("SearchResultPlaylist", playlist.Name), 5000);
                    break;

                case SearchType.Folders:
                    GridFolderView folder = result.Result as GridFolderView;
                    MediaHelper.ShuffleAndPlay(folder.Songs);
                    Helper.ShowNotificationWithoutLocalization(Helper.LocalizeMessage("SearchResultFolder", folder.Name), 5000);
                    break;

                case SearchType.Songs:
                    Music music = result.Result as Music;
                    MediaHelper.SetMusicAndPlay(music);
                    Helper.ShowNotificationWithoutLocalization(Helper.LocalizeMessage("SearchResultMusic", music.Name), 5000);
                    break;
                }
            }
        }
        public void Process(GetMediaStreamPipelineArgs args)
        {
            if (!ShouldProcess(args))
            {
                return;
            }

            var         helper          = new MediaHelper(args.MediaData.MediaItem);
            MediaStream thumbnailStream = helper.GetThumbnailStream();

            if (thumbnailStream != null)
            {
                args.OutputStream = thumbnailStream;
                args.AbortPipeline();
            }
        }
Beispiel #12
0
        public bool Execute(RestoreMediaVersionRequest request)
        {
            var imageToRevert = Repository
                                .AsQueryable <MediaImage>(i => i.Id == request.VersionId)
                                .Fetch(f => f.Original)

                                .FirstOrDefault();

            if (imageToRevert != null)
            {
                var currentOriginal = Repository
                                      .AsQueryable <MediaImage>(i => imageToRevert.Original != null && i.Id == imageToRevert.Original.Id)
                                      .Fetch(f => f.Original)
                                      .FirstOrDefault();

                if (currentOriginal != null)
                {
                    var archivedImage    = imageService.MoveToHistory(currentOriginal);
                    var newOriginalImage = imageService.MakeAsOriginal(imageToRevert, currentOriginal, archivedImage, request.ShouldOverridUrl);
                    Events.MediaManagerEvents.Instance.OnMediaRestored(newOriginalImage);
                }

                return(true);
            }

            var versionToRevert = Repository.AsQueryable <Media>(p => p.Id == request.VersionId).Fetch(f => f.Original).First();

            var original = versionToRevert.Original;

            if (original != null)
            {
                UnitOfWork.BeginTransaction();
                Repository.Save(original.CreateHistoryItem());
                versionToRevert.CopyDataTo(original, false);
                MediaHelper.SetCollections(Repository, versionToRevert, original);
                original.Original    = null;
                original.PublishedOn = DateTime.Now;
                Repository.Save(original);
                UnitOfWork.Commit();

                Events.MediaManagerEvents.Instance.OnMediaRestored(original);

                return(true);
            }

            return(false);
        }
Beispiel #13
0
        public ActionResult Create(ManufacturerModel model, bool continueEditing)
        {
            if (ModelState.IsValid)
            {
                var manufacturer = model.ToEntity();

                MediaHelper.UpdatePictureTransientStateFor(manufacturer, m => m.MediaFileId);

                _manufacturerService.InsertManufacturer(manufacturer);

                model.SeName = manufacturer.ValidateSeName(model.SeName, manufacturer.Name, true);
                _urlRecordService.SaveSlug(manufacturer, model.SeName, 0);

                UpdateLocales(manufacturer, model);

                var allDiscounts = _discountService.GetAllDiscounts(DiscountType.AssignedToManufacturers, null, true);
                foreach (var discount in allDiscounts)
                {
                    if (model.SelectedDiscountIds != null && model.SelectedDiscountIds.Contains(discount.Id))
                    {
                        manufacturer.AppliedDiscounts.Add(discount);
                    }
                }

                var hasDiscountsApplied = manufacturer.AppliedDiscounts.Count > 0;
                if (hasDiscountsApplied)
                {
                    manufacturer.HasDiscountsApplied = manufacturer.AppliedDiscounts.Count > 0;
                    _manufacturerService.UpdateManufacturer(manufacturer);
                }

                UpdatePictureSeoNames(manufacturer);
                SaveAclMappings(manufacturer, model.SelectedCustomerRoleIds);
                SaveStoreMappings(manufacturer, model.SelectedStoreIds);

                _customerActivityService.InsertActivity("AddNewManufacturer", T("ActivityLog.AddNewManufacturer"), manufacturer.Name);

                NotifySuccess(T("Admin.Catalog.Manufacturers.Added"));
                return(continueEditing ? RedirectToAction("Edit", new { id = manufacturer.Id }) : RedirectToAction("List"));
            }

            // If we got this far, something failed, redisplay form.
            PrepareTemplatesModel(model);
            PrepareManufacturerModel(model, null);

            return(View(model));
        }
        public async Task <IViewComponentResult> InvokeAsync()
        {
            AddJS("MediaManagement", "/cbuilderassets/js/SageMediaManagement.js");
            AddCSS("MediaMgmt", "/cbuilderassets/css/MediaManagement.css");

            MediaLibraryInfo libraryInfo   = new MediaLibraryInfo();
            MediaCategory    mediaCategory = new MediaCategory(); //Get Username here later

            MediaSettingController settingController = new MediaSettingController();
            MediaSettingKeys       mediaSettingKeys  = await settingController.GetMediaSettingKeyValue();

            libraryInfo.MediaSettingKeys = mediaSettingKeys;
            libraryInfo.MediaFolderList  = MediaHelper.GetMediaFolderList(mediaCategory, mediaSettingKeys);
            PackMediaJs();

            return(await Task.FromResult((IViewComponentResult)View("Default", libraryInfo)));
        }
        public ActionResult Add(AddOrEditProductViewModel vm)
        {
            if (ModelState.IsValid && ExtraModelValidation(vm))
            {
                var product = Mapper.Map <Product>(vm);
                if (ProductService.Add(product) != 0)
                {
                    MediaHelper.SaveImages(vm, product.Id);
                    return(RedirectToAction("Index", "Dashboard"));
                }

                ModelState.AddModelError("", "An error occurred, product has not been created. Please contact the administrator.");
            }

            vm.Categories = GetCategories();
            return(View(vm));
        }
Beispiel #16
0
    /// <summary>
    /// Creates the image object
    /// </summary>
    private void CreateImage()
    {
        ImageParameters imgParams = new ImageParameters();

        if (Url != null)
        {
            imgParams.Url       = URLHelper.GetAbsoluteUrl(Url);
            imgParams.Extension = Type;
            imgParams.Width     = Width;
            imgParams.Height    = Height;
            imgParams.Id        = HttpUtility.UrlDecode(Id);
            imgParams.Tooltip   = HttpUtility.UrlDecode(Title);
            imgParams.Class     = HttpUtility.UrlDecode(Class);
            imgParams.Style     = HttpUtility.UrlDecode(Style);
        }
        ltlMedia.Text = MediaHelper.GetImage(imgParams);
    }
        private NewsViewModel GetDetails(Entities.News news)
        {
            var details = news.Map <NewsViewModel>();

            details.Media                = MediaHelper.GetMediaUrls(news.MediaIds);
            details.CanEdit              = _newsService.CanEdit(news);
            details.Links                = _feedLinkService.GetLinks(news.Id);
            details.IsReadOnly           = false;
            details.HeaderInfo           = news.Map <IntranetActivityDetailsHeaderViewModel>();
            details.HeaderInfo.Dates     = news.PublishDate.ToDateTimeFormat().ToEnumerable();
            details.HeaderInfo.Owner     = _memberService.Get(news).ToViewModel();
            details.Tags                 = _userTagService.Get(news.Id);
            details.AvailableTags        = _userTagProvider.GetAll();
            details.LightboxPreviewModel = _lightboxHelper.GetGalleryPreviewModel(news.MediaIds, PresetStrategies.ForActivityDetails);

            return(details);
        }
    protected void Page_PreRender(object sender, EventArgs e)
    {
        // Render YouTube preview only if Url is set
        if (!string.IsNullOrEmpty(Url))
        {
            YouTubeVideoParameters ytParams = new YouTubeVideoParameters();
            ytParams.Url           = Url;
            ytParams.FullScreen    = Fs;
            ytParams.AutoPlay      = AutoPlay;
            ytParams.Loop          = Loop;
            ytParams.RelatedVideos = Rel;
            ytParams.Width         = Width;
            ytParams.Height        = Height;

            ltlYouTube.Text = MediaHelper.GetYouTubeVideo(ytParams);
        }
    }
Beispiel #19
0
        public ActionResult Edit(BlogPostModel model, bool continueEditing, FormCollection form)
        {
            var blogPost = _blogService.GetBlogPostById(model.Id);

            if (blogPost == null)
            {
                return(RedirectToAction("List"));
            }

            if (ModelState.IsValid)
            {
                blogPost = model.ToEntity(blogPost);

                MediaHelper.UpdatePictureTransientStateFor(blogPost, c => c.MediaFileId);
                MediaHelper.UpdatePictureTransientStateFor(blogPost, c => c.PreviewMediaFileId);

                blogPost.CreatedOnUtc = model.CreatedOnUtc;
                blogPost.StartDateUtc = model.StartDate;
                blogPost.EndDateUtc   = model.EndDate;

                _blogService.UpdateBlogPost(blogPost);

                // Search engine name.
                var seName = blogPost.ValidateSeName(model.SeName, model.Title, true);
                _urlRecordService.SaveSlug(blogPost, seName, blogPost.LanguageId);

                SaveStoreMappings(blogPost, model.SelectedStoreIds);

                Services.EventPublisher.Publish(new ModelBoundEvent(model, blogPost, form));
                NotifySuccess(T("Admin.ContentManagement.Blog.BlogPosts.Updated"));

                return(continueEditing ? RedirectToAction("Edit", new { id = blogPost.Id }) : RedirectToAction("List"));
            }

            ViewBag.AllLanguages = _languageService.GetAllLanguages(true);

            // Tags
            var allTags = _blogService.GetAllBlogPostTags(0, 0, true).Select(x => x.Name).ToList();

            model.AvailableTags = new MultiSelectList(allTags, model.AvailableTags);
            model.Tags          = blogPost.Tags.SplitSafe(",");

            PrepareStoresMappingModel(model, blogPost, true);

            return(View(model));
        }
Beispiel #20
0
        private void btnLoad_Click(object sender, RoutedEventArgs e)
        {
            if (!Directory.Exists(txtBundleDir.Text))
            {
                MessageBox.Show("Directory doesn't exist!", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            string[] scripts = Directory.GetFiles(txtBundleDir.Text, "*.funscript");

            List <ResultSet> results = new List <ResultSet>();

            List <string> additionalPaths = new List <string> {
                txtVideoDir.Text
            };

            additionalPaths.AddRange(Directory.GetDirectories(txtVideoDir.Text));

            foreach (string script in scripts)
            {
                string video = FileFinder.FindFile(script, _supportedMediaExtensions, additionalPaths.ToArray());
                if (String.IsNullOrWhiteSpace(video))
                {
                    Debug.WriteLine("No Video found for " + Path.GetFileNameWithoutExtension(script));

                    results.Add(new ResultSet
                    {
                        MediaBaseName = Path.GetFileNameWithoutExtension(script),
                        Duration      = null
                    });

                    continue;
                }

                results.Add(new ResultSet
                {
                    MediaBaseName = Path.GetFileNameWithoutExtension(script),
                    Duration      = MediaHelper.GetDuration(video)
                });
            }

            results.Sort((a, b) => StringComparer.Ordinal.Compare(a.MediaBaseName, b.MediaBaseName));

            Data = new ObservableCollection <ResultSet>(results);
        }
Beispiel #21
0
        public override async Task <IHttpActionResult> Post(BlogPost entity)
        {
            int tenantId = GetTenantId();

            entity.TenantId = tenantId;

            if (!CanModifyEntity(entity))
            {
                return(Unauthorized());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            entity.DateCreatedUtc  = DateTime.UtcNow;
            entity.UserId          = workContext.Value.CurrentUser.Id;
            entity.FullDescription = MediaHelper.EnsureCorrectUrls(entity.FullDescription);

            var tags = entity.Tags;

            entity.Tags = null;

            SetNewId(entity);

            OnBeforeSave(entity);
            await Service.InsertAsync(entity);

            var result = Created(entity);

            if (!tags.IsNullOrEmpty())
            {
                var toInsert = tags.Select(x => new BlogPostTag
                {
                    PostId = entity.Id,
                    TagId  = x.TagId
                });
                postTagService.Value.Insert(toInsert);
            }

            OnAfterSave(entity);

            return(result);
        }
Beispiel #22
0
    /// <summary>
    /// Creates the media (audio / video) object
    /// </summary>
    private void CreateMedia()
    {
        AudioVideoParameters avParams = new AudioVideoParameters();

        if (Url != null)
        {
            avParams.SiteName  = SiteContext.CurrentSiteName;
            avParams.Url       = URLHelper.GetAbsoluteUrl(Url);
            avParams.Extension = Type;
            avParams.Width     = Width;
            avParams.Height    = Height;
            avParams.AutoPlay  = AutoPlay;
            avParams.Loop      = Loop;
            avParams.Controls  = AVControls;
        }

        ltlMedia.Text = MediaHelper.GetAudioVideo(avParams);
    }
        public ActionResult Create(StoreModel model, bool continueEditing)
        {
            if (ModelState.IsValid)
            {
                var store = model.ToEntity();
                MediaHelper.UpdatePictureTransientStateFor(store, s => s.LogoMediaFileId);

                // Ensure we have "/" at the end.
                store.Url = store.Url.EnsureEndsWith("/");
                Services.StoreService.InsertStore(store);

                NotifySuccess(T("Admin.Configuration.Stores.Added"));
                return(continueEditing ? RedirectToAction("Edit", new { id = store.Id }) : RedirectToAction("List"));
            }

            PrepareStoreModel(model, null);
            return(View(model));
        }
Beispiel #24
0
        async void BtnPickPhotoClicked(object sender, EventArgs args)
        {
            //if (Core.Settings.SimulationMode) return;
            try
            {
                var image = await MediaHelper.GetMedia(MediaAction.PickPhotoFromGallery);

                if (image != null)
                {
                    UpdateUserPhoto(image?.GetStream());
                    image.Dispose();
                }
            }
            catch (Exception e)
            {
                //Log.Add(e, "Profile.OnBtnPickPhotoClicked");
            }
        }
Beispiel #25
0
    /// <summary>
    /// Render control
    /// </summary>
    /// <param name="writer">Writer</param>
    protected override void Render(HtmlTextWriter writer)
    {
        // Render YouTube preview only if Url is set
        if (!string.IsNullOrEmpty(Url))
        {
            YouTubeVideoParameters ytParams = new YouTubeVideoParameters();
            ytParams.Url           = Url;
            ytParams.FullScreen    = Fs;
            ytParams.AutoPlay      = AutoPlay;
            ytParams.RelatedVideos = Rel;
            ytParams.Width         = Width;
            ytParams.Height        = Height;

            writer.Write(MediaHelper.GetYouTubeVideo(ytParams));
        }

        base.Render(writer);
    }
Beispiel #26
0
        public AddPetPageViewModel(INavigationService navigationService, IPageDialogService dialogService) : base(navigationService)
        {
            NewPet         = new Pet();
            ApiService     = new ApiService();
            ImageSource    = ImageSource.FromUri(new Uri("https://icon-library.net/images/pet-icon-png/pet-icon-png-25.jpg"));
            _dialogService = dialogService;
            MediaHelper    = new MediaHelper(dialogService);

            AddPetCommand = new DelegateCommand(async() =>
            {
                await AddPetAsync();
            });

            AddProfilePictureCommand = new DelegateCommand(async() =>
            {
                await AddProfilePicture();
            });
        }
        public void Process(MediaProcessorArgs args)
        {
            Assert.ArgumentNotNull(args, "args");
            Log.Debug("Generating Thumbnails for uploaded File Based uploads", this);

            var sw = new Stopwatch();

            sw.Start();

            foreach (Item file in args.UploadedItems.Where(file => file.Paths.IsMediaItem))
            {
                var helper = new MediaHelper(file);
                helper.GenerateThumbnail();
            }

            sw.Stop();
            Log.Debug("Finished generating thumbnails: " + sw.Elapsed, this);
        }
        public ActionResult Create(ManufacturerModel model, bool continueEditing)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageCatalog))
            {
                return(AccessDeniedView());
            }

            if (ModelState.IsValid)
            {
                var manufacturer = model.ToEntity();
                manufacturer.CreatedOnUtc = DateTime.UtcNow;
                manufacturer.UpdatedOnUtc = DateTime.UtcNow;

                MediaHelper.UpdatePictureTransientStateFor(manufacturer, m => m.PictureId);

                _manufacturerService.InsertManufacturer(manufacturer);

                //search engine name
                model.SeName = manufacturer.ValidateSeName(model.SeName, manufacturer.Name, true);
                _urlRecordService.SaveSlug(manufacturer, model.SeName, 0);

                //locales
                UpdateLocales(manufacturer, model);

                //update picture seo file name
                UpdatePictureSeoNames(manufacturer);

                //Stores
                _storeMappingService.SaveStoreMappings <Manufacturer>(manufacturer, model.SelectedStoreIds);

                //activity log
                _customerActivityService.InsertActivity("AddNewManufacturer", _localizationService.GetResource("ActivityLog.AddNewManufacturer"), manufacturer.Name);

                NotifySuccess(_localizationService.GetResource("Admin.Catalog.Manufacturers.Added"));
                return(continueEditing ? RedirectToAction("Edit", new { id = manufacturer.Id }) : RedirectToAction("List"));
            }

            //If we got this far, something failed, redisplay form
            //templates
            PrepareTemplatesModel(model);
            PrepareManufacturerModel(model, null, true);

            return(View(model));
        }
Beispiel #29
0
        public async Task <ActionResult <Product> > Create(ProductDTO data)
        {
            if (!string.IsNullOrEmpty(data.ImageData))
            {
                var imageResult = await MediaHelper.UploadMediaAsync("product", data.ImageData);

                if (imageResult != null)
                {
                    data.PictureUrl = imageResult.Data.Path;
                }
            }

            var result = await this.Mediator.Send(new CreateProductCommand
            {
                Data = data
            });

            return(ResponseHelper.ResponseOutcome <ProductDTO>(result, this));
        }
        protected SocialExtendedViewModel GetViewModel(Entities.Social social)
        {
            var viewModel = social.Map <SocialViewModel>();

            viewModel.Media = MediaHelper.GetMediaUrls(social.MediaIds);

            viewModel.LightboxPreviewModel = _lightboxHelper.GetGalleryPreviewModel(social.MediaIds, PresetStrategies.ForActivityDetails);
            viewModel.CanEdit          = _socialService.CanEdit(social);
            viewModel.Links            = _feedLinkService.GetLinks(social.Id);
            viewModel.IsReadOnly       = false;
            viewModel.HeaderInfo       = social.Map <IntranetActivityDetailsHeaderViewModel>();
            viewModel.HeaderInfo.Dates = social.PublishDate.ToDateTimeFormat().ToEnumerable();
            viewModel.HeaderInfo.Owner = _memberService.Get(social).ToViewModel();
            viewModel.HeaderInfo.Links = _feedLinkService.GetLinks(social.Id);

            var extendedModel = viewModel.Map <SocialExtendedViewModel>();

            return(extendedModel);
        }
Beispiel #31
0
        private Element CreateDataItemElement(DataItem item)
        {
            Element element;

            if ((item.Data.StartsWith (server.CurrentPath)) ||
                (item.Data.StartsWith (ASSETS_LIBRARY)) ||
                (item.Data.StartsWith (BaseDir))) {
                var dataElement = new DataImageStringElement (
                    Path.GetFileName (String.IsNullOrEmpty(item.ItemPath) ? item.Data : item.ItemPath),
                    (item.Direction == DataItemDirection.In) ? imgDownload : imgUpload,
                    item.Data
                    );
                dataElement.Tapped += delegate {
                    if (!dataElement.Downloading)
                    {
                        OpenFile (dataElement.Data, item);
                    }
                };
                dataElement.Alignment = (item.Direction == DataItemDirection.In) ? UITextAlignment.Right : UITextAlignment.Left;
                if (item.Data.StartsWith (server.CurrentPath)) {
                    dataElement.Animating = true;
                    dataElement.Downloading = true;
                    var localFilePath = Path.Combine (
                        BaseDir,
                        dataElement.Caption);
                    Server.DownloadFileAsync (dataElement.Data,
                        (s, e) => {
                        var bytes = e.Result;
                        if (bytes == null)
                            throw e.Error;
                        var mediaHelper = new MediaHelper ();
                        mediaHelper.FileSavedToPhotosAlbum += (sender, args) => {
                            dataElement.Data = args.ReferenceUrl;
                            item.ItemPath = args.FilePath;
                            item.Data = dataElement.Data;
                            dataElement.Animating = false;
                            dataElement.Downloading = false;
                        };
                        mediaHelper.SaveFileToPhotosAlbum (localFilePath, bytes);
                    }
                    );
                } else {
                    dataElement.Animating = false;
                }

                element = (Element)dataElement;
            } else {
                UITextAlignment alignment = (item.Direction == DataItemDirection.In) ? UITextAlignment.Right : UITextAlignment.Left;
                var htmlElement = UIHelper.CreateHtmlViewElement (
                    null,
                    item.Data,
                    alignment
                    );
                element = (Element)htmlElement;
            }

            return element;
        }