public void New() { ForeignViewModel model = IoC.Get <ForeignViewModel>(); model.EntityId = Entity.Id; Foreigns.Add(model); }
public void Init() { CodeForeign[] foreigns = new CodeForeign[0]; _provider.ExecuteScopedWork(provider => { IDataContract contract = provider.GetRequiredService <IDataContract>(); foreigns = contract.CodeForeigns.Where(m => m.EntityId == Entity.Id).ToArray(); }); Foreigns.Clear(); foreach (CodeForeign foreign in foreigns) { ForeignViewModel model = _provider.GetRequiredService <ForeignViewModel>(); model = foreign.MapTo(model); Foreigns.Add(model); } }
private void InitialForeigns() { var properties = Entity.GetType().GetProperties().ToList().FindAll(p => p.GetCustomAttributes(typeof(DBForeignAttribute), true).Length > 0); foreach (PropertyInfo proInfo in properties) { if (ForeignNames.Any(f => f.Equals(proInfo.Name))) { continue; } var type = proInfo.PropertyType; var attr = proInfo.GetCustomAttributes(typeof(DBForeignAttribute), true).First() as DBForeignAttribute; if (attr == null) { continue; } var foreign = new DBForeign(this, proInfo, attr.Keys, attr.Initial); Foreigns.Add(foreign); } }
public async void Save() { if (!CanSave) { Helper.Notify("实体外键信息验证失败", NotificationType.Warning); return; } CodeForeignInputDto[] dtos = Foreigns.Select(m => m.MapTo <CodeForeignInputDto>()).ToArray(); OperationResult result = null; await _provider.ExecuteScopedWorkAsync(async provider => { IDataContract contract = provider.GetRequiredService <IDataContract>(); result = await contract.UpdateCodeForeigns(dtos); }); Helper.Notify(result); if (!result.Succeeded) { return; } Init(); }
public void AddRoot(AstNode node) { Roots.Add(node); if (node is AstForeign) { Foreigns.Add((AstForeign)node); } //else if (node is AstExtend) //{ // Extends.Add((AstExtend)node); //} else if (node is AstFunc) { AddFunc((AstFunc)node); } else if (node is AstStruct) { Structs.Add((AstStruct)node); } else { TopLevelStatements.Add(node); } }