Esempio n. 1
0
        public ActionResult BMBuildingUploadAssets()
        {
            //guard clause
            if (Request.Files == null || Request.Files.Count == 0)
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }

            //check if request has valid keys
            var requestResult = BuildingRequestHelper.GetRequestResult(Request);

            if (!requestResult.IsValid)
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }

            IList <MediaViewModel> uploadedMediaList = null;

            var account  = _accountRepo.GetById(requestResult.AccountId);
            var building = _buildingRepo.GetById(requestResult.BuildingId);

            if (account != null && building != null)
            {
                var result = MediaManager.CreateFolder(account.Name, account.Id, building.Name, building.Id);
                if (result.MediaBuildingFolderId > 0)
                {
                    var mediaList = MediaManager.UploadMediaFiles(Request.Files, building.Id, result.MediaBuildingFolderId);
                    if (mediaList != null && mediaList.Count > 0)
                    {
                        uploadedMediaList = mediaList.Select(x =>
                        {
                            var url = Umbraco.TypedMedia(x.Id) != null ? Umbraco.TypedMedia(x.Id).Url : "";
                            return(MediaViewModel.CreateModel(x, url));
                        }).ToList();
                    }
                }
            }

            return(new JsonResult
            {
                Data = new
                {
                    hasData = uploadedMediaList.Count > 0,
                    list = uploadedMediaList
                },
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Esempio n. 2
0
        public ActionResult BMBuildingAssets()
        {
            var requestResult = BuildingRequestHelper.GetRequestResult(Request);

            if (!requestResult.IsValid)
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }

            //find building from custom table;
            var building = _buildingRepo.GetById(requestResult.BuildingId);
            IList <MediaViewModel> uploadedMediaList = null;

            if (building != null && building.AccountId == requestResult.AccountId)
            {
                var list = MediaManager.GetBuildingMediaAssets(building.Id);
                list = list.OrderBy(i => i.SortOrder).ToList();
                if (list != null && list.Count > 0)
                {
                    uploadedMediaList = list.Select(x =>
                    {
                        var url = Umbraco.TypedMedia(x.Id) != null ? Umbraco.TypedMedia(x.Id).Url : "";
                        return(MediaViewModel.CreateModel(x, url));
                    }).ToList();
                }
            }

            return(new JsonResult
            {
                Data = new
                {
                    list = uploadedMediaList
                },
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }