aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Tango.PPC.Shared/SQL/RemoteSqlColumnCollection.cs
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy@twine-s.com>2020-12-30 15:11:34 +0000
committerRoy Ben Shabat <Roy@twine-s.com>2020-12-30 15:11:34 +0000
commitd33c19b3ac6803de4b5c8d475832efef131c1a45 (patch)
treeea725abc39def99a755b041c13cba1fe0d594ddc /Software/Visual_Studio/PPC/Tango.PPC.Shared/SQL/RemoteSqlColumnCollection.cs
parent1bdcaa9f51303bbff682507f31fb3b4414692ca4 (diff)
downloadTango-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.cs78
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;
+ }
+ }
+}