public ApplicationSettings() { //defaults Appointment Booking DynamicsSettings envAppointmentBooking = new DynamicsSettings { AppId = "5b5de57b-6005-48d8-b751-456686d37e20", Secret = "Ho3+w/sqZSUdoLWBvj4LkhpYn/I8zsWioIdH6TK32Og=", OAuthEndPoint = "https://login.microsoftonline.com/172e0c50-ade4-44ab-9a50-b86af9d7fc37/oauth2/token", ApiBaseUrl = "https://appointmentbooking.api.crm.dynamics.com/api/data/v8.2/", InstanceUrl = "https://appointmentbooking.crm.dynamics.com", CalServicesUrl = "https://xrmdataservices.azurewebsites.net/api/", EnvironmentName = "Appointment Booking" }; _environments.Add(ID_ENV_APP_BOOKING, envAppointmentBooking); DynamicsSettings envRetail = new DynamicsSettings { AppId = "9d7ba813-c1cf-4607-bb6b-f6901451f7e1", Secret = "kauwxErPY2KzPuwNFIJolvQpKZyVwTdqkFDPLslkHEw=", OAuthEndPoint = "https://login.microsoftonline.com/73063bca-37ae-4d37-b316-85fb315e3d8e/oauth2/token", ApiBaseUrl = "https://woodgroveretail1.api.crm3.dynamics.com/api/data/v9.0/", InstanceUrl = "https://woodgroveretail1.crm3.dynamics.com", CalServicesUrl = "https://wgrxrmdataservices.azurewebsites.net/api/", EnvironmentName = "Woodgrove Retail1" }; _environments.Add(ID_ENV_RETAIL, envRetail); }
/// <summary> /// The deep copy constructor /// </summary> /// <param name="source">Source instance</param> public DynamicsSettings(DynamicsSettings source) { RestingEfficacy = source.RestingEfficacy; TauFacilitation = source.TauFacilitation; TauDepression = source.TauDepression; ApplyShortTermPlasticity = source.ApplyShortTermPlasticity; WeightCfg = null; if (source.WeightCfg != null) { WeightCfg = source.WeightCfg.DeepClone(); } return; }
//Methods /// <summary> /// See the base. /// </summary> public override bool Equals(object obj) { if (obj == null) { return(false); } DynamicsSettings cmpSettings = obj as DynamicsSettings; if (RestingEfficacy != cmpSettings.RestingEfficacy || TauFacilitation != cmpSettings.TauFacilitation || TauDepression != cmpSettings.TauDepression || ApplyShortTermPlasticity != cmpSettings.ApplyShortTermPlasticity || !Equals(WeightCfg, cmpSettings.WeightCfg) ) { return(false); } return(true); }
/// <summary> /// The deep copy constructor /// </summary> /// <param name="source">Source instance</param> public InternalSynapseSettings(InternalSynapseSettings source) { S2SSynapseE2EDynamicsCfg = source.S2SSynapseE2EDynamicsCfg?.DeepClone(); S2SSynapseE2IDynamicsCfg = source.S2SSynapseE2IDynamicsCfg?.DeepClone(); S2SSynapseI2EDynamicsCfg = source.S2SSynapseI2EDynamicsCfg?.DeepClone(); S2SSynapseI2IDynamicsCfg = source.S2SSynapseI2IDynamicsCfg?.DeepClone(); A2SSynapseE2EDynamicsCfg = source.A2SSynapseE2EDynamicsCfg?.DeepClone(); A2SSynapseE2IDynamicsCfg = source.A2SSynapseE2IDynamicsCfg?.DeepClone(); A2SSynapseI2EDynamicsCfg = source.A2SSynapseI2EDynamicsCfg?.DeepClone(); A2SSynapseI2IDynamicsCfg = source.A2SSynapseI2IDynamicsCfg?.DeepClone(); S2ASynapseE2EDynamicsCfg = source.S2ASynapseE2EDynamicsCfg?.DeepClone(); S2ASynapseI2EDynamicsCfg = source.S2ASynapseI2EDynamicsCfg?.DeepClone(); S2ASynapseE2IDynamicsCfg = source.S2ASynapseE2IDynamicsCfg?.DeepClone(); S2ASynapseI2IDynamicsCfg = source.S2ASynapseI2IDynamicsCfg?.DeepClone(); A2ASynapseE2EDynamicsCfg = source.A2ASynapseE2EDynamicsCfg?.DeepClone(); A2ASynapseI2EDynamicsCfg = source.A2ASynapseI2EDynamicsCfg?.DeepClone(); A2ASynapseE2IDynamicsCfg = source.A2ASynapseE2IDynamicsCfg?.DeepClone(); A2ASynapseI2IDynamicsCfg = source.A2ASynapseI2IDynamicsCfg?.DeepClone(); return; }
//Constructors /// <summary> /// Creates an uninitialized instance /// </summary> public InternalSynapseSettings() { S2SSynapseE2EDynamicsCfg = null; S2SSynapseE2IDynamicsCfg = null; S2SSynapseI2EDynamicsCfg = null; S2SSynapseI2IDynamicsCfg = null; A2SSynapseE2EDynamicsCfg = null; A2SSynapseE2IDynamicsCfg = null; A2SSynapseI2EDynamicsCfg = null; A2SSynapseI2IDynamicsCfg = null; S2ASynapseE2EDynamicsCfg = null; S2ASynapseI2EDynamicsCfg = null; S2ASynapseE2IDynamicsCfg = null; S2ASynapseI2IDynamicsCfg = null; A2ASynapseE2EDynamicsCfg = null; A2ASynapseI2EDynamicsCfg = null; A2ASynapseE2IDynamicsCfg = null; A2ASynapseI2IDynamicsCfg = null; return; }
/// <summary> /// Creates the deep copy instance of this instance /// </summary> public DynamicsSettings DeepClone() { DynamicsSettings clone = new DynamicsSettings(this); return(clone); }
/// <summary> /// Creates the instance and initialize it from given xml element. /// </summary> /// <param name="elem"> /// Xml data containing settings. /// Content of xml element is always validated against the xml schema. /// </param> public InternalSynapseSettings(XElement elem) { //Validation ElemValidator validator = new ElemValidator(); Assembly assemblyRCNet = Assembly.GetExecutingAssembly(); validator.AddXsdFromResources(assemblyRCNet, "RCNet.Neural.Network.SM.Synapse.InternalSynapseSettings.xsd"); validator.AddXsdFromResources(assemblyRCNet, "RCNet.RCNetTypes.xsd"); XElement settingsElem = validator.Validate(elem, "rootElem"); //Parsing //Spiking target XElement dynamicsCfgElem; //S2SSynapseE2EDynamicsCfg dynamicsCfgElem = settingsElem.XPathSelectElement("./dynamicsS2SEE"); S2SSynapseE2EDynamicsCfg = dynamicsCfgElem == null ? new DynamicsSettings(0.5, 1100, 50, true) : new DynamicsSettings(dynamicsCfgElem); //S2SSynapseE2IDynamicsCfg dynamicsCfgElem = settingsElem.XPathSelectElement("./dynamicsS2SEI"); S2SSynapseE2IDynamicsCfg = dynamicsCfgElem == null ? new DynamicsSettings(0.05, 125, 1200, true) : new DynamicsSettings(dynamicsCfgElem); //S2SSynapseI2EDynamicsCfg dynamicsCfgElem = settingsElem.XPathSelectElement("./dynamicsS2SIE"); S2SSynapseI2EDynamicsCfg = dynamicsCfgElem == null ? new DynamicsSettings(0.25, 700, 20, true) : new DynamicsSettings(dynamicsCfgElem); //S2SSynapseI2IDynamicsCfg dynamicsCfgElem = settingsElem.XPathSelectElement("./dynamicsS2SII"); S2SSynapseI2IDynamicsCfg = dynamicsCfgElem == null ? new DynamicsSettings(0.32, 144, 60, true) : new DynamicsSettings(dynamicsCfgElem); //A2SSynapseE2EDynamicsCfg dynamicsCfgElem = settingsElem.XPathSelectElement("./dynamicsA2SEE"); A2SSynapseE2EDynamicsCfg = dynamicsCfgElem == null ? new DynamicsSettings(0.5, 1100, 50, true) : new DynamicsSettings(dynamicsCfgElem); //A2SSynapseE2IDynamicsCfg dynamicsCfgElem = settingsElem.XPathSelectElement("./dynamicsA2SEI"); A2SSynapseE2IDynamicsCfg = dynamicsCfgElem == null ? new DynamicsSettings(0.05, 125, 1200, true) : new DynamicsSettings(dynamicsCfgElem); //A2SSynapseI2EDynamicsCfg dynamicsCfgElem = settingsElem.XPathSelectElement("./dynamicsA2SIE"); A2SSynapseI2EDynamicsCfg = dynamicsCfgElem == null ? new DynamicsSettings(0.25, 700, 20, true) : new DynamicsSettings(dynamicsCfgElem); //A2SSynapseI2IDynamicsCfg dynamicsCfgElem = settingsElem.XPathSelectElement("./dynamicsA2SII"); A2SSynapseI2IDynamicsCfg = dynamicsCfgElem == null ? new DynamicsSettings(0.32, 144, 60, true) : new DynamicsSettings(dynamicsCfgElem); //Analog target //S2ASynapseE2EDynamicsCfg dynamicsCfgElem = settingsElem.XPathSelectElement("./dynamicsS2AEE"); S2ASynapseE2EDynamicsCfg = dynamicsCfgElem == null ? new DynamicsSettings(0, 0, 0, false) : new DynamicsSettings(dynamicsCfgElem); //S2ASynapseI2EDynamicsCfg dynamicsCfgElem = settingsElem.XPathSelectElement("./dynamicsS2AIE"); S2ASynapseI2EDynamicsCfg = dynamicsCfgElem == null ? new DynamicsSettings(0, 0, 0, false) : new DynamicsSettings(dynamicsCfgElem); //S2ASynapseE2IDynamicsCfg dynamicsCfgElem = settingsElem.XPathSelectElement("./dynamicsS2AEI"); S2ASynapseE2IDynamicsCfg = dynamicsCfgElem == null ? new DynamicsSettings(0, 0, 0, false) : new DynamicsSettings(dynamicsCfgElem); //S2ASynapseI2IDynamicsCfg dynamicsCfgElem = settingsElem.XPathSelectElement("./dynamicsS2AII"); S2ASynapseI2IDynamicsCfg = dynamicsCfgElem == null ? new DynamicsSettings(0, 0, 0, false) : new DynamicsSettings(dynamicsCfgElem); //A2ASynapseE2EDynamicsCfg dynamicsCfgElem = settingsElem.XPathSelectElement("./dynamicsA2AEE"); A2ASynapseE2EDynamicsCfg = dynamicsCfgElem == null ? new DynamicsSettings(0, 0, 0, false) : new DynamicsSettings(dynamicsCfgElem); //A2ASynapseI2EDynamicsCfg dynamicsCfgElem = settingsElem.XPathSelectElement("./dynamicsA2AIE"); A2ASynapseI2EDynamicsCfg = dynamicsCfgElem == null ? new DynamicsSettings(0, 0, 0, false) : new DynamicsSettings(dynamicsCfgElem); //A2ASynapseE2IDynamicsCfg dynamicsCfgElem = settingsElem.XPathSelectElement("./dynamicsA2AEI"); A2ASynapseE2IDynamicsCfg = dynamicsCfgElem == null ? new DynamicsSettings(0, 0, 0, false) : new DynamicsSettings(dynamicsCfgElem); //A2ASynapseI2IDynamicsCfg dynamicsCfgElem = settingsElem.XPathSelectElement("./dynamicsA2AII"); A2ASynapseI2IDynamicsCfg = dynamicsCfgElem == null ? new DynamicsSettings(0, 0, 0, false) : new DynamicsSettings(dynamicsCfgElem); return; }