예제 #1
0
        public async Task <IActionResult> SaveFolder(MediaFolderModel model, MediaType?filter = null)
        {
            try
            {
                await _service.SaveFolder(model);

                var result = await _service.GetList(model.ParentId, filter);

                result.Status = new StatusMessage
                {
                    Type = StatusMessage.Success,
                    Body = $"The folder <code>{ model.Name }</code> was saved"
                };

                return(Ok(result));
            }
            catch (ValidationException e)
            {
                var result = new AliasListModel();
                result.Status = new StatusMessage
                {
                    Type = StatusMessage.Error,
                    Body = e.Message
                };
                return(BadRequest(result));
            }
        }
예제 #2
0
        public async Task <IActionResult> Save(AliasListModel.ListItem model)
        {
            try
            {
                await _service.Save(model);

                var result = await _service.GetList();

                result.Status = new StatusMessage
                {
                    Type = StatusMessage.Success,
                    Body = $"The alias <code>{ model.AliasUrl }</code> was added to the list"
                };

                return(Ok(result));
            }
            catch (ValidationException e)
            {
                var result = new AliasListModel();
                result.Status = new StatusMessage
                {
                    Type = StatusMessage.Error,
                    Body = e.Message
                };
                return(BadRequest(result));
            }
        }
예제 #3
0
        public async Task <IActionResult> Save(AliasListModel.AliasItem model)
        {
            try
            {
                await _service.Save(model);

                var result = await _service.GetList(model.SiteId);

                result.Status = new StatusMessage
                {
                    Type = StatusMessage.Success,
                    Body = _localizer.Alias["The alias was successfully added to the list"]
                };

                return(Ok(result));
            }
            catch (ValidationException e)
            {
                var result = new AliasListModel();
                result.Status = new StatusMessage
                {
                    Type = StatusMessage.Error,
                    Body = e.Message
                };
                return(BadRequest(result));
            }
        }
예제 #4
0
        /// <summary>
        /// Gets the list model for the specified site. If no site is
        /// specified the default site is used.
        /// </summary>
        /// <param name="siteId">The optional site id</param>
        /// <returns>The list model</returns>
        public async Task <AliasListModel> GetList(Guid?siteId = null)
        {
            // Ensure that we have a site id
            if (!siteId.HasValue)
            {
                var site = await _api.Sites.GetDefaultAsync();

                siteId = site.Id;
            }

            var model = new AliasListModel
            {
                SiteId = siteId.Value
            };

            // Get all available aliases for the current site
            var aliases = await _api.Aliases.GetAllAsync(siteId.Value);

            model.Items = aliases.Select(a => new AliasListModel.ListItem
            {
                Id          = a.Id,
                SiteId      = a.SiteId,
                AliasUrl    = a.AliasUrl,
                RedirectUrl = a.RedirectUrl,
                IsPermanent = a.Type == RedirectType.Permanent
            }).ToList();

            return(model);
        }
예제 #5
0
        private AliasListModel GetMessage(string message, string type)
        {
            var result = new AliasListModel();

            result.Status = new StatusMessage
            {
                Type = type,
                Body = message
            };
            return(result);
        }