public IActionResult Edit(string id, string dataID) { var entity = this.Manager.DynamicFormManager.Find(id, dataID); if (entity == null) { entity = new Entities.DynamicForm() { ID = this.Manager.GenerateMongoID }; var form = this.Manager.FormManager.Find(id); this.Manager.DynamicFormManager.Copy(form, entity); entity.CurrentNode = entity.Nodes.GetStartNode(); if (entity.CurrentNode == null) { return(this.DisplayResult(Models.Result.CreateFail("缺少开始节点"))); } } var result = this.Manager.DynamicFormManager.HasPermit(entity); if (result.Success == false) { return(this.DisplayResult(result)); } this.ViewData["id"] = id; this.ViewData["DataID"] = entity.ID; return(this.View(entity)); }
public void Copy(Entities.Form source, Entities.DynamicForm destination) { destination.Html = (source?.Html) ?? String.Empty; destination.Nodes = AutoMapper.Mapper.Map <List <Entities.DynamicForm.Node> >(source.Nodes); destination.Lines = AutoMapper.Mapper.Map <List <Entities.DynamicForm.Line> >(source.Lines); destination.Areas = AutoMapper.Mapper.Map <List <Entities.DynamicForm.Area> >(source.Areas); }
public Models.Result HasPermit(Entities.DynamicForm entity) { if (this.ApplicationUser.HasPermit(entity.CurrentNode.Permits) == false) { return(Models.Result.CreateForbidden()); } return(Models.Result.Create()); }
public Models.Result InsertFlowTrace(Entities.DynamicForm entity, string lineID) { var trace = new Entities.FlowTrace() { ID = this.GenerateMongoID, UserID = this.ApplicationUser?.ID, UserName = this.ApplicationUser?.Name, DateTime = DateTime.Now, ReferenceID = entity?.ID, Data = entity?.Data, NodeID = entity?.CurrentNode?.ID, LineID = lineID }; this.Collection.InsertOne(trace); return(Models.Result.Create()); }
public Models.Result Create(string formID, string dataID) { var form = this.FormManager.Find(formID); var entity = new Entities.DynamicForm() { ID = dataID, Data = new Dictionary <string, object>() }; this.Copy(form, entity); entity.CurrentNode = entity.Nodes.GetStartNode(); entity.CreatedUserID = this.ApplicationUser.ID; entity.CreatedUserName = this.ApplicationUser.Name; var result = this.HasPermit(entity); if (result.Success == false) { return(result); } this.DynamicForms(formID).ReplaceOne(m => m.ID == dataID, entity, UpdateOptions); return(Models.Result.CreateDataResult(entity)); }