Exemplo n.º 1
0
        public override Task <IViewProviderResult> BuildEditAsync(Issue issue, IViewProviderContext updater)
        {
            // Ensures we persist the message between post backs
            var message = issue.Message;

            if (_request.Method == "POST")
            {
                foreach (string key in _request.Form.Keys)
                {
                    if (key == EditorHtmlName)
                    {
                        message = _request.Form[key];
                    }
                }
            }

            var viewModel = new EditEntityViewModel()
            {
                Id             = issue.Id,
                Title          = issue.Title,
                Message        = message,
                EditorHtmlName = EditorHtmlName,
                Alias          = issue.Alias
            };

            return(Task.FromResult(Views(
                                       View <EditEntityViewModel>("Home.Edit.Header", model => viewModel).Zone("header"),
                                       View <EditEntityViewModel>("Home.Edit.Content", model => viewModel).Zone("content"),
                                       View <EditEntityViewModel>("Home.Edit.Footer", model => viewModel).Zone("actions-right")
                                       )));
        }
        public EditEntityWindow(Type entityType, object entityValue)
        {
            InitializeComponent();

            ContentPanel.DataContext = entityValue == null?Activator.CreateInstance(entityType) : entityValue;

            _viewModel       = new EditEntityViewModel(ContentPanel, entityType, entityValue, this);
            this.DataContext = _viewModel;
        }
Exemplo n.º 3
0
        public override async Task <IViewProviderResult> BuildEditAsync(Doc doc, IViewProviderContext updater)
        {
            // Get feature
            var feature = await _featureFacade.GetFeatureByIdAsync("Plato.Docs");

            if (feature == null)
            {
                throw new Exception("The feature Plato.Docs could not be found");
            }

            // Ensures we persist the message between post backs
            var message = doc.Message;

            if (_request.Method == "POST")
            {
                foreach (string key in _request.Form.Keys)
                {
                    if (key == EditorHtmlName)
                    {
                        message = _request.Form[key];
                    }
                }
            }

            // Build general model
            var viewModel = new EditEntityViewModel()
            {
                Id             = doc.Id,
                Title          = doc.Title,
                Message        = message,
                EditorHtmlName = EditorHtmlName,
                Alias          = doc.Alias
            };

            // Build drop down model
            var entityDropDownViewModel = new EntityDropDownViewModel()
            {
                Options = new EntityIndexOptions()
                {
                    FeatureId  = feature.Id,
                    CategoryId = doc.CategoryId
                },
                HtmlName       = ParentHtmlName,
                SelectedEntity = doc?.ParentId ?? 0
            };

            // Build view
            return(Views(
                       View <EditEntityViewModel>("Home.Edit.Header", model => viewModel).Zone("header"),
                       View <EditEntityViewModel>("Home.Edit.Content", model => viewModel).Zone("content"),
                       View <EntityDropDownViewModel>("Home.Edit.Sidebar", model => entityDropDownViewModel).Zone("sidebar"),
                       View <EditEntityViewModel>("Home.Edit.Footer", model => viewModel).Zone("Footer")
                       ));
        }
Exemplo n.º 4
0
        public override async Task ComposeModelAsync(Issue issue, IUpdateModel updater)
        {
            var model = new EditEntityViewModel
            {
                Title   = issue.Title,
                Message = issue.Message
            };

            await updater.TryUpdateModelAsync(model);

            if (updater.ModelState.IsValid)
            {
                issue.Title   = model.Title;
                issue.Message = model.Message;
            }
        }
Exemplo n.º 5
0
        public override async Task ComposeModelAsync(Topic topic, IUpdateModel updater)
        {
            var model = new EditEntityViewModel
            {
                Title   = topic.Title,
                Message = topic.Message
            };

            await updater.TryUpdateModelAsync(model);

            if (updater.ModelState.IsValid)
            {
                topic.Title   = model.Title;
                topic.Message = model.Message;
            }
        }
Exemplo n.º 6
0
        public override async Task ComposeModelAsync(Question question, IUpdateModel updater)
        {
            var model = new EditEntityViewModel
            {
                Title   = question.Title,
                Message = question.Message
            };

            await updater.TryUpdateModelAsync(model);

            if (updater.ModelState.IsValid)
            {
                question.Title   = model.Title;
                question.Message = model.Message;
            }
        }
Exemplo n.º 7
0
        public override async Task ComposeModelAsync(Doc doc, IUpdateModel updater)
        {
            var model = new EditEntityViewModel
            {
                Title   = doc.Title,
                Message = doc.Message
            };

            await updater.TryUpdateModelAsync(model);

            if (updater.ModelState.IsValid)
            {
                doc.Title    = model.Title;
                doc.Message  = model.Message;
                doc.ParentId = GetParentSelection();;
            }
        }