diff options
| author | Roy Ben Shabat <Roy@twine-s.com> | 2020-12-30 15:11:34 +0000 |
|---|---|---|
| committer | Roy Ben Shabat <Roy@twine-s.com> | 2020-12-30 15:11:34 +0000 |
| commit | d33c19b3ac6803de4b5c8d475832efef131c1a45 (patch) | |
| tree | ea725abc39def99a755b041c13cba1fe0d594ddc /Software/Visual_Studio/PPC/Tango.PPC.Shared/SQL/RemoteSqlColumnCollection.cs | |
| parent | 1bdcaa9f51303bbff682507f31fb3b4414692ca4 (diff) | |
| download | Tango-d33c19b3ac6803de4b5c8d475832efef131c1a45.tar.gz Tango-d33c19b3ac6803de4b5c8d475832efef131c1a45.zip | |
Revert "Hope it is fine"
Diffstat (limited to 'Software/Visual_Studio/PPC/Tango.PPC.Shared/SQL/RemoteSqlColumnCollection.cs')
| -rw-r--r-- | Software/Visual_Studio/PPC/Tango.PPC.Shared/SQL/RemoteSqlColumnCollection.cs | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Shared/SQL/RemoteSqlColumnCollection.cs b/Software/Visual_Studio/PPC/Tango.PPC.Shared/SQL/RemoteSqlColumnCollection.cs new file mode 100644 index 000000000..dfda6c3b7 --- /dev/null +++ b/Software/Visual_Studio/PPC/Tango.PPC.Shared/SQL/RemoteSqlColumnCollection.cs @@ -0,0 +1,78 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.PPC.Shared.SQL +{ + /// <summary> + /// Represents a <see cref="RemoteSqlDataSet"/> columns collection. + /// </summary> + /// <seealso cref="System.Collections.ObjectModel.Collection{Tango.PPC.Shared.SQL.RemoteSqlColumn}" /> + public class RemoteSqlColumnCollection : Collection<RemoteSqlColumn> + { + private Dictionary<String, RemoteSqlColumn> _dictionary; + + /// <summary> + /// Initializes a new instance of the <see cref="RemoteSqlColumnCollection"/> class. + /// </summary> + public RemoteSqlColumnCollection() + { + _dictionary = new Dictionary<string, RemoteSqlColumn>(); + } + + /// <summary> + /// Inserts an element into the <see cref="T:System.Collections.ObjectModel.Collection`1" /> at the specified index. + /// </summary> + /// <param name="index">The zero-based index at which <paramref name="item" /> should be inserted.</param> + /// <param name="item">The object to insert. The value can be null for reference types.</param> + protected override void InsertItem(int index, RemoteSqlColumn item) + { + item.Index = Count; + _dictionary.Add(item.Name, item); + base.InsertItem(index, item); + } + + /// <summary> + /// Removes the element at the specified index of the <see cref="T:System.Collections.ObjectModel.Collection`1" />. + /// </summary> + /// <param name="index">The zero-based index of the element to remove.</param> + /// <exception cref="NotSupportedException"></exception> + protected override void RemoveItem(int index) + { + throw new NotSupportedException(); + } + + /// <summary> + /// Removes all elements from the <see cref="T:System.Collections.ObjectModel.Collection`1" />. + /// </summary> + protected override void ClearItems() + { + _dictionary.Clear(); + base.ClearItems(); + } + + /// <summary> + /// Replaces the element at the specified index. + /// </summary> + /// <param name="index">The zero-based index of the element to replace.</param> + /// <param name="item">The new value for the element at the specified index. The value can be null for reference types.</param> + /// <exception cref="NotSupportedException"></exception> + protected override void SetItem(int index, RemoteSqlColumn item) + { + throw new NotSupportedException(); + } + + /// <summary> + /// Gets the column index by column name. + /// </summary> + /// <param name="columnName">Column name.</param> + /// <returns></returns> + public int GetIndexOf(String columnName) + { + return _dictionary[columnName].Index; + } + } +} |
