Ejemplo n.º 1
0
 public void SetFieldsModelToRecord(UIFormModel model)
 {
     foreach (var modelField in model.Widgets)
     {
         ValueProvider.ResolveFieldValue(modelField.Value, SetModelValue);
     }
 }
Ejemplo n.º 2
0
        public IActionResult Save([FromBody] UIFormModel model)
        {
            var s          = ModelState;
            var pageAction = new EntityPageAction(this.WebAppContext);
            var actionRes  = pageAction.GetSaveAction(this.RequestQuery, model);

            // var ent = Core.EntityMetaData.Get(EntityCode.UserRole);
            // var m = ent.GetDefault();

            // m.SetValue("Name", "Role XX");
            // ent.Save(m);

            return(CreateResult(actionRes));
        }
Ejemplo n.º 3
0
        private void PrepareErrorModel(EntityModelBase recordModel, ref UIFormModel model)
        {
            var fields = new InvariantDictionary <UIFormField>();

            foreach (var fData in recordModel.GetInvalidFields())
            {
                fields.Add(fData.Field.ViewName.ToUpper(), new UIFormField()
                {
                    WidgetId = fData.Field.ViewName, ErrorMessage = fData.ErrorMessage
                });
            }

            model.Widgets = fields;
        }
Ejemplo n.º 4
0
        public EntityModelBase Generate(UIFormModel model)
        {
            this.ValidatrRequest();

            _formContext.CreateDataModel();

            RecordModel = _formContext.EntityModel;

            SetRelationShip();

            this.SetFieldsModelToRecord(model);
            Status = AnyStatus.Success;

            return(RecordModel);
        }
Ejemplo n.º 5
0
        public SubmitActionResponse GetSaveAction(RequestQueryString requestQuery, UIFormModel model)
        {
            var context = new EditFormContext(_AppContext, requestQuery.EntityId, requestQuery);

            context.Build(model);

            var generator = new EntityModelGenerator(context);

            generator.Generate(model);

            var response = new SubmitActionResponse(null);

            response.Status = SubmitStatus.Fail;

            if (generator.Status == AnyStatus.Success)
            {
                var recordModel = generator.RecordModel;
                var saveStatus  = context.Entity.Save(_AppContext, recordModel);
                if (saveStatus == AnyStatus.Success)
                {
                    response.Status      = SubmitStatus.Success;
                    response.RedirectUrl = AppLinkProvider.GetDetailPageLink(recordModel.EntityId, recordModel.ID).Url;
                    return(response);
                }
                else if (saveStatus == AnyStatus.InvalidData)
                {
                    PrepareErrorModel(recordModel, ref model);
                    response.Model = model;
                    return(response);
                }
                response.Message = saveStatus.Message;
                return(response);
            }
            response.Message = generator.Status.Message;

            return(response);
        }
Ejemplo n.º 6
0
 public override void Build(UIFormModel model = null)
 {
     base.Build();
 }