public void SetFieldsModelToRecord(UIFormModel model) { foreach (var modelField in model.Widgets) { ValueProvider.ResolveFieldValue(modelField.Value, SetModelValue); } }
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)); }
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; }
public EntityModelBase Generate(UIFormModel model) { this.ValidatrRequest(); _formContext.CreateDataModel(); RecordModel = _formContext.EntityModel; SetRelationShip(); this.SetFieldsModelToRecord(model); Status = AnyStatus.Success; return(RecordModel); }
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); }
public override void Build(UIFormModel model = null) { base.Build(); }