From c1b7a394abe9d490c7455342563c0d59a9f08de1 Mon Sep 17 00:00:00 2001 From: alexkulich <31318728+alexkulich@users.noreply.github.com> Date: Tue, 29 Aug 2017 20:53:06 +0300 Subject: [PATCH 1/2] Imported interaction library --- .../Cryptany.Core.Interaction/CheckFilters.cs | 36 +++++++ .../Cryptany.Core.Interaction.csproj | 89 +++++++++++++++++ Core/Cryptany.Core.Interaction/ISMSFeed.cs | 96 +++++++++++++++++++ Core/Cryptany.Core.Interaction/ISMSSender.cs | 62 ++++++++++++ Core/Cryptany.Core.Interaction/ISMSSender2.cs | 32 +++++++ .../MessageDeliveryStatus.cs | 33 +++++++ .../MessagePriority.cs | 29 ++++++ .../Cryptany.Core.Interaction/MessageState.cs | 30 ++++++ .../MessageStatusQuery.cs | 47 +++++++++ Core/Cryptany.Core.Interaction/MessageType.cs | 30 ++++++ .../Properties/AssemblyInfo.cs | 50 ++++++++++ .../SubscriptionMessage.cs | 42 ++++++++ .../WinServiceCommand.cs | 54 +++++++++++ 13 files changed, 630 insertions(+) create mode 100644 Core/Cryptany.Core.Interaction/CheckFilters.cs create mode 100644 Core/Cryptany.Core.Interaction/Cryptany.Core.Interaction.csproj create mode 100644 Core/Cryptany.Core.Interaction/ISMSFeed.cs create mode 100644 Core/Cryptany.Core.Interaction/ISMSSender.cs create mode 100644 Core/Cryptany.Core.Interaction/ISMSSender2.cs create mode 100644 Core/Cryptany.Core.Interaction/MessageDeliveryStatus.cs create mode 100644 Core/Cryptany.Core.Interaction/MessagePriority.cs create mode 100644 Core/Cryptany.Core.Interaction/MessageState.cs create mode 100644 Core/Cryptany.Core.Interaction/MessageStatusQuery.cs create mode 100644 Core/Cryptany.Core.Interaction/MessageType.cs create mode 100644 Core/Cryptany.Core.Interaction/Properties/AssemblyInfo.cs create mode 100644 Core/Cryptany.Core.Interaction/SubscriptionMessage.cs create mode 100644 Core/Cryptany.Core.Interaction/WinServiceCommand.cs diff --git a/Core/Cryptany.Core.Interaction/CheckFilters.cs b/Core/Cryptany.Core.Interaction/CheckFilters.cs new file mode 100644 index 0000000..80691b6 --- /dev/null +++ b/Core/Cryptany.Core.Interaction/CheckFilters.cs @@ -0,0 +1,36 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Cryptany.Core.Interaction +{ + [Serializable] + public enum SendParameter + { + MacroRegion + } + + [Serializable] + public struct FilterParam + { + public SendParameter param; + + public object value; + + } +} diff --git a/Core/Cryptany.Core.Interaction/Cryptany.Core.Interaction.csproj b/Core/Cryptany.Core.Interaction/Cryptany.Core.Interaction.csproj new file mode 100644 index 0000000..b0485a9 --- /dev/null +++ b/Core/Cryptany.Core.Interaction/Cryptany.Core.Interaction.csproj @@ -0,0 +1,89 @@ + + + + Debug + AnyCPU + 8.0.50727 + 2.0 + {E98F16D8-FA57-4C08-A0E4-5BC1A0E66DC8} + Library + Properties + Cryptany.Core.Interaction + Cryptany.Core.Interaction + + + + + + + + + v3.5 + + + + + 2.0 + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + bin\Debug\Cryptany.Core.Interaction.XML + + + none + true + bin\Release\ + TRACE + prompt + 4 + bin\Release\Cryptany.Core.Interaction.XML + Off + + + true + bin\x64\ + DEBUG;TRACE + full + x64 + true + GlobalSuppressions.cs + prompt + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Core/Cryptany.Core.Interaction/ISMSFeed.cs b/Core/Cryptany.Core.Interaction/ISMSFeed.cs new file mode 100644 index 0000000..5c60049 --- /dev/null +++ b/Core/Cryptany.Core.Interaction/ISMSFeed.cs @@ -0,0 +1,96 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +namespace Cryptany.Core.Interaction +{ + using System; + /// + /// + /// + public interface ISMSFeed + { + Guid FeedSMSText(string serviceNumber, string abonentMsisdn, string body, Guid resourceId, out string errText); + Guid FeedSMSText(string serviceNumber, string abonentMsisdn, string body, Guid resourceId, int connectorCode, out string errText); + + Guid FeedSMSText(string serviceNumber, string abonentMsisdn, string body, Guid resourceId, int connectorCode, + MessagePriority priority, out string errText); + Guid FeedSMSText(string serviceNumber, string abonentMsisdn, string body, Guid resourceId, + MessagePriority messagePriority, out string errText); + Guid FeedSMSText(string serviceNumber, string abonentMsisdn, string body, Guid inboxId, Guid resourceId, + MessagePriority messagePriority, out string errText); + Guid FeedSMSText(string serviceNumber, string abonentMsisdn, string body, Guid inboxId, Guid resourceId, + MessagePriority messagePriority, string operatorParameters, out string errText); + + Guid FeedSMSText(string serviceNumber, string abonentMsisdn, string body, Guid resourceId, bool asFlash, out string errText); + Guid FeedSMSText(string serviceNumber, string abonentMsisdn, string body, Guid resourceId, bool asFlash, int connectorCode, out string errText); + Guid FeedSMSText(string serviceNumber, string abonentMsisdn, string body, Guid resourceId, + MessagePriority messagePriority, bool asFlash, out string errText); + Guid FeedSMSText(string serviceNumber, string abonentMsisdn, string body, Guid resourceId, int connectorCode, + MessagePriority priority, bool asFlash, out string errText); + Guid FeedSMSText(string serviceNumber, string abonentMsisdn, string body, Guid inboxId, Guid resourceId, + MessagePriority messagePriority, bool asFlash, out string errText); + + Guid FeedSMSText(string serviceNumber, string abonentMsisdn, string body, Guid inboxId, Guid resourceId, + MessagePriority messagePriority, string operatorParameters, bool asFlash, out string errText); + //Guid FeedSMSText(string serviceNumber, string abonentMsisdn, string body, Guid resourceId, + // MessagePriority messagePriority, Guid abonentId, out string errText); + + + MessageState GetOutboxMessageState(Guid id); + string GetPreviewSms(string smsWithMacro, Guid contragentResourceId, string serviceNumber, string msisdn); + + + Guid FeedSMSTextByTariff(string abonentMsisdn, string body, Guid tariffId, Guid resourceId, + MessagePriority messagePriority, out string errText); + Guid FeedSMSTextByTariff(string abonentMsisdn, string body, Guid tariffId, Guid resourceId, out string errText); + + Guid FeedSMSTextByTariff(string abonentMsisdn, string body, Guid inboxId, Guid tariffId, Guid resourceId, + MessagePriority messagePriority, out string errText); + + Guid FeedSMSTextByTariff(string abonentMsisdn, string body, Guid inboxId, Guid tariffId, Guid resourceId, + out string errText); + + Guid FeedSMSTextByTariff(Guid abonentId, string body, Guid inboxId, Guid tariffId, Guid resourceId, + MessagePriority messagePriority, out string errText); + + Guid FeedSMSTextByTariff(string abonentMsisdn, string body, Guid inboxId, string TransactionId, Guid tariffId, + Guid resourceId, MessagePriority messagePriority, out string errText); + + + Guid FeedSMSTextByTariff(string abonentMsisdn, string body, Guid tariffId, Guid resourceId, + MessagePriority messagePriority, bool asFlash, out string errText); + Guid FeedSMSTextByTariff(string abonentMsisdn, string body, Guid tariffId, Guid resourceId, bool asFlash, out string errText); + + Guid FeedSMSTextByTariff(string abonentMsisdn, string body, Guid inboxId, Guid tariffId, Guid resourceId, + MessagePriority messagePriority, bool asFlash, out string errText); + + Guid FeedSMSTextByTariff(string abonentMsisdn, string body, Guid inboxId, Guid tariffId, Guid resourceId, bool asFlash, + out string errText); + + Guid FeedSMSTextByTariff(Guid abonentId, string body, Guid inboxId, Guid tariffId, Guid resourceId, + MessagePriority messagePriority, bool asFlash, out string errText); + Guid FeedSMSTextByTariff(Guid abonentId, string body, Guid inboxId, string TransactionId, Guid tariffId, + Guid resourceId, MessagePriority messagePriority, out string errText); + + Guid FeedSMSTextByTariff(string abonentMsisdn, string body, Guid inboxId, string TransactionId, Guid tariffId, + Guid resourceId, MessagePriority messagePriority, bool asFlash, out string errText); + + Guid FeedSMSTextByTariff(Guid abonentId, string body, Guid inboxId, string TransactionId, Guid tariffId, + Guid resourceId, MessagePriority messagePriority, bool asFlash, out string errText); + + } + + +} diff --git a/Core/Cryptany.Core.Interaction/ISMSSender.cs b/Core/Cryptany.Core.Interaction/ISMSSender.cs new file mode 100644 index 0000000..f39df71 --- /dev/null +++ b/Core/Cryptany.Core.Interaction/ISMSSender.cs @@ -0,0 +1,62 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; +using System.Collections.Generic; +using System.ServiceModel; +using System.Reflection; + + +namespace Cryptany.Core.Interaction +{ + /// + /// + /// + [ServiceContract()] + [ServiceKnownType(typeof(MessagePriority))] + public interface ISMSSender + { + + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// id + [OperationContract (Name="SendByTariff")] + Guid SendSMS(Guid tariffid, string msisdn, string body, Guid resourceid, Dictionary parameters, out string errortext); + + + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// id + [OperationContract(Name = "SendByNumber")] + [ServiceKnownType(typeof(MessagePriority))] + Guid SendSMS(string SN, string msisdn, string body, Guid resourceid, Dictionary parameters, out string errortext); + + } +} + diff --git a/Core/Cryptany.Core.Interaction/ISMSSender2.cs b/Core/Cryptany.Core.Interaction/ISMSSender2.cs new file mode 100644 index 0000000..3598a2f --- /dev/null +++ b/Core/Cryptany.Core.Interaction/ISMSSender2.cs @@ -0,0 +1,32 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.ServiceModel; +using System.Text; + +namespace Cryptany.Core.Interaction +{ + // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together. + [ServiceContract] + public interface ISMSSender2 : ISMSSender + { + [OperationContract] + void Refresh(); + } +} diff --git a/Core/Cryptany.Core.Interaction/MessageDeliveryStatus.cs b/Core/Cryptany.Core.Interaction/MessageDeliveryStatus.cs new file mode 100644 index 0000000..f914161 --- /dev/null +++ b/Core/Cryptany.Core.Interaction/MessageDeliveryStatus.cs @@ -0,0 +1,33 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; + + +namespace Cryptany.Core.Interaction +{ + [Serializable] + public enum MessageDeliveryStatus + { + Unknown = 0, + Undelivered = 1, + Delivered = 2, + LowBalance = 3, + AbonentNotExists = 4, + ServiceNotAvailable = 5, + UnknownAccount = 6 + } + +} \ No newline at end of file diff --git a/Core/Cryptany.Core.Interaction/MessagePriority.cs b/Core/Cryptany.Core.Interaction/MessagePriority.cs new file mode 100644 index 0000000..1200e74 --- /dev/null +++ b/Core/Cryptany.Core.Interaction/MessagePriority.cs @@ -0,0 +1,29 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Cryptany.Core.Interaction +{ + [Serializable] + public enum MessagePriority + { + Low = -1, + Normal = 0, + High = 1 + } +} diff --git a/Core/Cryptany.Core.Interaction/MessageState.cs b/Core/Cryptany.Core.Interaction/MessageState.cs new file mode 100644 index 0000000..f725535 --- /dev/null +++ b/Core/Cryptany.Core.Interaction/MessageState.cs @@ -0,0 +1,30 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Cryptany.Core.Interaction +{ + [Serializable] + public struct MessageState + { + public MessageDeliveryStatus DeliveryStatus; + public DateTime? MessageTime; + public string Desctiption; + + } +} diff --git a/Core/Cryptany.Core.Interaction/MessageStatusQuery.cs b/Core/Cryptany.Core.Interaction/MessageStatusQuery.cs new file mode 100644 index 0000000..0cb6744 --- /dev/null +++ b/Core/Cryptany.Core.Interaction/MessageStatusQuery.cs @@ -0,0 +1,47 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Cryptany.Core.Interaction +{ + [Serializable] + public class MessageStatusQuery + { + + public string SMSCMsgId; + + public string source_addr; + + //public Guid outboxId; + + //public MessageStatusQuery( string smscMsgId, string source_addr) + //{ + + + // this.SMSCMsgId = smscMsgId; + // this.source_addr = source_addr; + + //} + public override string ToString() + { + return string.Format("Message State Query: source_addr {0} smscMsgId {1}", source_addr, SMSCMsgId); + } + + + } +} diff --git a/Core/Cryptany.Core.Interaction/MessageType.cs b/Core/Cryptany.Core.Interaction/MessageType.cs new file mode 100644 index 0000000..8456f0f --- /dev/null +++ b/Core/Cryptany.Core.Interaction/MessageType.cs @@ -0,0 +1,30 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; + +namespace Cryptany.Core.Interaction +{ + [Serializable] + public enum MessageType + { + Unknown = 0, + Standard = 1, + System = 2, + Test = 3, + Flash, + Silent + } +} diff --git a/Core/Cryptany.Core.Interaction/Properties/AssemblyInfo.cs b/Core/Cryptany.Core.Interaction/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..72428d1 --- /dev/null +++ b/Core/Cryptany.Core.Interaction/Properties/AssemblyInfo.cs @@ -0,0 +1,50 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Cryptany.Core.Interaction")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Cryptany, Inc.")] +[assembly: AssemblyProduct("Cryptany.Core.Interaction library")] +[assembly: AssemblyCopyright("Copyright © Cryptany, Inc. 2008-2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("d38185da-48c5-4a42-81c0-80438ca643b8")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Core/Cryptany.Core.Interaction/SubscriptionMessage.cs b/Core/Cryptany.Core.Interaction/SubscriptionMessage.cs new file mode 100644 index 0000000..b799414 --- /dev/null +++ b/Core/Cryptany.Core.Interaction/SubscriptionMessage.cs @@ -0,0 +1,42 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Cryptany.Core.Interaction +{ + public enum SubscriptionActionType + { + Subscribe, + Unsubscribe, + UnsubscribeAll + } + + [Serializable] + public class SubscriptionMessage + { + public Guid abonentId; + public string MSISDN; + public Guid resourceId; + public SubscriptionActionType actionType; + public List clubs = new List(); + public DateTime actionTime = DateTime.Now; + public Guid smsId; + } + + +} diff --git a/Core/Cryptany.Core.Interaction/WinServiceCommand.cs b/Core/Cryptany.Core.Interaction/WinServiceCommand.cs new file mode 100644 index 0000000..e0307e9 --- /dev/null +++ b/Core/Cryptany.Core.Interaction/WinServiceCommand.cs @@ -0,0 +1,54 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; +using System.Collections.Generic; +using System.Text; +using System.Messaging; + +namespace Cryptany.Core.Interaction +{ + [Serializable] + public class WinServiceCommand + { + public string MethodName; + + public object[] parameters; + } + + public static class CommandsSender + { + + /// + /// Sends refresh settings command to Connector queue + /// + /// путь к очереди коннектора + public static void UpdateConnectorSettings(string mqpath) + { + WinServiceCommand wsc = new WinServiceCommand(); + wsc.MethodName = "UpdateConnectorSettings"; + + using (MessageQueue mq = new MessageQueue(mqpath, false)) + { + + System.Messaging.Message msg = new System.Messaging.Message(wsc); + msg.Priority = System.Messaging.MessagePriority.Highest; + msg.Formatter = new BinaryMessageFormatter(); + mq.Send(msg); + } + } + } +} + From 075d8cfa820d9303d3d4d3bae0b644b217877e98 Mon Sep 17 00:00:00 2001 From: alexkulich <31318728+alexkulich@users.noreply.github.com> Date: Tue, 29 Aug 2017 20:55:49 +0300 Subject: [PATCH 2/2] Add files via upload --- Cryptany.Core.DB/App.Config | 13 + Cryptany.Core.DB/CheckType.cs | 45 + Cryptany.Core.DB/Cryptany.Core.DB.csproj | 81 + Cryptany.Core.DB/DBCache.cs | 185 ++ Cryptany.Core.DB/DefCodeContainer.cs | 73 + Cryptany.Core.DB/ParameterType.cs | 47 + Cryptany.Core.DB/Properties/AssemblyInfo.cs | 51 + Cryptany.Core.DB/SMSC.cs | 33 + Cryptany.Core.DB/ServiceGroup.cs | 42 + Cryptany.Core.DB/ServiceGroupRule.cs | 40 + Cryptany.Core.DB/ServiceNumber.cs | 27 + Cryptany.Core.DB/Tariff.cs | 33 + Cryptany.Core.DB/TransportEntities.cs | 47 + Cryptany.Core.DB/TransportModel.Designer.cs | 2764 +++++++++++++++++++ Cryptany.Core.DB/TransportModel.edmx | 726 +++++ 15 files changed, 4207 insertions(+) create mode 100644 Cryptany.Core.DB/App.Config create mode 100644 Cryptany.Core.DB/CheckType.cs create mode 100644 Cryptany.Core.DB/Cryptany.Core.DB.csproj create mode 100644 Cryptany.Core.DB/DBCache.cs create mode 100644 Cryptany.Core.DB/DefCodeContainer.cs create mode 100644 Cryptany.Core.DB/ParameterType.cs create mode 100644 Cryptany.Core.DB/Properties/AssemblyInfo.cs create mode 100644 Cryptany.Core.DB/SMSC.cs create mode 100644 Cryptany.Core.DB/ServiceGroup.cs create mode 100644 Cryptany.Core.DB/ServiceGroupRule.cs create mode 100644 Cryptany.Core.DB/ServiceNumber.cs create mode 100644 Cryptany.Core.DB/Tariff.cs create mode 100644 Cryptany.Core.DB/TransportEntities.cs create mode 100644 Cryptany.Core.DB/TransportModel.Designer.cs create mode 100644 Cryptany.Core.DB/TransportModel.edmx diff --git a/Cryptany.Core.DB/App.Config b/Cryptany.Core.DB/App.Config new file mode 100644 index 0000000..0966607 --- /dev/null +++ b/Cryptany.Core.DB/App.Config @@ -0,0 +1,13 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Cryptany.Core.DB/CheckType.cs b/Cryptany.Core.DB/CheckType.cs new file mode 100644 index 0000000..d5fa905 --- /dev/null +++ b/Cryptany.Core.DB/CheckType.cs @@ -0,0 +1,45 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Cryptany.Core.DB +{ + public enum CheckTypeValue + { + In, + NotIn, + Equals, + NotEquals, + Unknown + } + + public partial class CheckType + { + public CheckTypeValue Value + { + get + { + CheckTypeValue res; + if (Enum.TryParse(Name, out res)) + return res; + return CheckTypeValue.Unknown; + } + } + } +} diff --git a/Cryptany.Core.DB/Cryptany.Core.DB.csproj b/Cryptany.Core.DB/Cryptany.Core.DB.csproj new file mode 100644 index 0000000..de30823 --- /dev/null +++ b/Cryptany.Core.DB/Cryptany.Core.DB.csproj @@ -0,0 +1,81 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {64FA234A-ABAE-4D11-9879-7449594D4970} + Library + Properties + Cryptany.Core.DB + Cryptany.Core.DB + v4.0 + 512 + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + TransportModel.edmx + True + True + + + + + + + + EntityModelCodeGenerator + TransportModel.Designer.cs + + + + + \ No newline at end of file diff --git a/Cryptany.Core.DB/DBCache.cs b/Cryptany.Core.DB/DBCache.cs new file mode 100644 index 0000000..65c5046 --- /dev/null +++ b/Cryptany.Core.DB/DBCache.cs @@ -0,0 +1,185 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Data.Objects.DataClasses; +using System.Data; +using System.Data.Objects; +using System.Diagnostics; + +namespace Cryptany.Core.DB +{ + public static class DBCache + { + static TransportEntities data; + static DefCodeContainer defs = null; + static public void Refresh() + { + defs = new DefCodeContainer(data.GetDefCodes().ToArray()); + ServiceNumbers = data.ServiceNumber.ToArray(); + Tariffs = data.Tariff.ToArray(); + ContragentResources = data.ContragentResource.ToArray(); + SMSCSettings = data.SMSCSettings.ToArray(); + ParameterTypes = data.ParameterType.ToArray(); + CheckTypes = data.CheckType.ToArray(); + SMSCs = data.SMSC.ToArray(); + ServiceGroups = data.ServiceGroup.ToArray(); + ServiceGroupRules = data.ServiceGroupRule.ToArray(); + SmscToServiceGroups = data.SmscToServiceGroup.ToArray(); + RegionsToRegionGroup = data.RegionsToRegionGroup.ToArray(); + } + static DBCache() + { + try + { + data = TransportEntities.Entities; + } + catch (Exception e) + { + Trace.WriteLine(e.Message + Environment.NewLine + e.StackTrace); + } + DBCache.Refresh(); + } + #region Properties + public static ServiceNumber[] ServiceNumbers + { + get; + private set; + } + public static Tariff[] Tariffs + { + get; + private set; + } + public static ContragentResource[] ContragentResources + { + get; + private set; + } + public static ServiceGroup[] ServiceGroups + { + get; + private set; + } + public static SMSCSettings[] SMSCSettings + { + get; + private set; + } + public static ParameterType[] ParameterTypes + { + get; + private set; + } + public static CheckType[] CheckTypes + { + get; + private set; + } + public static SMSC[] SMSCs + { + get; + private set; + } + public static SmscToServiceGroup[] SmscToServiceGroups + { + get; + private set; + } + public static ServiceGroupRule[] ServiceGroupRules + { + get; + private set; + } + public static RegionsToMacroRegions[] RegionsToMacroRegion + { + get; + private set; + } + public static RegionsToRegionGroup[] RegionsToRegionGroup + { + get; + private set; + } + #endregion + + static public T GetEntityById(Guid id) where T : EntityObject + { + List v = new List(); + if (id == null) + return null; + object[] attributes = typeof(T).GetCustomAttributes(typeof(EdmEntityTypeAttribute), false); + EdmEntityTypeAttribute attr = attributes[0] as EdmEntityTypeAttribute; + string setName = data.DefaultContainerName + "." + attr.Name; + EntityKey key = new EntityKey(setName, "Id", id); + object result; + if (data.TryGetObjectByKey(key, out result)) + return result as T; + return null; + } + + static public ServiceNumber GetServiceNumberBySN(string sn) + { + var set = ServiceNumbers.Where(n => { return n.SN == sn; }); + //ServiceNumber.Where("it.sn = @number", new ObjectParameter("number", sn)); + return set.FirstOrDefault(); + } + + static public Tariff[] GetActiveTariffsBySN(string sn) + { + var serviceNumber = GetServiceNumberBySN(sn); + if (serviceNumber == null) + return null; + var set = Tariffs.Where(t => + { return t.ServiceNumberId == serviceNumber.Id && (t.IsActive.HasValue ? t.IsActive.Value : false); }); + //Tariff.Where("it.ServiceNumberId = @snid && it.isActive", new ObjectParameter("snid", serviceNumber.Id)); + return set.ToArray(); + } + + static public SMSC GetSMSCByCode(int code) + { + var set = SMSCs.Where(s => { return s.Code == code; }); + //SMSC.Where("it.Code = @c", new ObjectParameter("c", code)); + return set.First(); + } + + static public Guid GetBrandGuidBySN(string number) + { + var def = defs.GetDefCodeByNumber(number); + return (def == null) ? Guid.Empty : def.brandId.Value; + } + + static public Guid GetRegionGroupGuidBySN(string number) + { + var def = defs.GetDefCodeByNumber(number); + if (def == null) + return Guid.Empty; + var link = RegionsToRegionGroup.SingleOrDefault(l => { return l.RegionId == def.RegionId; }); + return (link == null) ? Guid.Empty : link.RegionGroupId.Value; + } + + static public Guid GetMacroRegionGuidBySN(string number) + { + var def = defs.GetDefCodeByNumber(number); + if (def == null) + return Guid.Empty; + var link = RegionsToMacroRegion.SingleOrDefault(l => { return l.RegionId == def.RegionId; }); + return (link == null) ? Guid.Empty : link.MacroRegionId; + } + } +} diff --git a/Cryptany.Core.DB/DefCodeContainer.cs b/Cryptany.Core.DB/DefCodeContainer.cs new file mode 100644 index 0000000..87e886d --- /dev/null +++ b/Cryptany.Core.DB/DefCodeContainer.cs @@ -0,0 +1,73 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Cryptany.Core.DB +{ + /// + /// Хранит список Российских DEF кодов. Позволяет быстро находить DEF код для номера + /// + internal class DefCodeContainer + { + Dictionary codes; + long[] numbers; + public DefCodeContainer(DEFCode[] defs) + { + try + { + codes = defs.ToDictionary(c => + { + return ((long)c.DEF.Value) * 10000000 + c.RangeStart.Value; + }); + } + catch(Exception e) + { + throw new ApplicationException("Cannot init DefCodeContainer with defs:", e); + } + var keys = codes.Keys.ToList(); + keys.Sort(); + numbers = keys.ToArray(); + } + + + /// + /// Определяем DEF код по номеру телефона + /// + /// + /// + public DEFCode GetDefCodeByNumber(string msisdn) + { + long number = long.Parse(msisdn.Trim().Substring(1)); + int a = 0; + int b = numbers.Length - 1; + int iterations = 0; + while (a < b) + { + int m = (a + b + 1) / 2; + if (number < numbers[m]) + b = m - 1; + else + a = m; + if (iterations++ > 20) + throw new ApplicationException("Binary search GetDefCodeByNumber cycled"); + } + return codes[numbers[a]]; + } + } +} diff --git a/Cryptany.Core.DB/ParameterType.cs b/Cryptany.Core.DB/ParameterType.cs new file mode 100644 index 0000000..1ad841b --- /dev/null +++ b/Cryptany.Core.DB/ParameterType.cs @@ -0,0 +1,47 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Cryptany.Core.DB +{ + public enum ParameterTypeValue + { + Resource, + SN, + Tariff, + RegionGroup, + MacroRegion, + Brand, + Unknown + } + + public partial class ParameterType + { + public ParameterTypeValue Value + { + get + { + ParameterTypeValue res; + if (Enum.TryParse(Name, out res)) + return res; + return ParameterTypeValue.Unknown; + } + } + } +} diff --git a/Cryptany.Core.DB/Properties/AssemblyInfo.cs b/Cryptany.Core.DB/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..96096b4 --- /dev/null +++ b/Cryptany.Core.DB/Properties/AssemblyInfo.cs @@ -0,0 +1,51 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Cryptany.Core.DB")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Cryptany, Inc.")] +[assembly: AssemblyProduct("Cryptany.Core.DB library")] +[assembly: AssemblyCopyright("Copyright © Cryptany, Inc. 2012-2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("f4a86f54-2a0d-4430-b924-cf9ac5481382")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Cryptany.Core.DB/SMSC.cs b/Cryptany.Core.DB/SMSC.cs new file mode 100644 index 0000000..510241d --- /dev/null +++ b/Cryptany.Core.DB/SMSC.cs @@ -0,0 +1,33 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Cryptany.Core.DB +{ + public partial class SMSC + { + public SMSCSettings Settings + { + get + { + return DBCache.SMSCSettings.FirstOrDefault(s => { return s.SMSCId == Id; }); + } + } + } +} diff --git a/Cryptany.Core.DB/ServiceGroup.cs b/Cryptany.Core.DB/ServiceGroup.cs new file mode 100644 index 0000000..4541fc4 --- /dev/null +++ b/Cryptany.Core.DB/ServiceGroup.cs @@ -0,0 +1,42 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Cryptany.Core.DB +{ + public partial class ServiceGroup + { + public IEnumerable Connnectors + { + get + { + var links = DBCache.SmscToServiceGroups.Where(l => { return l.ServiceGroupId == Id; }); + return links.Select(l => { return DBCache.GetEntityById(l.SmscId.Value); }); + } + } + + public IEnumerable Rules + { + get + { + return DBCache.ServiceGroupRules.Where(l => { return l.ServiceGroupId == Id; }); + } + } + } +} diff --git a/Cryptany.Core.DB/ServiceGroupRule.cs b/Cryptany.Core.DB/ServiceGroupRule.cs new file mode 100644 index 0000000..8238391 --- /dev/null +++ b/Cryptany.Core.DB/ServiceGroupRule.cs @@ -0,0 +1,40 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Cryptany.Core.DB +{ + public partial class ServiceGroupRule + { + public ParameterTypeValue ParameterType + { + get + { + return DBCache.ParameterTypes.SingleOrDefault(t => { return t.Id == ParameterTypeId; }).Value; + } + } + public CheckTypeValue CheckType + { + get + { + return DBCache.CheckTypes.SingleOrDefault(t => { return t.Id == CheckTypeId; }).Value; + } + } + } +} diff --git a/Cryptany.Core.DB/ServiceNumber.cs b/Cryptany.Core.DB/ServiceNumber.cs new file mode 100644 index 0000000..2194ef7 --- /dev/null +++ b/Cryptany.Core.DB/ServiceNumber.cs @@ -0,0 +1,27 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Cryptany.Core.DB +{ + public partial class ServiceNumber + { + + } +} diff --git a/Cryptany.Core.DB/Tariff.cs b/Cryptany.Core.DB/Tariff.cs new file mode 100644 index 0000000..f81d43e --- /dev/null +++ b/Cryptany.Core.DB/Tariff.cs @@ -0,0 +1,33 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Cryptany.Core.DB +{ + public partial class Tariff + { + public ServiceNumber ServiceNumber + { + get + { + return DBCache.ServiceNumbers.SingleOrDefault(n => { return n.Id == ServiceNumberId; }); + } + } + } +} diff --git a/Cryptany.Core.DB/TransportEntities.cs b/Cryptany.Core.DB/TransportEntities.cs new file mode 100644 index 0000000..d1c19e5 --- /dev/null +++ b/Cryptany.Core.DB/TransportEntities.cs @@ -0,0 +1,47 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Data.Objects.DataClasses; +using System.Data; +using System.Data.Objects; + +namespace Cryptany.Core.DB +{ + internal partial class TransportEntities + { + static TransportEntities _entities = null; + + /// + /// Common class instance. Use instead of constructor + /// + internal static TransportEntities Entities + { + get + { + if (_entities == null) + { + _entities = new TransportEntities(); + } + return _entities; + } + } + + + } +} diff --git a/Cryptany.Core.DB/TransportModel.Designer.cs b/Cryptany.Core.DB/TransportModel.Designer.cs new file mode 100644 index 0000000..4596373 --- /dev/null +++ b/Cryptany.Core.DB/TransportModel.Designer.cs @@ -0,0 +1,2764 @@ +/* + Copyright 2006-2017 Cryptany, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +//------------------------------------------------------------------------------ +// +// This code was generated from a template. +// +// Manual changes to this file may cause unexpected behavior in your application. +// Manual changes to this file will be overwritten if the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Data.Objects; +using System.Data.Objects.DataClasses; +using System.Data.EntityClient; +using System.ComponentModel; +using System.Xml.Serialization; +using System.Runtime.Serialization; + +[assembly: EdmSchemaAttribute()] +#region EDM Relationship Metadata + +[assembly: EdmRelationshipAttribute("TransportModel", "FK_Tariff_ServiceNumbers_ServiceNumberId", "ServiceNumbers", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(Cryptany.Core.DB.ServiceNumber), "Tariff", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(Cryptany.Core.DB.Tariff), true)] +[assembly: EdmRelationshipAttribute("TransportModel", "FK_SMSCSettings_SMSC", "SMSC", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(Cryptany.Core.DB.SMSC), "SMSCSettings", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(Cryptany.Core.DB.SMSCSettings), true)] +[assembly: EdmRelationshipAttribute("TransportModel", "FK_SmscToServiceGroup_SMSC_Id", "SMSC", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(Cryptany.Core.DB.SMSC), "SmscToServiceGroup", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(Cryptany.Core.DB.SmscToServiceGroup), true)] +[assembly: EdmRelationshipAttribute("TransportModel", "FK_ServiceGroupRule_ParameterType_Id", "ParameterType", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(Cryptany.Core.DB.ParameterType), "ServiceGroupRule", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(Cryptany.Core.DB.ServiceGroupRule), true)] +[assembly: EdmRelationshipAttribute("TransportModel", "FK_ServiceGroupRule_ServiceGroup_Id", "ServiceGroup", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(Cryptany.Core.DB.ServiceGroup), "ServiceGroupRule", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(Cryptany.Core.DB.ServiceGroupRule), true)] +[assembly: EdmRelationshipAttribute("TransportModel", "FK_SmscToServiceGroup_ServiceGroup_Id", "ServiceGroup", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(Cryptany.Core.DB.ServiceGroup), "SmscToServiceGroup", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(Cryptany.Core.DB.SmscToServiceGroup), true)] +[assembly: EdmRelationshipAttribute("TransportModel", "FK_ServiceGroupRule_CheckType_Id", "CheckType", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(Cryptany.Core.DB.CheckType), "ServiceGroupRule", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(Cryptany.Core.DB.ServiceGroupRule), true)] + +#endregion + +namespace Cryptany.Core.DB +{ + #region Contexts + + /// + /// No Metadata Documentation available. + /// + internal partial class TransportEntities : ObjectContext + { + #region Constructors + + /// + /// Initializes a new TransportEntities object using the connection string found in the 'TransportEntities' section of the application configuration file. + /// + public TransportEntities() : base("name=TransportEntities", "TransportEntities") + { + this.ContextOptions.LazyLoadingEnabled = true; + OnContextCreated(); + } + + /// + /// Initialize a new TransportEntities object. + /// + public TransportEntities(string connectionString) : base(connectionString, "TransportEntities") + { + this.ContextOptions.LazyLoadingEnabled = true; + OnContextCreated(); + } + + /// + /// Initialize a new TransportEntities object. + /// + public TransportEntities(EntityConnection connection) : base(connection, "TransportEntities") + { + this.ContextOptions.LazyLoadingEnabled = true; + OnContextCreated(); + } + + #endregion + + #region Partial Methods + + partial void OnContextCreated(); + + #endregion + + #region ObjectSet Properties + + /// + /// No Metadata Documentation available. + /// + public ObjectSet ServiceNumber + { + get + { + if ((_ServiceNumber == null)) + { + _ServiceNumber = base.CreateObjectSet("ServiceNumber"); + } + return _ServiceNumber; + } + } + private ObjectSet _ServiceNumber; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet SMSC + { + get + { + if ((_SMSC == null)) + { + _SMSC = base.CreateObjectSet("SMSC"); + } + return _SMSC; + } + } + private ObjectSet _SMSC; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet SMSCSettings + { + get + { + if ((_SMSCSettings == null)) + { + _SMSCSettings = base.CreateObjectSet("SMSCSettings"); + } + return _SMSCSettings; + } + } + private ObjectSet _SMSCSettings; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Tariff + { + get + { + if ((_Tariff == null)) + { + _Tariff = base.CreateObjectSet("Tariff"); + } + return _Tariff; + } + } + private ObjectSet _Tariff; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet ContragentResource + { + get + { + if ((_ContragentResource == null)) + { + _ContragentResource = base.CreateObjectSet("ContragentResource"); + } + return _ContragentResource; + } + } + private ObjectSet _ContragentResource; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet ParameterType + { + get + { + if ((_ParameterType == null)) + { + _ParameterType = base.CreateObjectSet("ParameterType"); + } + return _ParameterType; + } + } + private ObjectSet _ParameterType; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet ServiceGroup + { + get + { + if ((_ServiceGroup == null)) + { + _ServiceGroup = base.CreateObjectSet("ServiceGroup"); + } + return _ServiceGroup; + } + } + private ObjectSet _ServiceGroup; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet ServiceGroupRule + { + get + { + if ((_ServiceGroupRule == null)) + { + _ServiceGroupRule = base.CreateObjectSet("ServiceGroupRule"); + } + return _ServiceGroupRule; + } + } + private ObjectSet _ServiceGroupRule; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet SmscToServiceGroup + { + get + { + if ((_SmscToServiceGroup == null)) + { + _SmscToServiceGroup = base.CreateObjectSet("SmscToServiceGroup"); + } + return _SmscToServiceGroup; + } + } + private ObjectSet _SmscToServiceGroup; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet CheckType + { + get + { + if ((_CheckType == null)) + { + _CheckType = base.CreateObjectSet("CheckType"); + } + return _CheckType; + } + } + private ObjectSet _CheckType; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet RegionsToMacroRegions + { + get + { + if ((_RegionsToMacroRegions == null)) + { + _RegionsToMacroRegions = base.CreateObjectSet("RegionsToMacroRegions"); + } + return _RegionsToMacroRegions; + } + } + private ObjectSet _RegionsToMacroRegions; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet RegionsToRegionGroup + { + get + { + if ((_RegionsToRegionGroup == null)) + { + _RegionsToRegionGroup = base.CreateObjectSet("RegionsToRegionGroup"); + } + return _RegionsToRegionGroup; + } + } + private ObjectSet _RegionsToRegionGroup; + + #endregion + #region AddTo Methods + + /// + /// Deprecated Method for adding a new object to the ServiceNumber EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToServiceNumber(ServiceNumber serviceNumber) + { + base.AddObject("ServiceNumber", serviceNumber); + } + + /// + /// Deprecated Method for adding a new object to the SMSC EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToSMSC(SMSC sMSC) + { + base.AddObject("SMSC", sMSC); + } + + /// + /// Deprecated Method for adding a new object to the SMSCSettings EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToSMSCSettings(SMSCSettings sMSCSettings) + { + base.AddObject("SMSCSettings", sMSCSettings); + } + + /// + /// Deprecated Method for adding a new object to the Tariff EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToTariff(Tariff tariff) + { + base.AddObject("Tariff", tariff); + } + + /// + /// Deprecated Method for adding a new object to the ContragentResource EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToContragentResource(ContragentResource contragentResource) + { + base.AddObject("ContragentResource", contragentResource); + } + + /// + /// Deprecated Method for adding a new object to the ParameterType EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToParameterType(ParameterType parameterType) + { + base.AddObject("ParameterType", parameterType); + } + + /// + /// Deprecated Method for adding a new object to the ServiceGroup EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToServiceGroup(ServiceGroup serviceGroup) + { + base.AddObject("ServiceGroup", serviceGroup); + } + + /// + /// Deprecated Method for adding a new object to the ServiceGroupRule EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToServiceGroupRule(ServiceGroupRule serviceGroupRule) + { + base.AddObject("ServiceGroupRule", serviceGroupRule); + } + + /// + /// Deprecated Method for adding a new object to the SmscToServiceGroup EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToSmscToServiceGroup(SmscToServiceGroup smscToServiceGroup) + { + base.AddObject("SmscToServiceGroup", smscToServiceGroup); + } + + /// + /// Deprecated Method for adding a new object to the CheckType EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToCheckType(CheckType checkType) + { + base.AddObject("CheckType", checkType); + } + + /// + /// Deprecated Method for adding a new object to the RegionsToMacroRegions EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToRegionsToMacroRegions(RegionsToMacroRegions regionsToMacroRegions) + { + base.AddObject("RegionsToMacroRegions", regionsToMacroRegions); + } + + /// + /// Deprecated Method for adding a new object to the RegionsToRegionGroup EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToRegionsToRegionGroup(RegionsToRegionGroup regionsToRegionGroup) + { + base.AddObject("RegionsToRegionGroup", regionsToRegionGroup); + } + + #endregion + #region Function Imports + + /// + /// No Metadata Documentation available. + /// + public ObjectResult GetDefCodes() + { + return base.ExecuteFunction("GetDefCodes"); + } + + #endregion + } + + + #endregion + + #region Entities + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="TransportModel", Name="CheckType")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class CheckType : EntityObject + { + #region Factory Method + + /// + /// Create a new CheckType object. + /// + /// Initial value of the Id property. + public static CheckType CreateCheckType(global::System.Guid id) + { + CheckType checkType = new CheckType(); + checkType.Id = id; + return checkType; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Guid _Id; + partial void OnIdChanging(global::System.Guid value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Name + { + get + { + return _Name; + } + set + { + OnNameChanging(value); + ReportPropertyChanging("Name"); + _Name = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Name"); + OnNameChanged(); + } + } + private global::System.String _Name; + partial void OnNameChanging(global::System.String value); + partial void OnNameChanged(); + + #endregion + + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="TransportModel", Name="ContragentResource")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class ContragentResource : EntityObject + { + #region Factory Method + + /// + /// Create a new ContragentResource object. + /// + /// Initial value of the Id property. + /// Initial value of the Name property. + /// Initial value of the ContragentId property. + /// Initial value of the type property. + /// Initial value of the HasDownloadTemplate property. + /// Initial value of the isActive property. + /// Initial value of the isUSSD property. + public static ContragentResource CreateContragentResource(global::System.Guid id, global::System.String name, global::System.Guid contragentId, global::System.Byte type, global::System.Boolean hasDownloadTemplate, global::System.Boolean isActive, global::System.Boolean isUSSD) + { + ContragentResource contragentResource = new ContragentResource(); + contragentResource.Id = id; + contragentResource.Name = name; + contragentResource.ContragentId = contragentId; + contragentResource.type = type; + contragentResource.HasDownloadTemplate = hasDownloadTemplate; + contragentResource.isActive = isActive; + contragentResource.isUSSD = isUSSD; + return contragentResource; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Guid _Id; + partial void OnIdChanging(global::System.Guid value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Name + { + get + { + return _Name; + } + set + { + OnNameChanging(value); + ReportPropertyChanging("Name"); + _Name = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Name"); + OnNameChanged(); + } + } + private global::System.String _Name; + partial void OnNameChanging(global::System.String value); + partial void OnNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid ContragentId + { + get + { + return _ContragentId; + } + set + { + OnContragentIdChanging(value); + ReportPropertyChanging("ContragentId"); + _ContragentId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ContragentId"); + OnContragentIdChanged(); + } + } + private global::System.Guid _ContragentId; + partial void OnContragentIdChanging(global::System.Guid value); + partial void OnContragentIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Alias + { + get + { + return _Alias; + } + set + { + OnAliasChanging(value); + ReportPropertyChanging("Alias"); + _Alias = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Alias"); + OnAliasChanged(); + } + } + private global::System.String _Alias; + partial void OnAliasChanging(global::System.String value); + partial void OnAliasChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String URL + { + get + { + return _URL; + } + set + { + OnURLChanging(value); + ReportPropertyChanging("URL"); + _URL = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("URL"); + OnURLChanged(); + } + } + private global::System.String _URL; + partial void OnURLChanging(global::System.String value); + partial void OnURLChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Byte type + { + get + { + return _type; + } + set + { + OntypeChanging(value); + ReportPropertyChanging("type"); + _type = StructuralObject.SetValidValue(value); + ReportPropertyChanged("type"); + OntypeChanged(); + } + } + private global::System.Byte _type; + partial void OntypeChanging(global::System.Byte value); + partial void OntypeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable IsTemplate + { + get + { + return _IsTemplate; + } + set + { + OnIsTemplateChanging(value); + ReportPropertyChanging("IsTemplate"); + _IsTemplate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("IsTemplate"); + OnIsTemplateChanged(); + } + } + private Nullable _IsTemplate; + partial void OnIsTemplateChanging(Nullable value); + partial void OnIsTemplateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Description + { + get + { + return _Description; + } + set + { + OnDescriptionChanging(value); + ReportPropertyChanging("Description"); + _Description = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Description"); + OnDescriptionChanged(); + } + } + private global::System.String _Description; + partial void OnDescriptionChanging(global::System.String value); + partial void OnDescriptionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable ResourceCode + { + get + { + return _ResourceCode; + } + set + { + OnResourceCodeChanging(value); + ReportPropertyChanging("ResourceCode"); + _ResourceCode = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ResourceCode"); + OnResourceCodeChanged(); + } + } + private Nullable _ResourceCode; + partial void OnResourceCodeChanging(Nullable value); + partial void OnResourceCodeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Boolean HasDownloadTemplate + { + get + { + return _HasDownloadTemplate; + } + set + { + OnHasDownloadTemplateChanging(value); + ReportPropertyChanging("HasDownloadTemplate"); + _HasDownloadTemplate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("HasDownloadTemplate"); + OnHasDownloadTemplateChanged(); + } + } + private global::System.Boolean _HasDownloadTemplate; + partial void OnHasDownloadTemplateChanging(global::System.Boolean value); + partial void OnHasDownloadTemplateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String DownloadTemplateURL + { + get + { + return _DownloadTemplateURL; + } + set + { + OnDownloadTemplateURLChanging(value); + ReportPropertyChanging("DownloadTemplateURL"); + _DownloadTemplateURL = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("DownloadTemplateURL"); + OnDownloadTemplateURLChanged(); + } + } + private global::System.String _DownloadTemplateURL; + partial void OnDownloadTemplateURLChanging(global::System.String value); + partial void OnDownloadTemplateURLChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Boolean isActive + { + get + { + return _isActive; + } + set + { + OnisActiveChanging(value); + ReportPropertyChanging("isActive"); + _isActive = StructuralObject.SetValidValue(value); + ReportPropertyChanged("isActive"); + OnisActiveChanged(); + } + } + private global::System.Boolean _isActive; + partial void OnisActiveChanging(global::System.Boolean value); + partial void OnisActiveChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Boolean isUSSD + { + get + { + return _isUSSD; + } + set + { + OnisUSSDChanging(value); + ReportPropertyChanging("isUSSD"); + _isUSSD = StructuralObject.SetValidValue(value); + ReportPropertyChanged("isUSSD"); + OnisUSSDChanged(); + } + } + private global::System.Boolean _isUSSD; + partial void OnisUSSDChanging(global::System.Boolean value); + partial void OnisUSSDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable DownloadTemplateTarget + { + get + { + return _DownloadTemplateTarget; + } + set + { + OnDownloadTemplateTargetChanging(value); + ReportPropertyChanging("DownloadTemplateTarget"); + _DownloadTemplateTarget = StructuralObject.SetValidValue(value); + ReportPropertyChanged("DownloadTemplateTarget"); + OnDownloadTemplateTargetChanged(); + } + } + private Nullable _DownloadTemplateTarget; + partial void OnDownloadTemplateTargetChanging(Nullable value); + partial void OnDownloadTemplateTargetChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Code + { + get + { + return _Code; + } + set + { + OnCodeChanging(value); + ReportPropertyChanging("Code"); + _Code = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Code"); + OnCodeChanged(); + } + } + private global::System.String _Code; + partial void OnCodeChanging(global::System.String value); + partial void OnCodeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable ReleaseDate + { + get + { + return _ReleaseDate; + } + set + { + OnReleaseDateChanging(value); + ReportPropertyChanging("ReleaseDate"); + _ReleaseDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ReleaseDate"); + OnReleaseDateChanged(); + } + } + private Nullable _ReleaseDate; + partial void OnReleaseDateChanging(Nullable value); + partial void OnReleaseDateChanged(); + + #endregion + + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="TransportModel", Name="ParameterType")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class ParameterType : EntityObject + { + #region Factory Method + + /// + /// Create a new ParameterType object. + /// + /// Initial value of the Id property. + public static ParameterType CreateParameterType(global::System.Guid id) + { + ParameterType parameterType = new ParameterType(); + parameterType.Id = id; + return parameterType; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Guid _Id; + partial void OnIdChanging(global::System.Guid value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Name + { + get + { + return _Name; + } + set + { + OnNameChanging(value); + ReportPropertyChanging("Name"); + _Name = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Name"); + OnNameChanged(); + } + } + private global::System.String _Name; + partial void OnNameChanging(global::System.String value); + partial void OnNameChanged(); + + #endregion + + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="TransportModel", Name="RegionsToMacroRegions")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class RegionsToMacroRegions : EntityObject + { + #region Factory Method + + /// + /// Create a new RegionsToMacroRegions object. + /// + /// Initial value of the Id property. + /// Initial value of the RegionId property. + /// Initial value of the MacroRegionId property. + /// Initial value of the OperatorBrandId property. + public static RegionsToMacroRegions CreateRegionsToMacroRegions(global::System.Guid id, global::System.Guid regionId, global::System.Guid macroRegionId, global::System.Guid operatorBrandId) + { + RegionsToMacroRegions regionsToMacroRegions = new RegionsToMacroRegions(); + regionsToMacroRegions.Id = id; + regionsToMacroRegions.RegionId = regionId; + regionsToMacroRegions.MacroRegionId = macroRegionId; + regionsToMacroRegions.OperatorBrandId = operatorBrandId; + return regionsToMacroRegions; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Guid _Id; + partial void OnIdChanging(global::System.Guid value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid RegionId + { + get + { + return _RegionId; + } + set + { + OnRegionIdChanging(value); + ReportPropertyChanging("RegionId"); + _RegionId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("RegionId"); + OnRegionIdChanged(); + } + } + private global::System.Guid _RegionId; + partial void OnRegionIdChanging(global::System.Guid value); + partial void OnRegionIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid MacroRegionId + { + get + { + return _MacroRegionId; + } + set + { + OnMacroRegionIdChanging(value); + ReportPropertyChanging("MacroRegionId"); + _MacroRegionId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("MacroRegionId"); + OnMacroRegionIdChanged(); + } + } + private global::System.Guid _MacroRegionId; + partial void OnMacroRegionIdChanging(global::System.Guid value); + partial void OnMacroRegionIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid OperatorBrandId + { + get + { + return _OperatorBrandId; + } + set + { + OnOperatorBrandIdChanging(value); + ReportPropertyChanging("OperatorBrandId"); + _OperatorBrandId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("OperatorBrandId"); + OnOperatorBrandIdChanged(); + } + } + private global::System.Guid _OperatorBrandId; + partial void OnOperatorBrandIdChanging(global::System.Guid value); + partial void OnOperatorBrandIdChanged(); + + #endregion + + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="TransportModel", Name="RegionsToRegionGroup")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class RegionsToRegionGroup : EntityObject + { + #region Factory Method + + /// + /// Create a new RegionsToRegionGroup object. + /// + /// Initial value of the Id property. + public static RegionsToRegionGroup CreateRegionsToRegionGroup(global::System.Guid id) + { + RegionsToRegionGroup regionsToRegionGroup = new RegionsToRegionGroup(); + regionsToRegionGroup.Id = id; + return regionsToRegionGroup; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Guid _Id; + partial void OnIdChanging(global::System.Guid value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable RegionGroupId + { + get + { + return _RegionGroupId; + } + set + { + OnRegionGroupIdChanging(value); + ReportPropertyChanging("RegionGroupId"); + _RegionGroupId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("RegionGroupId"); + OnRegionGroupIdChanged(); + } + } + private Nullable _RegionGroupId; + partial void OnRegionGroupIdChanging(Nullable value); + partial void OnRegionGroupIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable RegionId + { + get + { + return _RegionId; + } + set + { + OnRegionIdChanging(value); + ReportPropertyChanging("RegionId"); + _RegionId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("RegionId"); + OnRegionIdChanged(); + } + } + private Nullable _RegionId; + partial void OnRegionIdChanging(Nullable value); + partial void OnRegionIdChanged(); + + #endregion + + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="TransportModel", Name="ServiceGroup")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class ServiceGroup : EntityObject + { + #region Factory Method + + /// + /// Create a new ServiceGroup object. + /// + /// Initial value of the Id property. + public static ServiceGroup CreateServiceGroup(global::System.Guid id) + { + ServiceGroup serviceGroup = new ServiceGroup(); + serviceGroup.Id = id; + return serviceGroup; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Guid _Id; + partial void OnIdChanging(global::System.Guid value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Name + { + get + { + return _Name; + } + set + { + OnNameChanging(value); + ReportPropertyChanging("Name"); + _Name = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Name"); + OnNameChanged(); + } + } + private global::System.String _Name; + partial void OnNameChanging(global::System.String value); + partial void OnNameChanged(); + + #endregion + + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="TransportModel", Name="ServiceGroupRule")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class ServiceGroupRule : EntityObject + { + #region Factory Method + + /// + /// Create a new ServiceGroupRule object. + /// + /// Initial value of the Id property. + public static ServiceGroupRule CreateServiceGroupRule(global::System.Guid id) + { + ServiceGroupRule serviceGroupRule = new ServiceGroupRule(); + serviceGroupRule.Id = id; + return serviceGroupRule; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Guid _Id; + partial void OnIdChanging(global::System.Guid value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable ServiceGroupId + { + get + { + return _ServiceGroupId; + } + set + { + OnServiceGroupIdChanging(value); + ReportPropertyChanging("ServiceGroupId"); + _ServiceGroupId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ServiceGroupId"); + OnServiceGroupIdChanged(); + } + } + private Nullable _ServiceGroupId; + partial void OnServiceGroupIdChanging(Nullable value); + partial void OnServiceGroupIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable ParameterTypeId + { + get + { + return _ParameterTypeId; + } + set + { + OnParameterTypeIdChanging(value); + ReportPropertyChanging("ParameterTypeId"); + _ParameterTypeId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ParameterTypeId"); + OnParameterTypeIdChanged(); + } + } + private Nullable _ParameterTypeId; + partial void OnParameterTypeIdChanging(Nullable value); + partial void OnParameterTypeIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable CheckTypeId + { + get + { + return _CheckTypeId; + } + set + { + OnCheckTypeIdChanging(value); + ReportPropertyChanging("CheckTypeId"); + _CheckTypeId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("CheckTypeId"); + OnCheckTypeIdChanged(); + } + } + private Nullable _CheckTypeId; + partial void OnCheckTypeIdChanging(Nullable value); + partial void OnCheckTypeIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Value + { + get + { + return _Value; + } + set + { + OnValueChanging(value); + ReportPropertyChanging("Value"); + _Value = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Value"); + OnValueChanged(); + } + } + private global::System.String _Value; + partial void OnValueChanging(global::System.String value); + partial void OnValueChanged(); + + #endregion + + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="TransportModel", Name="ServiceNumber")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class ServiceNumber : EntityObject + { + #region Factory Method + + /// + /// Create a new ServiceNumber object. + /// + /// Initial value of the Id property. + public static ServiceNumber CreateServiceNumber(global::System.Guid id) + { + ServiceNumber serviceNumber = new ServiceNumber(); + serviceNumber.Id = id; + return serviceNumber; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Guid _Id; + partial void OnIdChanging(global::System.Guid value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String SN + { + get + { + return _SN; + } + set + { + OnSNChanging(value); + ReportPropertyChanging("SN"); + _SN = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("SN"); + OnSNChanged(); + } + } + private global::System.String _SN; + partial void OnSNChanging(global::System.String value); + partial void OnSNChanged(); + + #endregion + + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="TransportModel", Name="SMSC")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class SMSC : EntityObject + { + #region Factory Method + + /// + /// Create a new SMSC object. + /// + /// Initial value of the Id property. + /// Initial value of the Name property. + /// Initial value of the IsDelimited property. + public static SMSC CreateSMSC(global::System.Guid id, global::System.String name, global::System.Boolean isDelimited) + { + SMSC sMSC = new SMSC(); + sMSC.Id = id; + sMSC.Name = name; + sMSC.IsDelimited = isDelimited; + return sMSC; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Guid _Id; + partial void OnIdChanging(global::System.Guid value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Name + { + get + { + return _Name; + } + set + { + OnNameChanging(value); + ReportPropertyChanging("Name"); + _Name = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Name"); + OnNameChanged(); + } + } + private global::System.String _Name; + partial void OnNameChanging(global::System.String value); + partial void OnNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable Code + { + get + { + return _Code; + } + set + { + OnCodeChanging(value); + ReportPropertyChanging("Code"); + _Code = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Code"); + OnCodeChanged(); + } + } + private Nullable _Code; + partial void OnCodeChanging(Nullable value); + partial void OnCodeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ContactTech + { + get + { + return _ContactTech; + } + set + { + OnContactTechChanging(value); + ReportPropertyChanging("ContactTech"); + _ContactTech = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ContactTech"); + OnContactTechChanged(); + } + } + private global::System.String _ContactTech; + partial void OnContactTechChanging(global::System.String value); + partial void OnContactTechChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ContactHelpdesk + { + get + { + return _ContactHelpdesk; + } + set + { + OnContactHelpdeskChanging(value); + ReportPropertyChanging("ContactHelpdesk"); + _ContactHelpdesk = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ContactHelpdesk"); + OnContactHelpdeskChanged(); + } + } + private global::System.String _ContactHelpdesk; + partial void OnContactHelpdeskChanging(global::System.String value); + partial void OnContactHelpdeskChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ContactManager + { + get + { + return _ContactManager; + } + set + { + OnContactManagerChanging(value); + ReportPropertyChanging("ContactManager"); + _ContactManager = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ContactManager"); + OnContactManagerChanged(); + } + } + private global::System.String _ContactManager; + partial void OnContactManagerChanging(global::System.String value); + partial void OnContactManagerChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String EmergencyPhone + { + get + { + return _EmergencyPhone; + } + set + { + OnEmergencyPhoneChanging(value); + ReportPropertyChanging("EmergencyPhone"); + _EmergencyPhone = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("EmergencyPhone"); + OnEmergencyPhoneChanged(); + } + } + private global::System.String _EmergencyPhone; + partial void OnEmergencyPhoneChanging(global::System.String value); + partial void OnEmergencyPhoneChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Boolean IsDelimited + { + get + { + return _IsDelimited; + } + set + { + OnIsDelimitedChanging(value); + ReportPropertyChanging("IsDelimited"); + _IsDelimited = StructuralObject.SetValidValue(value); + ReportPropertyChanged("IsDelimited"); + OnIsDelimitedChanged(); + } + } + private global::System.Boolean _IsDelimited; + partial void OnIsDelimitedChanging(global::System.Boolean value); + partial void OnIsDelimitedChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Delimiter + { + get + { + return _Delimiter; + } + set + { + OnDelimiterChanging(value); + ReportPropertyChanging("Delimiter"); + _Delimiter = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Delimiter"); + OnDelimiterChanged(); + } + } + private global::System.String _Delimiter; + partial void OnDelimiterChanging(global::System.String value); + partial void OnDelimiterChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable ServiceId + { + get + { + return _ServiceId; + } + set + { + OnServiceIdChanging(value); + ReportPropertyChanging("ServiceId"); + _ServiceId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ServiceId"); + OnServiceIdChanged(); + } + } + private Nullable _ServiceId; + partial void OnServiceIdChanging(Nullable value); + partial void OnServiceIdChanged(); + + #endregion + + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="TransportModel", Name="SMSCSettings")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class SMSCSettings : EntityObject + { + #region Factory Method + + /// + /// Create a new SMSCSettings object. + /// + /// Initial value of the Id property. + /// Initial value of the SMSCId property. + /// Initial value of the ProtocolType property. + public static SMSCSettings CreateSMSCSettings(global::System.Guid id, global::System.Guid sMSCId, global::System.String protocolType) + { + SMSCSettings sMSCSettings = new SMSCSettings(); + sMSCSettings.Id = id; + sMSCSettings.SMSCId = sMSCId; + sMSCSettings.ProtocolType = protocolType; + return sMSCSettings; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Guid _Id; + partial void OnIdChanging(global::System.Guid value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid SMSCId + { + get + { + return _SMSCId; + } + set + { + OnSMSCIdChanging(value); + ReportPropertyChanging("SMSCId"); + _SMSCId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("SMSCId"); + OnSMSCIdChanged(); + } + } + private global::System.Guid _SMSCId; + partial void OnSMSCIdChanging(global::System.Guid value); + partial void OnSMSCIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String ProtocolType + { + get + { + return _ProtocolType; + } + set + { + OnProtocolTypeChanging(value); + ReportPropertyChanging("ProtocolType"); + _ProtocolType = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("ProtocolType"); + OnProtocolTypeChanged(); + } + } + private global::System.String _ProtocolType; + partial void OnProtocolTypeChanging(global::System.String value); + partial void OnProtocolTypeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String SMPP + { + get + { + return _SMPP; + } + set + { + OnSMPPChanging(value); + ReportPropertyChanging("SMPP"); + _SMPP = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("SMPP"); + OnSMPPChanged(); + } + } + private global::System.String _SMPP; + partial void OnSMPPChanging(global::System.String value); + partial void OnSMPPChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String HTTP + { + get + { + return _HTTP; + } + set + { + OnHTTPChanging(value); + ReportPropertyChanging("HTTP"); + _HTTP = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("HTTP"); + OnHTTPChanged(); + } + } + private global::System.String _HTTP; + partial void OnHTTPChanging(global::System.String value); + partial void OnHTTPChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Settings + { + get + { + return _Settings; + } + set + { + OnSettingsChanging(value); + ReportPropertyChanging("Settings"); + _Settings = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Settings"); + OnSettingsChanged(); + } + } + private global::System.String _Settings; + partial void OnSettingsChanging(global::System.String value); + partial void OnSettingsChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ManagerClass + { + get + { + return _ManagerClass; + } + set + { + OnManagerClassChanging(value); + ReportPropertyChanging("ManagerClass"); + _ManagerClass = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ManagerClass"); + OnManagerClassChanged(); + } + } + private global::System.String _ManagerClass; + partial void OnManagerClassChanging(global::System.String value); + partial void OnManagerClassChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("TransportModel", "FK_SMSCSettings_SMSC", "SMSC")] + public SMSC SMSC + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("TransportModel.FK_SMSCSettings_SMSC", "SMSC").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("TransportModel.FK_SMSCSettings_SMSC", "SMSC").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference SMSCReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("TransportModel.FK_SMSCSettings_SMSC", "SMSC"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("TransportModel.FK_SMSCSettings_SMSC", "SMSC", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="TransportModel", Name="SmscToServiceGroup")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class SmscToServiceGroup : EntityObject + { + #region Factory Method + + /// + /// Create a new SmscToServiceGroup object. + /// + /// Initial value of the Id property. + public static SmscToServiceGroup CreateSmscToServiceGroup(global::System.Guid id) + { + SmscToServiceGroup smscToServiceGroup = new SmscToServiceGroup(); + smscToServiceGroup.Id = id; + return smscToServiceGroup; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Guid _Id; + partial void OnIdChanging(global::System.Guid value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable ServiceGroupId + { + get + { + return _ServiceGroupId; + } + set + { + OnServiceGroupIdChanging(value); + ReportPropertyChanging("ServiceGroupId"); + _ServiceGroupId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ServiceGroupId"); + OnServiceGroupIdChanged(); + } + } + private Nullable _ServiceGroupId; + partial void OnServiceGroupIdChanging(Nullable value); + partial void OnServiceGroupIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable SmscId + { + get + { + return _SmscId; + } + set + { + OnSmscIdChanging(value); + ReportPropertyChanging("SmscId"); + _SmscId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("SmscId"); + OnSmscIdChanged(); + } + } + private Nullable _SmscId; + partial void OnSmscIdChanging(Nullable value); + partial void OnSmscIdChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("TransportModel", "FK_SmscToServiceGroup_SMSC_Id", "SMSC")] + public SMSC SMSC + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("TransportModel.FK_SmscToServiceGroup_SMSC_Id", "SMSC").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("TransportModel.FK_SmscToServiceGroup_SMSC_Id", "SMSC").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference SMSCReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("TransportModel.FK_SmscToServiceGroup_SMSC_Id", "SMSC"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("TransportModel.FK_SmscToServiceGroup_SMSC_Id", "SMSC", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("TransportModel", "FK_SmscToServiceGroup_ServiceGroup_Id", "ServiceGroup")] + public ServiceGroup ServiceGroup + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("TransportModel.FK_SmscToServiceGroup_ServiceGroup_Id", "ServiceGroup").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("TransportModel.FK_SmscToServiceGroup_ServiceGroup_Id", "ServiceGroup").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference ServiceGroupReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("TransportModel.FK_SmscToServiceGroup_ServiceGroup_Id", "ServiceGroup"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("TransportModel.FK_SmscToServiceGroup_ServiceGroup_Id", "ServiceGroup", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="TransportModel", Name="Tariff")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Tariff : EntityObject + { + #region Factory Method + + /// + /// Create a new Tariff object. + /// + /// Initial value of the Id property. + /// Initial value of the OperatorId property. + /// Initial value of the ServiceNumberId property. + /// Initial value of the TarifficationType property. + /// Initial value of the CurrencyId property. + /// Initial value of the Amount property. + public static Tariff CreateTariff(global::System.Guid id, global::System.Guid operatorId, global::System.Guid serviceNumberId, global::System.Byte tarifficationType, global::System.Guid currencyId, global::System.Decimal amount) + { + Tariff tariff = new Tariff(); + tariff.Id = id; + tariff.OperatorId = operatorId; + tariff.ServiceNumberId = serviceNumberId; + tariff.TarifficationType = tarifficationType; + tariff.CurrencyId = currencyId; + tariff.Amount = amount; + return tariff; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Guid _Id; + partial void OnIdChanging(global::System.Guid value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid OperatorId + { + get + { + return _OperatorId; + } + set + { + OnOperatorIdChanging(value); + ReportPropertyChanging("OperatorId"); + _OperatorId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("OperatorId"); + OnOperatorIdChanged(); + } + } + private global::System.Guid _OperatorId; + partial void OnOperatorIdChanging(global::System.Guid value); + partial void OnOperatorIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid ServiceNumberId + { + get + { + return _ServiceNumberId; + } + set + { + OnServiceNumberIdChanging(value); + ReportPropertyChanging("ServiceNumberId"); + _ServiceNumberId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ServiceNumberId"); + OnServiceNumberIdChanged(); + } + } + private global::System.Guid _ServiceNumberId; + partial void OnServiceNumberIdChanging(global::System.Guid value); + partial void OnServiceNumberIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Byte TarifficationType + { + get + { + return _TarifficationType; + } + set + { + OnTarifficationTypeChanging(value); + ReportPropertyChanging("TarifficationType"); + _TarifficationType = StructuralObject.SetValidValue(value); + ReportPropertyChanged("TarifficationType"); + OnTarifficationTypeChanged(); + } + } + private global::System.Byte _TarifficationType; + partial void OnTarifficationTypeChanging(global::System.Byte value); + partial void OnTarifficationTypeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String OperatorParameters + { + get + { + return _OperatorParameters; + } + set + { + OnOperatorParametersChanging(value); + ReportPropertyChanging("OperatorParameters"); + _OperatorParameters = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("OperatorParameters"); + OnOperatorParametersChanged(); + } + } + private global::System.String _OperatorParameters; + partial void OnOperatorParametersChanging(global::System.String value); + partial void OnOperatorParametersChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid CurrencyId + { + get + { + return _CurrencyId; + } + set + { + OnCurrencyIdChanging(value); + ReportPropertyChanging("CurrencyId"); + _CurrencyId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("CurrencyId"); + OnCurrencyIdChanged(); + } + } + private global::System.Guid _CurrencyId; + partial void OnCurrencyIdChanging(global::System.Guid value); + partial void OnCurrencyIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Decimal Amount + { + get + { + return _Amount; + } + set + { + OnAmountChanging(value); + ReportPropertyChanging("Amount"); + _Amount = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Amount"); + OnAmountChanged(); + } + } + private global::System.Decimal _Amount; + partial void OnAmountChanging(global::System.Decimal value); + partial void OnAmountChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable StartDate + { + get + { + return _StartDate; + } + set + { + OnStartDateChanging(value); + ReportPropertyChanging("StartDate"); + _StartDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("StartDate"); + OnStartDateChanged(); + } + } + private Nullable _StartDate; + partial void OnStartDateChanging(Nullable value); + partial void OnStartDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable EndDate + { + get + { + return _EndDate; + } + set + { + OnEndDateChanging(value); + ReportPropertyChanging("EndDate"); + _EndDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("EndDate"); + OnEndDateChanged(); + } + } + private Nullable _EndDate; + partial void OnEndDateChanging(Nullable value); + partial void OnEndDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable IsActive + { + get + { + return _IsActive; + } + set + { + OnIsActiveChanging(value); + ReportPropertyChanging("IsActive"); + _IsActive = StructuralObject.SetValidValue(value); + ReportPropertyChanged("IsActive"); + OnIsActiveChanged(); + } + } + private Nullable _IsActive; + partial void OnIsActiveChanging(Nullable value); + partial void OnIsActiveChanged(); + + #endregion + + } + + #endregion + #region ComplexTypes + + /// + /// No Metadata Documentation available. + /// + [EdmComplexTypeAttribute(NamespaceName="TransportModel", Name="DEFCode")] + [DataContractAttribute(IsReference=true)] + [Serializable()] + public partial class DEFCode : ComplexObject + { + #region Factory Method + + /// + /// Create a new DEFCode object. + /// + /// Initial value of the Id property. + public static DEFCode CreateDEFCode(global::System.Guid id) + { + DEFCode dEFCode = new DEFCode(); + dEFCode.Id = id; + return dEFCode; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Guid Id + { + get + { + return _Id; + } + set + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + private global::System.Guid _Id; + partial void OnIdChanging(global::System.Guid value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable RegionId + { + get + { + return _RegionId; + } + set + { + OnRegionIdChanging(value); + ReportPropertyChanging("RegionId"); + _RegionId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("RegionId"); + OnRegionIdChanged(); + } + } + private Nullable _RegionId; + partial void OnRegionIdChanging(Nullable value); + partial void OnRegionIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable DEF + { + get + { + return _DEF; + } + set + { + OnDEFChanging(value); + ReportPropertyChanging("DEF"); + _DEF = StructuralObject.SetValidValue(value); + ReportPropertyChanged("DEF"); + OnDEFChanged(); + } + } + private Nullable _DEF; + partial void OnDEFChanging(Nullable value); + partial void OnDEFChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable RangeStart + { + get + { + return _RangeStart; + } + set + { + OnRangeStartChanging(value); + ReportPropertyChanging("RangeStart"); + _RangeStart = StructuralObject.SetValidValue(value); + ReportPropertyChanged("RangeStart"); + OnRangeStartChanged(); + } + } + private Nullable _RangeStart; + partial void OnRangeStartChanging(Nullable value); + partial void OnRangeStartChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable RangeEnd + { + get + { + return _RangeEnd; + } + set + { + OnRangeEndChanging(value); + ReportPropertyChanging("RangeEnd"); + _RangeEnd = StructuralObject.SetValidValue(value); + ReportPropertyChanged("RangeEnd"); + OnRangeEndChanged(); + } + } + private Nullable _RangeEnd; + partial void OnRangeEndChanging(Nullable value); + partial void OnRangeEndChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable OperatorId + { + get + { + return _OperatorId; + } + set + { + OnOperatorIdChanging(value); + ReportPropertyChanging("OperatorId"); + _OperatorId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("OperatorId"); + OnOperatorIdChanged(); + } + } + private Nullable _OperatorId; + partial void OnOperatorIdChanging(Nullable value); + partial void OnOperatorIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable ChangeType + { + get + { + return _ChangeType; + } + set + { + OnChangeTypeChanging(value); + ReportPropertyChanging("ChangeType"); + _ChangeType = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ChangeType"); + OnChangeTypeChanged(); + } + } + private Nullable _ChangeType; + partial void OnChangeTypeChanging(Nullable value); + partial void OnChangeTypeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable ChangeDate + { + get + { + return _ChangeDate; + } + set + { + OnChangeDateChanging(value); + ReportPropertyChanging("ChangeDate"); + _ChangeDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ChangeDate"); + OnChangeDateChanged(); + } + } + private Nullable _ChangeDate; + partial void OnChangeDateChanging(Nullable value); + partial void OnChangeDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable brandId + { + get + { + return _brandId; + } + set + { + OnbrandIdChanging(value); + ReportPropertyChanging("brandId"); + _brandId = StructuralObject.SetValidValue(value); + ReportPropertyChanged("brandId"); + OnbrandIdChanged(); + } + } + private Nullable _brandId; + partial void OnbrandIdChanging(Nullable value); + partial void OnbrandIdChanged(); + + #endregion + } + + #endregion + +} diff --git a/Cryptany.Core.DB/TransportModel.edmx b/Cryptany.Core.DB/TransportModel.edmx new file mode 100644 index 0000000..fcc1eb7 --- /dev/null +++ b/Cryptany.Core.DB/TransportModel.edmx @@ -0,0 +1,726 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file