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

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

            var viewModel = new EditEntityReplyViewModel()
            {
                Id             = reply.Id,
                EntityId       = reply.EntityId,
                EditorHtmlName = EditorHtmlName,
                Message        = message
            };

            return(Task.FromResult(Views(
                                       View <EditEntityReplyViewModel>("Home.Edit.Reply.Header", model => viewModel).Zone("header"),
                                       View <EditEntityReplyViewModel>("Home.Edit.Reply.Content", model => viewModel).Zone("content"),
                                       View <EditEntityReplyViewModel>("Home.Edit.Reply.Footer", model => viewModel).Zone("Footer")
                                       )));
        }
Esempio n. 2
0
        public override async Task <bool> ValidateModelAsync(Reply reply, IUpdateModel updater)
        {
            // Build model
            var model = new EditEntityReplyViewModel
            {
                Id       = reply.Id,
                EntityId = reply.EntityId,
                Message  = reply.Message
            };

            // Validate model
            return(await updater.TryUpdateModelAsync(model));
        }
Esempio n. 3
0
        public override async Task ComposeModelAsync(Reply reply, IUpdateModel updater)
        {
            var model = new EditEntityReplyViewModel
            {
                EntityId = reply.EntityId,
                Message  = reply.Message
            };

            await updater.TryUpdateModelAsync(model);

            if (updater.ModelState.IsValid)
            {
                reply.EntityId = model.EntityId;
                reply.Message  = model.Message;
            }
        }