Example #1
0
 // single layer network
 public static NeuralNetwork<Vector> Create(IDataSet<Vector, Vector> dataSet, IActivator activator)
 {
     var workLayer = new FullyConnectedLayer(dataSet.FirstInput.Size, dataSet.FirstOutput.Size, activator);
     var outputLayer = new OutputLayer<Vector>();
     var layers = new CompositeLayer<Vector, Vector, Vector>(workLayer, outputLayer);
     return new NeuralNetwork<Vector>(layers);
 }
Example #2
0
 // Get the layer to create our feature on
 // It looks for either:
 //    - A feature layer for the given feature class
 //    - a subtype group layer for the given feature class, returning the feature layer child that matches the provided subtype
 private Layer GetLayerForEdit(Map map, string featureClassName, string subtypeName)
 {
     foreach (Layer layer in map.GetLayersAsFlattenedList())
     {
         if (layer is SubtypeGroupLayer)
         {
             if (layer.Name == featureClassName)
             {
                 CompositeLayer compositeLayer = layer as SubtypeGroupLayer;
                 foreach (Layer subtypeLayer in compositeLayer.Layers)
                 {
                     if (subtypeLayer.Name == subtypeName)
                     {
                         return(subtypeLayer);
                     }
                 }
             }
         }
         else if (layer is FeatureLayer)
         {
             if (layer.Name == featureClassName)
             {
                 return(layer);
             }
         }
     }
     return(null);
 }
        /// <summary>
        /// GetUtilityNetworkFromFeatureClass - gets a utility network from a layer
        /// </summary>
        /// <param name="layer"></param>
        /// <returns>a UtilityNetwork object, or null if the layer does not reference a utility network</returns>
        public static UtilityNetwork GetUtilityNetworkFromLayer(Layer layer)
        {
            if (layer is UtilityNetworkLayer)
            {
                UtilityNetworkLayer utilityNetworkLayer = layer as UtilityNetworkLayer;
                return(utilityNetworkLayer.GetUtilityNetwork());
            }

            else if (layer is SubtypeGroupLayer)
            {
                CompositeLayer compositeLayer = layer as CompositeLayer;
                return(GetUtilityNetworkFromLayer(compositeLayer.Layers.First()));
            }

            else if (layer is FeatureLayer)
            {
                FeatureLayer featureLayer = layer as FeatureLayer;
                using (FeatureClass featureClass = featureLayer.GetFeatureClass())
                {
                    if (featureClass.IsControllerDatasetSupported())
                    {
                        IReadOnlyList <Dataset> controllerDatasets = featureClass.GetControllerDatasets();
                        foreach (Dataset controllerDataset in controllerDatasets)
                        {
                            if (controllerDataset is UtilityNetwork)
                            {
                                return(controllerDataset as UtilityNetwork);
                            }
                        }
                    }
                }
            }
            return(null);
        }
Example #4
0
        /// <summary>
        /// GetUtilityNetworkFromFeatureClass - gets a utility network from a layer
        /// </summary>
        /// <param name="layer"></param>
        /// <returns>a UtilityNetwork object, or null if the layer does not reference a utility network</returns>
        public static UtilityNetwork GetUtilityNetworkFromLayer(Layer layer)
        {
            UtilityNetwork utilityNetwork = null;

            if (layer is UtilityNetworkLayer)
            {
                UtilityNetworkLayer utilityNetworkLayer = layer as UtilityNetworkLayer;
                utilityNetwork = utilityNetworkLayer.GetUtilityNetwork();
            }

            else if (layer is SubtypeGroupLayer)
            {
                CompositeLayer compositeLayer = layer as CompositeLayer;
                utilityNetwork = GetUtilityNetworkFromLayer(compositeLayer.Layers.First());
            }

            else if (layer is FeatureLayer)
            {
                FeatureLayer featureLayer = layer as FeatureLayer;
                using (FeatureClass featureClass = featureLayer.GetFeatureClass())
                {
                    if (featureClass.IsControllerDatasetSupported())
                    {
                        IReadOnlyList <Dataset> controllerDatasets = new List <Dataset>();
                        controllerDatasets = featureClass.GetControllerDatasets();
                        foreach (Dataset controllerDataset in controllerDatasets)
                        {
                            if (controllerDataset is UtilityNetwork)
                            {
                                utilityNetwork = controllerDataset as UtilityNetwork;
                            }
                            else
                            {
                                controllerDataset.Dispose();
                            }
                        }
                    }
                }
            }

            else if (layer is GroupLayer)
            {
                CompositeLayer compositeLayer = layer as CompositeLayer;
                foreach (Layer childLayer in compositeLayer.Layers)
                {
                    utilityNetwork = GetUtilityNetworkFromLayer(childLayer);
                    // Break at the first layer inside a group layer that belongs to a utility network
                    if (utilityNetwork != null)
                    {
                        break;
                    }
                }
            }

            return(utilityNetwork);
        }
        /// <summary>
        /// Get the UtilityNetwork from the layer
        /// </summary>
        /// <param name="layer">Layer</param>
        /// <returns>UtilityNetwork</returns>
        private static UtilityNetwork GetUtilityNetworkFromLayer(Layer layer)
        {
            if (layer == null)
            {
                return(null);
            }

            if (layer is UtilityNetworkLayer)
            {
                UtilityNetworkLayer utilityNetworkLayer = layer as UtilityNetworkLayer;
                return(utilityNetworkLayer.GetUtilityNetwork());
            }

            else if (layer is SubtypeGroupLayer)
            {
                CompositeLayer compositeLayer = layer as CompositeLayer;
                UtilityNetwork un;

                foreach (var v in compositeLayer.Layers)
                {
                    un = GetUtilityNetworkFromLayer(v);
                    if (un != null)
                    {
                        return(un);
                    }
                }
            }

            else if (layer is FeatureLayer)
            {
                FeatureLayer featureLayer = layer as FeatureLayer;
                using FeatureClass featureClass = featureLayer.GetFeatureClass();
                if (featureClass.IsControllerDatasetSupported())
                {
                    IReadOnlyList <Dataset> controllerDatasets = featureClass.GetControllerDatasets();
                    foreach (Dataset controllerDataset in controllerDatasets)
                    {
                        if (controllerDataset is UtilityNetwork)
                        {
                            return(controllerDataset as UtilityNetwork);
                        }
                    }
                }
            }

            else if (layer is DiagramLayer dl)
            {
                NetworkDiagram diagram        = dl.GetNetworkDiagram();
                DiagramManager diagramManager = diagram.DiagramManager;

                return(diagramManager.GetNetwork <UtilityNetwork>());
            }
            return(null);
        }
Example #6
0
        private void CompositeQueryLayersBindingSource_AddingNew(object sender, AddingNewEventArgs e)
        {
            CompositeLayer Layer1 = new CompositeLayer();

            Layer1.ID = Guid.NewGuid().ToString();
            if (ds != null)
            {
                Layer1.DataViewDataSourceName = ds.DatasourceName;
            }

            Layer1.DateCreated = DateTime.Now;
            Layer1.DateUpdated = DateTime.Now;

            e.NewObject = Layer1;
        }
        public Task <UtilityNetwork> GetUNByLayer(Layer layer)
        {
            return(QueuedTask.Run(() =>
            {
                if (layer is FeatureLayer)
                {
                    FeatureLayer featureLayer = layer as FeatureLayer;
                    using (FeatureClass featureClass = featureLayer.GetFeatureClass())
                    {
                        if (featureClass.IsControllerDatasetSupported())
                        {
                            IReadOnlyList <Dataset> datasets = featureClass.GetControllerDatasets();
                            foreach (var dataset in datasets)
                            {
                                if (dataset is UtilityNetwork)
                                {
                                    return dataset as UtilityNetwork;
                                }
                                else
                                {
                                    dataset.Dispose();
                                }
                            }
                        }
                    }
                }
                else if (layer is UtilityNetworkLayer)
                {
                    UtilityNetworkLayer utilityNetworkLayer = layer as UtilityNetworkLayer;
                    return utilityNetworkLayer.GetUtilityNetwork();
                }
                else if (layer is SubtypeGroupLayer)
                {
                    CompositeLayer compositeLayer = layer as CompositeLayer;
                    foreach (var subLayer in compositeLayer.Layers)
                    {
                        if (subLayer is UtilityNetworkLayer)
                        {
                            UtilityNetworkLayer unLayer = subLayer as UtilityNetworkLayer;
                            return unLayer.GetUtilityNetwork();
                        }
                    }
                }

                return null;
            }));
        }
Example #8
0
        private void Createbutton_Click(object sender, EventArgs e)
        {
            try

            {
                if (string.IsNullOrEmpty(this.layerNameTextBox.Text) || string.IsNullOrEmpty(this.localDBDriverVersionComboBox.Text) || string.IsNullOrEmpty(this.layerNameTextBox.Text))
                {
                    MessageBox.Show("Error, Please Fill all missing Fields");
                    throw new InvalidOperationException("Error, Please Fill all missing Fields");
                }
                if (DMEEditor.ConfigEditor.DataConnectionExist(layerNameTextBox.Text))
                {
                    MessageBox.Show("Error, Already there is a Data connection the Same name");
                    throw new InvalidOperationException("Error, Already there is a Data connection the Same name");
                }

                ConnectionProperties    cn      = new ConnectionProperties();
                ConnectionDriversConfig package = DMEEditor.ConfigEditor.DataDriversClasses.Where(x => x.classHandler == localDBDriverComboBox.Text).OrderByDescending(o => o.version).FirstOrDefault();
                Layer                 = (CompositeLayer)compositeQueryLayersBindingSource.Current;
                cn.CompositeLayer     = true;
                cn.ConnectionName     = layerNameTextBox.Text;
                cn.CompositeLayerName = layerNameTextBox.Text;
                cn.ConnectionName     = layerNameTextBox.Text;
                cn.DatabaseType       = package.DatasourceType;
                cn.Category           = package.DatasourceCategory;
                if (!string.IsNullOrEmpty(FileNametextBox.Text) || !string.IsNullOrEmpty(FolderSavelocationlabel.Text))
                {
                    cn.FilePath = FolderSavelocationlabel.Text;
                    cn.FileName = FileNametextBox.Text;
                }
                else
                {
                    cn.FilePath = DMEEditor.ConfigEditor.Config.Folders.Where(x => x.FolderFilesType == FolderFileTypes.DataFiles).FirstOrDefault().FolderPath;
                    cn.FileName = layerNameTextBox.Text;
                }
                if (cn.FilePath.Contains(DMEEditor.ConfigEditor.ExePath))
                {
                    cn.FilePath.Replace(DMEEditor.ConfigEditor.ExePath, ".");
                }
                cn.DriverName                = package.PackageName;
                cn.DriverVersion             = package.version;
                cn.ID                        = DMEEditor.ConfigEditor.DataConnections.Max(p => p.ID) + 1;
                cn.Category                  = DatasourceCategory.RDBMS;
                Layer.DataSourceName         = this.layerNameTextBox.Text;
                Layer.DataViewDataSourceName = this.dataViewDataSourceNameComboBox.Text;
                Layer.Entities               = new List <EntityStructure>();
                compositeQueryLayersBindingSource.EndEdit();
                DMEEditor.ConfigEditor.RemoveDataSourceEntitiesValues(Layer.DataSourceName);
                ILocalDB db = (ILocalDB)DMEEditor.CreateLocalDataSourceConnection(cn, cn.ConnectionName, package.classHandler);
                db.CreateDB();

                DMEEditor.ConfigEditor.AddDataConnection(cn);
                DMEEditor.ConfigEditor.SaveDataconnectionsValues();
                //  DMEEditor.ConfigEditor.SaveCompositeLayersValues();
                //--------------------
                try
                {
                    //  waitForm = new WaitFormFunc();
                    //  waitForm.Show(this.ParentForm);
                    CompositeLayerDataSource compositeLayerDataSource = new CompositeLayerDataSource(cn.ConnectionName, DMEEditor.Logger, DMEEditor, cn.DatabaseType, DMEEditor.ErrorObject);
                    ConnectionDriversConfig  driversConfig            = DMEEditor.Utilfunction.LinkConnection2Drivers(cn);
                    compositeLayerDataSource.Dataconnection.ConnectionProp   = cn;
                    compositeLayerDataSource.Dataconnection.DataSourceDriver = driversConfig;
                    compositeLayerDataSource.LocalDB = db;
                    // compositeLayerDataSource.Dataconnection.OpenConnection();
                    DMEEditor.OpenDataSource(cn.ConnectionName);
                    compositeLayerDataSource.Openconnection();
                    //   Visutil.treeEditor.ShowWaiting();
                    //   Visutil.treeEditor.ChangeWaitingCaption($"Getting  Composed Layer Entities Total:{compositeLayerDataSource.Entities.Count}");
                    compositeLayerDataSource.GetAllEntitiesFromDataView();
                    //    Visutil.treeEditor.HideWaiting();
                    DMEEditor.ConfigEditor.SaveCompositeLayersValues();
                    RootCompositeLayerBranch.CreateChildNodes();
                    //   waitForm.Close();
                }
                catch (Exception ex1)
                {
                    string errmsg = $"Error Creating Composite Layer for view";
                    //   waitForm.Close();
                    DMEEditor.AddLogMessage("Fail", $"{errmsg}:{ex1.Message}", DateTime.Now, 0, null, Errors.Failed);
                }

                MessageBox.Show($"Creating Composite Layer for view {branch.BranchText}");
                DMEEditor.AddLogMessage("Success", $"Creating Composite Layer for view {branch.BranchText}", DateTime.Now, 0, null, Errors.Ok);
                this.ParentForm.Close();
            }
            catch (Exception ex)
            {
                string errmsg = $"Error Creating Composite Layer for view {branch.BranchText}";

                DMEEditor.AddLogMessage("Fail", $"{errmsg}:{ex.Message}", DateTime.Now, 0, null, Errors.Failed);
                MessageBox.Show(errmsg);
            }
        }