public async Task <ActionResult> SaveMedia(MediaEditModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new { success = false, message = GetModelStateErrors() }));
            }

            UpdateBaseInfo(model.IsEdit, model.Entity);
            var request = new SaveRequest <Media>
            {
                IsEdit = model.IsEdit,
                UserId = _sessionHelper.CurrentUserId,
                Entity = _mapper.Map <Media>(model.Entity)
            };

            var response = await _mediaService.SaveAsync(request, (dbMedia, media) =>
            {
                media.Width    = dbMedia.Width;
                media.Height   = dbMedia.Height;
                media.FileName = dbMedia.FileName;
                media.FileType = dbMedia.FileType;
                media.FileSize = dbMedia.FileSize;
            });

            return(Json(new { success = response.Success, message = response.Messages }));
        }
        public async Task <ActionResult> EditMedia(ObjectId id)
        {
            var entity = await _mediaService.GetByIdAsync(id);

            if (entity == null)
            {
                return(NotFound());
            }

            var model = new MediaEditModel
            {
                Entity = _mapper.Map <MediaModel>(entity),
                IsEdit = true
            };

            return(PartialView("Media/_MediaDetail", model));
        }
        public async Task <IActionResult> Put([FromBody] MediaEditModel model)
        {
            var mapping = new Func <Media, Task <Media> >(async(entity) =>
            {
                entity.Name         = model.Name;
                entity.Description  = model.Description;
                entity.Icon         = model.IconAssetId;
                entity.FileAssetId  = model.FileAssetId;
                entity.Rotation     = model.Rotation;
                entity.Location     = model.Location;
                entity.Type         = model.Type;
                entity.SolutionId   = model.SolutionId;
                entity.ResourceType = (int)ResourceTypeEnum.Organizational;
                return(await Task.FromResult(entity));
            });

            return(await _PutRequest(model.Id, mapping));
        }
        public ActionResult CreateMedia()
        {
            var model = new MediaEditModel();

            return(PartialView("Media/_MediaDetail", model));
        }