/// <summary> /// 添加关系 /// </summary> /// <param name="consumerDirectoryName"></param> /// <param name="providerDirectoryName"></param> public void AddRelation(string consumerDirectoryName, string[] providerDirectoryName) { var consumerDirectory = RepositoryRegistry.Directory.FindBy(consumerDirectoryName); if (string.IsNullOrEmpty(consumerDirectoryName) || providerDirectoryName == null || providerDirectoryName.Length == 0) { return; } string newMd5; bool isSame = new RelationShipCheckService().IsSame(providerDirectoryName,consumerDirectory.UsedServiceMd5, out newMd5); if (isSame) { return; } var providerDirectorys = RepositoryRegistry.Directory.FindBy(providerDirectoryName); if(providerDirectorys.Count() != providerDirectoryName.Length) { return; } var list = new List<Model.Relationship>(); foreach (var item in providerDirectorys) { var consumerInfo = new ConsumerInfo(consumerDirectory.Name, consumerDirectory.Id); var providerInfo = new ProviderInfo(item.Name, item.Id); var relationship = new Model.Relationship(consumerInfo, providerInfo); list.Add(relationship); } RepositoryRegistry.Relationship.Add(list); this.PublishEvent("AddRelation", new UpdateMD5DomainEvent(consumerDirectory.Id, newMd5)); }
private void OnRelationshipsCreated(Model.Relationship Relationship) { if (this.RelationshipsCreated != null) { RelationshipsCreated(this, new RelationshipsCreatedEventArgs(Relationship)); } }
internal void Remove(Model.Item Item) { if (Item is Relationship) { Model.Relationship relationship = (Model.Relationship)Item; if (this.ActionsCache.ContainsKey(relationship.Source.ID)) { Action sourceaction = this.ActionsCache[relationship.Source.ID]; sourceaction.RemoveRelationship(relationship.ID); if (this.ActionsCache.ContainsKey(relationship.ID)) { this.ActionsCache.Remove(relationship.ID); } } } else { if (this.ActionsCache.ContainsKey(Item.ID)) { this.ActionsCache.Remove(Item.ID); } } }
private void RelationshipAssert(Model.Relationship expected, Model.Relationship actual) { Assert.AreEqual(expected.ConsumerInfo.ConsumerDirectoryId, actual.ConsumerInfo.ConsumerDirectoryId); Assert.AreEqual(expected.ConsumerInfo.ConsumerName, actual.ConsumerInfo.ConsumerName); Assert.AreEqual(expected.Provider.ProviderDirectoryId, actual.Provider.ProviderDirectoryId); Assert.AreEqual(expected.Provider.ProviderName, actual.Provider.ProviderName); }
private void CreateRelationship() { if (this.Binding != null) { if (this.Parent.Transaction != null) { if (this.RelationshipType.Related != null) { if (this.Dialog == null) { // Create Search Dialog this.Dialog = new Dialogs.Search(this, this.Query.Relationship(this.RelationshipType).Property("related_id").Store); // Watch for Selection this.Dialog.Grid.ItemsSelected += Grid_ItemsSelected; } // Open Search Dialog this.Dialog.Open = true; } else { // Create null Relationship Model.Relationship relationship = (Model.Relationship)((Model.Item) this.Binding).Relationships(this.RelationshipType).Create(this.Parent.Transaction); } } } }
protected void LoadRows() { // Clear current Grid Selection this.Grid.SelectedRows.Clear(); if (this.Binding != null) { this.SetColumnEditing(); Model.Item item = (Model.Item) this.Binding; List <Model.Item> currentitems = item.Relationships(this.RelationshipType).CurrentItems(); // Set Number of Rows in Grid this.Grid.NoRows = currentitems.Count(); // Load Current Items into Grid for (int i = 0; i < this.Grid.NoRows; i++) { Model.Relationship relationship = (Model.Relationship)currentitems[i]; int j = 0; foreach (Model.PropertyType proptype in this.PropertyTypes) { Model.Property property = null; if (relationship.ItemType.Equals(proptype.Type)) { property = relationship.Property(proptype); } else { if (relationship.Related != null) { property = relationship.Related.Property(proptype); } } if (property != null) { this.Grid.Rows[i].Cells[j].Binding = property; } else { this.Grid.Rows[i].Cells[j].SetValue(null); } j++; } } } else { // Clear all Rows this.Grid.NoRows = 0; } this.UpdateCommandsCanExecute(); }
public void Add(Model.Relationship relationship) { using (var conn = Database.Open()) { var tuple = RelationshipSql.Add(relationship); conn.ExecuteScalar <int>(tuple.Item1, (object)tuple.Item2); } }
public static Tuple <string, dynamic> Update(Model.Relationship item) { string sql = "update register_relation set consumer_id=@consumer_id,consumer_name=@consumer_name,provider_id=@provider_id,provider_name=@provider_name where id=@id"; return(new Tuple <string, dynamic>(sql, new { consumer_id = item.ConsumerInfo.ConsumerDirectoryId, consumer_name = item.ConsumerInfo.ConsumerName, provider_id = item.Provider.ProviderDirectoryId, provider_name = item.Provider.ProviderName })); }
public static Tuple <string, dynamic> Add(Model.Relationship item) { const string sql = @"insert into register_relation(consumer_id,consumer_name,provider_id,provider_name,create_date) values (@consumer_id,@consumer_name,@provider_id,@provider_name,@CreateDate)"; return(new Tuple <string, dynamic>(sql, new { consumer_id = item.ConsumerInfo.ConsumerDirectoryId, consumer_name = item.ConsumerInfo.ConsumerName, provider_id = item.Provider.ProviderDirectoryId, provider_name = item.Provider.ProviderName, CreateDate = item.CreateDate })); }
internal void Add(String Name, Model.Item Item) { if (Item is Relationship) { Model.Relationship relationship = (Model.Relationship)Item; if (this.ActionsCache.ContainsKey(relationship.Source.ID)) { Action sourceaction = this.ActionsCache[relationship.Source.ID]; if (this.ActionsCache.ContainsKey(relationship.ID)) { this.ActionsCache[relationship.ID].Name = Name; } else { Actions.Relationship relationshipaction = new Actions.Relationship(this, Name, relationship); this.ActionsCache[relationship.Source.ID].AddRelationship(relationshipaction); this.ActionsCache[relationship.ID] = relationshipaction; } } else { throw new Exceptions.ArgumentException("Source Item not present in Transaction"); } } else if (Item is File) { if (this.ActionsCache.ContainsKey(Item.ID)) { this.ActionsCache[Item.ID].Name = Name; } else { this.ActionsCache[Item.ID] = new Actions.File(this, Name, Item); } } else { if (this.ActionsCache.ContainsKey(Item.ID)) { this.ActionsCache[Item.ID].Name = Name; } else { this.ActionsCache[Item.ID] = new Actions.Item(this, Name, Item); } } }
public void Select(Model.Relationship Relationship) { if (Relationship != null) { List <Model.Relationship> displayed = this.Displayed.ToList(); int index = displayed.IndexOf(Relationship); if (index >= 0) { this.Grid.SelectedRows.Clear(); this.Grid.SelectedRows.Add(this.Grid.Rows[index]); } } this.UpdateCommandsCanExecute(); }
private void Grid_ItemsSelected(object sender, Search.ItemsSelectedEventArgs e) { if (this.Binding != null) { if (this.Dialog != null) { if (this.Parent.Transaction != null) { foreach (Model.Item relateditem in this.Dialog.Grid.Selected) { Model.Relationship relationship = (Model.Relationship)((Model.Item) this.Binding).Relationships(this.RelationshipType).Create(this.Parent.Transaction); relationship.Related = relateditem; this.OnRelationshipsCreated(relationship); } this.LoadRows(); } // Close Dialog this.Dialog.Open = false; } } }
/// <summary> /// 添加关系 /// </summary> /// <param name="consumerDirectoryName"></param> /// <param name="providerDirectoryName"></param> public void AddRelation(string consumerDirectoryName, string[] providerDirectoryName) { var consumerDirectory = RepositoryRegistry.Directory.FindBy(consumerDirectoryName); if (string.IsNullOrEmpty(consumerDirectoryName) || providerDirectoryName == null || providerDirectoryName.Length == 0) { return; } string newMd5; bool isSame = new RelationShipCheckService().IsSame(providerDirectoryName, consumerDirectory.UsedServiceMd5, out newMd5); if (isSame) { return; } var providerDirectorys = RepositoryRegistry.Directory.FindBy(providerDirectoryName); if (providerDirectorys.Count() != providerDirectoryName.Length) { return; } var list = new List <Model.Relationship>(); foreach (var item in providerDirectorys) { var consumerInfo = new ConsumerInfo(consumerDirectory.Name, consumerDirectory.Id); var providerInfo = new ProviderInfo(item.Name, item.Id); var relationship = new Model.Relationship(consumerInfo, providerInfo); list.Add(relationship); } RepositoryRegistry.Relationship.Add(list); this.PublishEvent("AddRelation", new UpdateMD5DomainEvent(consumerDirectory.Id, newMd5)); }
internal Relationship(Transaction Transaction, String Name, Model.Relationship Relationship) : base(Transaction, Name, Relationship) { this.DBItem = null; }
public static Model.Relationship Create() { var relationship = new Model.Relationship(new ConsumerInfo("订单", 1), new ProviderInfo("菜单", 1)); return(relationship); }
private Model.Relationship SelectConvert(Model.Relationship r, Model.ConsumerInfo consumerInfo, Model.ProviderInfo providerIdInfo) { propertyHelper.SetValue(m => m.ConsumerInfo, r, consumerInfo); propertyHelper.SetValue(m => m.Provider, r, providerIdInfo); return(r); }
public void Save() { using (var db = new AspNetDatingDataContext()) { var relationship = new Model.Relationship() { r_id = id, u_username = fromUsername, r_username = toUsername, r_type = (int) type, r_pendingtype = pendingType.HasValue ? (int?) pendingType : null, r_accepted = accepted, r_timestamp = timestamp }; if (id == 0) { db.Relationships.InsertOnSubmit(relationship); } else { db.Relationships.Attach(relationship, true); } db.SubmitChanges(); if (id == 0) id = relationship.r_id; } }
public static Model.Relationship Create() { var relationship = new Model.Relationship(new ConsumerInfo("订单", 1), new ProviderInfo("菜单", 1)); return relationship; }
public RelationshipsCreatedEventArgs(Model.Relationship Relationship) : base() { this.Relationship = Relationship; }