예제 #1
0
        public async Task <IActionResult> Create(CreateAssetViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = _userManager.GetCurrentUser(HttpContext);

            user.Pin = model.Pin;

            var asset = new Asset
            {
                Name = model.Name,
                Data = model.Data
            };

            var assetService = await _serviceFactory.GetAsync <AssetService>(HttpContext);

            var newAsset = await assetService.CreateAssetAsync(asset, user);

            await _assetRepository.CreateAsync(newAsset);

            return(RedirectToAction("index"));
        }
예제 #2
0
        public ActionResult Create(CreateAssetViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return Create();
            }

            var newAsset = new Asset()
            {
                Name = viewModel.Name
            };

            _assetRepo.Add(newAsset);
            _assetRepo.SaveChanges();
            return Redirect(Url.Show(newAsset));
        }
예제 #3
0
        /// <summary>
        /// Creates the asset view model from create asset view model.
        /// </summary>
        /// <param name="createAssetViewModel">The create asset view model.</param>
        /// <returns></returns>
        private static AssetViewModel CreateAssetViewModelFromCreateAssetViewModel(CreateAssetViewModel createAssetViewModel)
        {
            if (createAssetViewModel != null && (!string.IsNullOrEmpty(createAssetViewModel.Path) || createAssetViewModel.UploadFile != null))
            {
                switch (createAssetViewModel.AssetType)
                {
                case (int)AssetTypeEnum.Image:
                    return(new ImageViewModel());

                case (int)AssetTypeEnum.Document:
                    return(new DocumentViewModel());

                case (int)AssetTypeEnum.Video:
                    return(new VideoViewModel());
                }
            }
            return(null);
        }
예제 #4
0
        /// <summary>
        /// Creates the asset view model from create asset view model.
        /// </summary>
        /// <param name="createAssetViewModel">The create asset view model.</param>
        /// <param name="uploadPath">The upload path.</param>
        /// <param name="companyId">The company id.</param>
        /// <param name="fileManagerAdapter">The file manager adapter.</param>
        /// <returns></returns>
        public static AssetViewModel CreateAssetViewModelFromCreateAssetViewModel(CreateAssetViewModel createAssetViewModel, string uploadPath, int companyId, IFileManagerAdapter fileManagerAdapter)
        {
            AssetViewModel assetViewModel = CreateAssetViewModelFromCreateAssetViewModel(createAssetViewModel);

            if (assetViewModel != null)
            {
                bool isWebUrl = !string.IsNullOrEmpty(createAssetViewModel.Path) ? true : false;
                assetViewModel.AssetType = createAssetViewModel.AssetType;
                assetViewModel.Name      = createAssetViewModel.Name;
                assetViewModel.CompanyId = companyId;
                assetViewModel.Path      = isWebUrl
                        ? createAssetViewModel.Path
                        : fileManagerAdapter.Save(createAssetViewModel.UploadFile, uploadPath);
                assetViewModel.ContentType = fileManagerAdapter.GetContentType(createAssetViewModel.UploadFile);
                if (assetViewModel is VideoViewModel)
                {
                    ((VideoViewModel)assetViewModel).AlternatePath        = fileManagerAdapter.Save(createAssetViewModel.AlternateUploadFile, uploadPath);
                    ((VideoViewModel)assetViewModel).AlternateContentType = fileManagerAdapter.GetContentType(createAssetViewModel.AlternateUploadFile);
                }
            }
            return(assetViewModel);
        }
예제 #5
0
        /// <summary>
        /// Creates the asset.
        /// </summary>
        /// <param name="assetViewModel">The asset view model.</param>
        public void CreateAsset(CreateAssetViewModel createAssetViewModel, string uploadPath, int companyId)
        {
            try
            {
                AssetViewModel assetviewModel = AssetViewModelFactory.CreateAssetViewModelFromCreateAssetViewModel(createAssetViewModel, uploadPath, companyId, FileManager);

                if (assetviewModel.AssetType == 1)
                {
                    if (IsYoutubeVideo(assetviewModel))
                    {
                        assetviewModel = embedYoutubeVideo(assetviewModel);
                    }
                }


                Asset asset = AssetViewModelFactory.CreateFromViewModelModel(assetviewModel, ObjectMapper);
                AssetManager.Add(asset);
            }
            catch (Exception ex)
            {
                ExceptionManager.HandleException(ex, PolicyNameType.ExceptionReplacing);
            }
        }
예제 #6
0
        public ActionResult Create()
        {
            var viewModel = new CreateAssetViewModel();

            return View(viewModel);
        }