Пример #1
0
        public void Should_Create_New_Layer()
        {
            var fakeContext = new FakeContext("CreateNewLayer");

            var fakeLayer = new Layer();

            fakeLayer.Name = "full name";

            using (var context = new MainContext(fakeContext.FakeOptions))
            {
                var repository    = new LayerRepository(context);
                var mockValidator = new Mock <IValidator <Layer> >(MockBehavior.Strict);

                mockValidator
                .Setup(x => x.Validate(fakeLayer))
                .Returns(new FluentValidation.Results.ValidationResult());

                var service = new LayerService(repository, mockValidator.Object);
                var actual  = service.Create(fakeLayer);
                var id      = actual.Id;

                Assert.NotEqual(0, id);
                repository.Dispose();
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            var culture = CultureInfo.CreateSpecificCulture("en-US");

            Thread.CurrentThread.CurrentCulture = culture;

            //var parser = new KmlParserV2();
            var           parser = new KmlParser();
            var           layer  = parser.ReadKmlFile();
            List <string> errors = parser.ListErrors(layer);

            if (!errors.Any())
            {
                Console.WriteLine(" Ingrese el regionId (numeros)");
                int regionId = Convert.ToInt32(Console.ReadLine());
                layer.RegionId = regionId;

                Console.Write("\n Archivo leido correctamente, no contiene erorres" + "\n");
                Console.WriteLine(" Importando archivos a la base de datos...");
                LayerRepository la = new LayerRepository(ConfigurationManager.ConnectionStrings["Earthwatchers_DSN"].ConnectionString);
                la.SaveLayerFull(layer);

                Console.WriteLine(" Archivos importados correctamente");
                Console.WriteLine(" Desea intersectar las lands con los poligonos? (( Y / N ))");

                var intersects = Console.ReadLine();
                if (intersects == "Y" || intersects == "y")
                {
                    LandRepository landrepo = new LandRepository(ConfigurationManager.ConnectionStrings["Earthwatchers_DSN"].ConnectionString);

                    var layerId = layer.Id;

                    Console.WriteLine(" Intersectando Lands con zona, Hora de inicio: " + DateTime.Now);

                    bool succeed = landrepo.IntersectLandsWithZone(regionId, layerId);
                    if (succeed)
                    {
                        Console.WriteLine(" Lands Actualizadas Correctamente");
                        Console.WriteLine(" Hora de fin: " + DateTime.Now);
                    }
                    else
                    {
                        Console.WriteLine(" Error al actualizar las lands");
                        Console.WriteLine(" Hora de fin: " + DateTime.Now);
                    }
                }
            }
            else
            {
                Console.WriteLine("\n Archivo leido correctamente, contiene erorres en los siguientes campos: " + "\n");

                foreach (string er in errors)
                {
                    Console.WriteLine(" " + er.ToString());
                }
                Console.WriteLine("\n Solucione los problemas pendientes y vuelva a cargar el archivo");
                Console.ReadLine();
            }
        }
Пример #3
0
 private void initializeRepositories(DbContext i_Context)
 {
     m_CoordinateReository  = new CoordinateRepository(i_Context);
     m_CropRepository       = new CropRepository(i_Context);
     m_LayerRepository      = new LayerRepository(i_Context);
     m_SiteRepository       = new SiteRepository(i_Context);
     m_siteByYearRepository = new SiteByYearRepository(i_Context);
 }
Пример #4
0
    public void UpdateBackgroundImage(string layerName, string imgPath)
    {
        Sprite image = Resources.Load <Sprite>(imgPath);

        if (image == null)
        {
            Debug.LogWarning("Bg Error: [" + imgPath + "] not found");
            return;
        }
        sceneController.viewController.UpdateLayerImage(LayerRepository.FindByName(layerName), image);
    }
Пример #5
0
        public void Initialize()
        {
            var lyRepository = new LayerRepository();

            if (lyRepository.GetLayer("BE") == ObjectId.Null)
            {
                lyRepository.CreateALayer("BE", ColorMethod.ByAci, 30, LineWeight.LineWeight030);
            }

            if (lyRepository.GetLayer("") == ObjectId.Null)
            {
                lyRepository.CreateALayer("BE-AM", ColorMethod.ByAci, 101, LineWeight.LineWeight030);
            }
            _editor.WriteMessage("SAE (Sistema de Alvenaria Estrutural) carregado.");
        }
Пример #6
0
        public void Should_Return_All_Layer_In_Db()
        {
            var fakeContext = new FakeContext("GetAllLayer");

            fakeContext.FillWith <Layer>();

            using (var context = new MainContext(fakeContext.FakeOptions))
            {
                var layerCountIndDb = context.Layer.Count();
                var repository      = new LayerRepository(context);

                Assert.Equal(layerCountIndDb, repository.GetAll().Count());
                repository.Dispose();
            }
        }
Пример #7
0
        public void Should_Return_Right_Layer_When_Find_By_Id_In_Db(int id)
        {
            var fakeContext = new FakeContext("LayerById");

            fakeContext.FillWith <Layer>();

            using (var context = new MainContext(fakeContext.FakeOptions))
            {
                var expected   = fakeContext.GetFakeData <Layer>().Find(x => x.Id == id);
                var repository = new LayerRepository(context);
                var actual     = repository.GetById(id);

                Assert.Equal(expected, actual, new LayerIdComparer());
                repository.Dispose();
            }
        }
Пример #8
0
        public void Should_Return_All_Layers()
        {
            var fakeContext = new FakeContext("GetAllLayers");

            fakeContext.FillWith <Layer>();

            using (var context = new MainContext(fakeContext.FakeOptions))
            {
                var layerCountIndDb = context.Layer.Count();
                var repository      = new LayerRepository(context);
                var validator       = new LayerValidator();
                var service         = new LayerService(repository, validator);

                Assert.Equal(layerCountIndDb, service.GetAll().Count());
                repository.Dispose();
            }
        }
Пример #9
0
        public void Should_Update_Layer_In_Db(int id)
        {
            var fakeContext = new FakeContext("UpdateLayer");

            fakeContext.FillWith <Layer>();

            using (var context = new MainContext(fakeContext.FakeOptions))
            {
                var repository   = new LayerRepository(context);
                var currentLayer = repository.GetById(id);

                currentLayer.Name = "123abc";
                repository.Update(currentLayer);
                Assert.Equal("123abc", repository.GetById(id).Name);
                repository.Dispose();
            }
        }
Пример #10
0
    public void UpdateCharacterImage(string layerName, string characterName, string characterPattern)
    {
        Layer     layer     = LayerRepository.FindByName(layerName);
        Character character = CharacterRepository.FindByPattern(characterName, characterPattern);

        if (character == null)
        {
            Debug.LogWarning("Cannot find Character with name = [" + characterName + "], pattern = [" + characterPattern + "]");
        }
        // Pivotを調整
        switch (character.Pivot)
        {
        case "Bottom":
            sceneController.viewController.UpdateLayerPivot(layer, TextAnchor.LowerCenter);
            break;

        case "Center":
            sceneController.viewController.UpdateLayerPivot(layer, TextAnchor.MiddleCenter);
            break;

        case "Top":
            sceneController.viewController.UpdateLayerPivot(layer, TextAnchor.UpperCenter);
            break;

        default:
            Debug.LogWarning("Unkown Character.Pivot [" + character.Pivot + "].");
            break;
        }
        //paddingを調整
        sceneController.viewController.UpdatePadding(layer, character);
        //Spriteを表示
        Sprite image = Resources.Load <Sprite>(character.FilePath);

        sceneController.viewController.UpdateLayerImage(layer, image);
        // Imageのサイズを調整
        Debug.Log(image);
        float   imageRatio = image.rect.height / image.rect.width;
        Vector2 size       = new Vector2(layer.Width, layer.Width * imageRatio);

        if (size.y > layer.Height)
        {
            size = new Vector2(size.x, layer.Height);
        }
        sceneController.viewController.UpdateLayerImageSize(layer, size);
    }
Пример #11
0
 public HttpResponseMessage Delete(int id, HttpRequestMessage <int> request)
 {
     if (id != 0)
     {
         var regionId = basecampRepository.GetById(id).RegionId;
         basecampRepository.Delete(id);
         LayerRepository layerRepository = new LayerRepository(ConfigurationManager.ConnectionStrings["EarthwatchersConnection"].ConnectionString);
         layerRepository.DeleteZone(id);
         LandRepository landRepository = new LandRepository(ConfigurationManager.ConnectionStrings["EarthwatchersConnection"].ConnectionString);
         landRepository.LoadLandBasecamp(regionId);
         return(new HttpResponseMessage {
             StatusCode = HttpStatusCode.OK
         });
     }
     return(new HttpResponseMessage {
         StatusCode = HttpStatusCode.NotFound
     });
 }
Пример #12
0
        public void Should_Delete_Layer()
        {
            var fakeContext = new FakeContext("DeleteLayer");

            fakeContext.FillWith <Layer>();

            using (var context = new MainContext(fakeContext.FakeOptions))
            {
                var repository   = new LayerRepository(context);
                var validator    = new LayerValidator();
                var service      = new LayerService(repository, validator);
                var currentCount = context.Layer.Count();

                Assert.NotEqual(0, currentCount);
                service.Delete(1);
                Assert.NotEqual(currentCount, context.Layer.Count());
                repository.Dispose();
            }
        }
Пример #13
0
        public void Should_Update_Existing_Layer(int id)
        {
            var fakeContext = new FakeContext("UpdateLayer");

            fakeContext.FillWith <Layer>();

            using (var context = new MainContext(fakeContext.FakeOptions))
            {
                var repository  = new LayerRepository(context);
                var validator   = new LayerValidator();
                var service     = new LayerService(repository, validator);
                var curretLayer = service.GetById(id);

                curretLayer.Name = "Testing";
                service.Update(curretLayer);
                Assert.Equal("Testing", service.GetById(id).Name);
                repository.Dispose();
            }
        }
Пример #14
0
        public void Should_Save_New_Layer_To_Db()
        {
            var fakeContext = new FakeContext("AddNewLayer");

            var fakeLayer = new Layer();

            fakeLayer.Name = "Desenvolvimento";
            fakeLayer.Id   = 4;

            using (var context = new MainContext(fakeContext.FakeOptions))
            {
                var repository = new LayerRepository(context);
                repository.Create(fakeLayer);

                var createdLayer = repository.GetById(4);

                Assert.NotEqual(0, fakeLayer.Id);
                Assert.Equal("Desenvolvimento", createdLayer.Name);
                Assert.Equal(4, createdLayer.Id);
                repository.Dispose();
            }
        }
Пример #15
0
        public void Should_Delete_Layer_In_Db()
        {
            var fakeContext = new FakeContext("DeleteLayer");

            fakeContext.FillWith <Layer>();

            using (var context = new MainContext(fakeContext.FakeOptions))
            {
                var repository   = new LayerRepository(context);
                var currentCount = context.Layer.Count();
                var newLayer     = new Layer();
                newLayer.Name = "Layer";
                repository.Create(newLayer);
                var idToDelete = (from l in repository.GetAll()
                                  where l.Id == newLayer.Id
                                  select l.Id).FirstOrDefault();

                Assert.Equal(currentCount + 1, repository.GetAll().Count());
                repository.Delete(idToDelete);
                Assert.Equal(currentCount, context.Layer.Count());
                repository.Dispose();
            }
        }
Пример #16
0
        public void Should_Create_Correct_LayerDTO_Object(int id)
        {
            var fakeContext = new FakeContext("LayerDTOTest");

            fakeContext.FillWithAll();

            using (var context = new MainContext(fakeContext.FakeOptions))
            {
                var repository = new LayerRepository(context);
                var validator  = new LayerValidator();
                var service    = new LayerService(repository, validator);
                var mockMapper = new MapperConfiguration(cfg =>
                {
                    cfg.AddProfile <AutoMapperProfile>();;
                });
                var mapper = mockMapper.CreateMapper();

                var testLayer = service.GetById(id);
                var layerDTO  = mapper.Map <Layer, LayerDTO>(testLayer);

                Assert.IsType <LayerDTO>(layerDTO);
                Assert.Equal(testLayer.Name, layerDTO.Name);
            }
        }
Пример #17
0
        static void Main(string[] args)
        {
            try
            {
                var st            = DateTime.Now;
                var fincasName    = "";
                var forestLawName = "";

                ////PRUEBA TAMAÑOS
                //var topLeft = new PointD(-62.087462, -23.842284); //Long/Lat
                //var bottomRight = new PointD(-61.838865, -24.080809); //Long/Lat
                //int regionId = 5;

                //var topLeft = new PointD(-65.742, -21.988);     //UBICACIONES DEL CUADRADO GRANDE SALTA
                //var bottomRight = new PointD(-62.057556, -26.558016);

                ////Salta - Argentina
                //var topLeft = new PointD(-63.655230, -22.055296); //Long/Lat
                //var bottomRight = new PointD(-63.098436, -22.508956); //Long/Lat
                //fincasName = "FincasLayer1";
                //forestLawName = "OTBN";
                //int regionId = 1;

                ////Chaco - Argentina
                var topLeft     = new PointD(-63.553825, -23.976782); //Long/Lat
                var bottomRight = new PointD(-60.235678, -26.294722); //Long/Lat
                fincasName    = "FincasLayer2";                       //Nombre que debe tener el kml que contiene las fincas de ese pais
                forestLawName = "OTBN2";                              //Nombre de la ley de bosques del pais
                int regionId = 2;


                //China -  Yaan
                //var topLeft = new PointD(101.488403, 30.889660); //Long/Lat  COMPLETO
                //var bottomRight = new PointD(103.621349, 28.774082); //Long/Lat COMPLETO
                //var topLeft = new PointD(102.552107, 30.673024); //Long/Lat
                //var bottomRight = new PointD(102.901923, 29.774818); //Long/Lat
                //fincasName = "FincasLayer3"; //Nombre que debe tener el kml que contiene las fincas de ese pais
                //forestLawName = "OTBN3"; //Nombre de la ley de bosques del pais
                //int regionId = 3;

                ////China - zhejian
                ////var topLeft = new PointD(117.998174, 31.243206); //Long/Lat  COMPLETO
                ////var bottomRight = new PointD(121.583889, 26.797424); //Long/Lat  COMPLETO
                //var topLeft = new PointD(119.101848, 29.848194); //Long/Lat
                //var bottomRight = new PointD(119.412014, 29.732894); //Long/Lat
                //fincasName = "FincasLayer4"; //Nombre que debe tener el kml que contiene las fincas de ese pais
                //forestLawName = "OTBN4"; //Nombre de la ley de bosques del pais
                //int regionId = 4;

                ////Canada
                //var topLeft = new PointD(-111.236353, 57.299930); //Long/Lat
                //var bottomRight = new PointD(-110.900724, 57.107068); //Long/Lat
                //fincasName = "FincasLayer5"; //Nombre que debe tener el kml que contiene las fincas de ese pais
                //forestLawName = "OTBN5"; //Nombre de la ley de bosques del pais
                //int regionId = 5;

                var repo = new LayerRepository(_connectionString);

                Console.WriteLine("Cargando Fincas en memoria...");
                Layer basecampsLayer = null;// repo.GetLayerByName(fincasName);

                Console.WriteLine("Cargando Ley de bosques en memoria...");
                Layer forestLawLayer = null;//repo.GetLayerByName(forestLawName);  //

                if (basecampsLayer != null)
                {
                    var bclist = basecampsLayer.Zones.Select(z => new ComputableZone(z)).ToList();
                    _basecamps = new ComputableLayer(bclist);
                }

                if (forestLawLayer != null)
                {
                    var lawlist = forestLawLayer.Zones.Select(z => new ComputableZone(z)).ToList();
                    _forestlaw = new ComputableLayer(lawlist);
                }


                Console.WriteLine("Intersectando Lands con Fincas y ley de bosques...");
                var newLands = GenerateLands(topLeft, bottomRight, 7, regionId);


                // write land to database...
                //var landRepository = new LandRepository("Data Source=dfrvf2t76i.database.windows.net;Initial Catalog=EarthwatchersRegions;Persist Security Info=True;User ID=Editor;Asynchronous Processing=True;Password=8p3k00l!!!!");
                var conbase = newLands.Where(x => x.BasecampId != null);
                Console.WriteLine("Guardando las " + newLands.Count + " lands generadas...");
                var landRepository = new LandRepository(_connectionString);
                landRepository.CreateLand(newLands);

                //Se usan aun, pero habria que mejorar el metodo que calcula la amenaza y el basecamp
                #region Obsoleto
                //Console.WriteLine("Cargando Threat levels...");
                //landRepository.LoadThreatLevel();
                //Console.WriteLine("Asignando BasecampId a lands...");
                //landRepository.LoadLandBasecamp();
                #endregion

                Console.WriteLine("Carga Completa");
                var horaFin = DateTime.Now;
                Console.WriteLine("Hora Fin CreateLand: " + horaFin);

                Console.WriteLine("Klaar"); //Listo Holandés
                Console.ReadKey();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Пример #18
0
        public static List <string> ReadKmlFile(int id)
        {
            var errors = new List <string>();
            var path   = ConfigurationManager.AppSettings.Get("kml.fincas.path");

            if (Directory.GetFiles(path).Count() > 1)
            {
                errors.Add("Se encontró mas de un archivo kml a procesar en la carpeta, estos archivos ya fueron eliminados. Intente nuevamente la operación");

                for (var i = 0; i <= Directory.GetFiles(path).Count(); i++)
                {
                    var filename    = Directory.GetFiles(path).FirstOrDefault();
                    var archivePath = ConfigurationManager.AppSettings.Get("kml.fincas.archive.path");
                    var archiveName = new FileInfo(filename).Name.Replace(".kml", string.Format("{0}.{1}.{2}.kml", "archive", DateTime.Now.ToString("yyyyMMdd"), DateTime.Now.ToString("HHmmss")));
                    if (!Directory.Exists(archivePath))
                    {
                        Directory.CreateDirectory(archivePath);
                    }
                    File.Move(filename, Path.Combine(archivePath, archiveName));
                }
            }
            else
            {
                BasecampRepository basecampRepo = new BasecampRepository(ConfigurationManager.ConnectionStrings["EarthwatchersConnection"].ConnectionString);
                var        fincaRegionId        = (basecampRepo.GetById(id)).RegionId;
                var        FincasLayerName      = "FincasLayer" + fincaRegionId;
                var        filename             = Directory.GetFiles(path).FirstOrDefault();
                XDocument  xDoc = XDocument.Load(filename);
                XNamespace ns   = "http://www.opengis.net/kml/2.2";

                var   doc   = xDoc.Descendants(ns + "Document").ToList();
                Layer layer = new Layer();
                layer.Name  = FincasLayerName;
                layer.Zones = doc.Elements(ns + "Folder").Select(ze =>
                                                                 new Zone(ze.Element(ns + "name").Value,
                                                                          ze.Descendants(ns + "Placemark").Select(pm =>
                                                                                                                  new Polygon()
                {
                    Name      = pm.Element(ns + "name").Value,
                    Locations = pm.Descendants(ns + "coordinates").First().Value.Trim()
                                .Replace("\n", "")
                                .Replace("\t", "")
                                .Split(' ')
                                .Select(x => new Location(ParseLatitude(x), ParseLongitude(x)))
                                .ToList(),
                    PolygonGeom = ParsePolygon(pm.Descendants(ns + "coordinates").First().Value.Trim()
                                               .Replace("\n", " ")
                                               .Replace("\t", " ")
                                               .Replace(",0 ", "|")
                                               .Replace(",", " ")
                                               .Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries))
                }).ToList(),
                                                                          ze.Element(ns + "description").Value,
                                                                          id.ToString() //Agrega el basecampId a la zona
                                                                          )).ToList();

                errors = KmlParserBasecamp.ListErrors(layer);

                if (errors.Count == 0)
                {
                    //Save finca
                    LayerRepository la = new LayerRepository(ConfigurationManager.ConnectionStrings["EarthwatchersConnection"].ConnectionString);
                    la.SaveFincaFull(layer);
                    LandRepository landRepo = new LandRepository(ConfigurationManager.ConnectionStrings["EarthwatchersConnection"].ConnectionString);
                    landRepo.LoadLandBasecamp(fincaRegionId);
                }

                //Una vez finalizado mover a la carpeta Achieved
                var archivePath = ConfigurationManager.AppSettings.Get("kml.fincas.archive.path");
                var archiveName = new FileInfo(filename).Name.Replace(".kml", string.Format("{0}.{1}.{2}.kml", "archive", DateTime.Now.ToString("yyyyMMdd"), DateTime.Now.ToString("HHmmss")));
                if (!Directory.Exists(archivePath))
                {
                    Directory.CreateDirectory(archivePath);
                }
                File.Move(filename, Path.Combine(archivePath, archiveName));
            }

            return(errors);
        }
Пример #19
0
        protected override void Seed(ApplicationDbContext db)
        {
            var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(db));
            var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));

            if (!roleManager.RoleExists("Admin"))
            {
                var role = new IdentityRole();
                role.Name = "Admin";
                roleManager.Create(role);

                var user = new ApplicationUser();
                user.UserName         = "******";
                user.Email            = "*****@*****.**";
                user.PhoneNumber      = "+380695630697";
                user.Address          = "Krylos village, Green Street 2";
                user.RegistrationDate = DateTime.Now;
                user.LastLogin        = DateTime.Now;

                string userPWD = "Admin123@com";

                var checkUser = UserManager.Create(user, userPWD);

                if (checkUser.Succeeded)
                {
                    var result = UserManager.AddToRole(user.Id, "Admin");
                }

                TaskNetworkRepository dbTasks     = new TaskNetworkRepository(db);
                TaskNetwork           taskKerogen = new TaskNetwork {
                    Name = "Kerogen", Description = "парам", TableName = "Kerogens"
                };
                TaskNetwork taskLayer = new TaskNetwork {
                    Name = "Layer", Description = "парам", TableName = "Layers"
                };
                dbTasks.Create(taskKerogen);

                db.SaveChanges();

                dbTasks.Create(taskLayer);

                db.SaveChanges();

                const int kerogenAmount = 19;
                const int layerAmount   = 15;
                const int typesAmount   = 2;
                const int networkAmount = 3;

                KerogenRepository dbKerogens = new KerogenRepository(db);
                Kerogen[]         kerogens   = new Kerogen[kerogenAmount] {
                    new Kerogen {
                        Carbon = 0.765, Hydrogen = 0.1, Oxygen = 0.103, Nitrogen = 0.6, Sulfur = 0.026, Type = 1
                    },
                    new Kerogen {
                        Carbon = 0.759, Hydrogen = 0.091, Oxygen = 0.084, Nitrogen = 0.039, Sulfur = 0.026, Type = 1
                    },
                    new Kerogen {
                        Carbon = 0.809, Hydrogen = 0.086, Oxygen = 0.044, Nitrogen = 0.038, Sulfur = 0.023, Type = 1
                    },
                    new Kerogen {
                        Carbon = 0.726, Hydrogen = 0.079, Oxygen = 0.124, Nitrogen = 0.021, Sulfur = 0.049, Type = 2
                    },
                    new Kerogen {
                        Carbon = 0.854, Hydrogen = 0.079, Oxygen = 0.05, Nitrogen = 0.023, Sulfur = 0.002, Type = 2
                    },
                    new Kerogen {
                        Carbon = 0.806, Hydrogen = 0.059, Oxygen = 0.064, Nitrogen = 0.034, Sulfur = 0.038, Type = 2
                    },
                    new Kerogen {
                        Carbon = 0.727, Hydrogen = 0.06, Oxygen = 0.19, Nitrogen = 0.023, Sulfur = 0.0, Type = 3
                    },
                    new Kerogen {
                        Carbon = 0.833, Hydrogen = 0.046, Oxygen = 0.095, Nitrogen = 0.021, Sulfur = 0.005, Type = 3
                    },
                    new Kerogen {
                        Carbon = 0.916, Hydrogen = 0.032, Oxygen = 0.029, Nitrogen = 0.02, Sulfur = 0.003, Type = 3
                    },
                    new Kerogen {
                        Carbon = 0.827, Hydrogen = 0.041, Oxygen = 0.083, Nitrogen = 0.017, Sulfur = 0.032, Type = 1
                    },
                    new Kerogen {
                        Carbon = 0.854, Hydrogen = 0.035, Oxygen = 0.056, Nitrogen = 0.021, Sulfur = 0.033, Type = 2
                    },
                    new Kerogen {
                        Carbon = 0.686, Hydrogen = 0.051, Oxygen = 0.212, Nitrogen = 0.026, Sulfur = 0.025, Type = 3
                    },
                    new Kerogen {
                        Carbon = 0.775, Hydrogen = 0.108, Oxygen = 0.093, Nitrogen = 0.004, Sulfur = 0.02, Type = 1
                    },
                    new Kerogen {
                        Carbon = 0.735, Hydrogen = 0.083, Oxygen = 0.18, Nitrogen = 0.026, Sulfur = 0.018, Type = 2
                    },
                    new Kerogen {
                        Carbon = 0.883, Hydrogen = 0.05, Oxygen = 0.039, Nitrogen = 0.02, Sulfur = 0.008, Type = 3
                    },
                    new Kerogen {
                        Carbon = 0.759, Hydrogen = 0.094, Oxygen = 0.088, Nitrogen = 0.021, Sulfur = 0.038, Type = 1
                    },
                    new Kerogen {
                        Carbon = 0.693, Hydrogen = 0.083, Oxygen = 0.18, Nitrogen = 0.026, Sulfur = 0.018, Type = 2
                    },
                    new Kerogen {
                        Carbon = 0.913, Hydrogen = 0.032, Oxygen = 0.032, Nitrogen = 0.018, Sulfur = 0.005, Type = 3
                    },
                    new Kerogen {
                        Carbon = 0.822, Hydrogen = 0.099, Oxygen = 0.013, Nitrogen = 0.013, Sulfur = 0.025, Type = 1
                    }
                };

                for (int i = 0; i < kerogenAmount; i++)
                {
                    dbKerogens.Create(kerogens[i]);
                    db.SaveChanges();
                }

                LayerRepository dbLayers = new LayerRepository(db);
                Layer[]         layers   = new Layer[layerAmount]
                {
                    new Layer {
                        Porosity = 0.189, Clayness = 0.1, Carbonate = 0.86, Amplitude = 0.22, Type = 1
                    },
                    new Layer {
                        Porosity = 0.141, Clayness = 0.078, Carbonate = 0.123, Amplitude = 0.12, Type = 1
                    },
                    new Layer {
                        Porosity = 0.15, Clayness = 0.095, Carbonate = 0.128, Amplitude = 0.08, Type = 1
                    },
                    new Layer {
                        Porosity = 0.126, Clayness = 0.401, Carbonate = 0.085, Amplitude = 0.04, Type = 2
                    },
                    new Layer {
                        Porosity = 0.109, Clayness = 0.156, Carbonate = 0.179, Amplitude = 0.08, Type = 2
                    },
                    new Layer {
                        Porosity = 0.095, Clayness = 0.278, Carbonate = 0.124, Amplitude = 0.05, Type = 2
                    },
                    new Layer {
                        Porosity = 0.156, Clayness = 0.124, Carbonate = 0.09, Amplitude = 0.17, Type = 1
                    },
                    new Layer {
                        Porosity = 0.178, Clayness = 0.167, Carbonate = 0.075, Amplitude = 0.05, Type = 1
                    },
                    new Layer {
                        Porosity = 0.107, Clayness = 0.222, Carbonate = 0.119, Amplitude = 0.14, Type = 1
                    },
                    new Layer {
                        Porosity = 0.115, Clayness = 0.174, Carbonate = 0.182, Amplitude = 0.07, Type = 1
                    },
                    new Layer {
                        Porosity = 0.126, Clayness = 0.151, Carbonate = 0.144, Amplitude = 0.1, Type = 1
                    },
                    new Layer {
                        Porosity = 0.088, Clayness = 0.189, Carbonate = 0.25, Amplitude = 0.03, Type = 2
                    },
                    new Layer {
                        Porosity = 0.12, Clayness = 0.335, Carbonate = 0.086, Amplitude = 0.03, Type = 2
                    },
                    new Layer {
                        Porosity = 0.09, Clayness = 0.147, Carbonate = 0.197, Amplitude = 0.07, Type = 2
                    },
                    new Layer {
                        Porosity = 0.085, Clayness = 0.15, Carbonate = 0.224, Amplitude = 0.04, Type = 2
                    }
                };

                for (int i = 0; i < layerAmount; i++)
                {
                    dbLayers.Create(layers[i]);
                    db.SaveChanges();
                }

                NetworkTypeRepository dbTypes = new NetworkTypeRepository(db);
                NetworkType[]         types   = new NetworkType[typesAmount]
                {
                    new NetworkType {
                        Name = "Supervised leraning", Description = "парам"
                    },
                    new NetworkType {
                        Name = "Unsupervised leraning", Description = "парам"
                    }
                };

                for (int i = 0; i < typesAmount; i++)
                {
                    dbTypes.Create(types[i]);
                    db.SaveChanges();
                }

                NeuralNetworkRepository dbNetworks = new NeuralNetworkRepository(db);
                NeuralNetwork[]         networks   = new NeuralNetwork[networkAmount]
                {
                    new NeuralNetwork {
                        Name = "BPN", Description = "param", NetworkTypeId = 1
                    },
                    new NeuralNetwork {
                        Name = "LVQ", Description = "param", NetworkTypeId = 2
                    },
                    new NeuralNetwork {
                        Name = "GeneticBPN", Description = "param", NetworkTypeId = 1
                    }
                };

                for (int i = 0; i < networkAmount; i++)
                {
                    dbNetworks.Create(networks[i]);
                    db.SaveChanges();
                }

                AvailableNetworksRepository dbANet    = new AvailableNetworksRepository(db);
                AvailableNetwork[]          aNetworks = new AvailableNetwork[]
                {
                    new AvailableNetwork {
                        NeuralNetworkId = GetNetworkId("BPN", dbNetworks), TaskId = GetTaskId("Kerogen", dbTasks)
                    },
                    new AvailableNetwork {
                        NeuralNetworkId = GetNetworkId("BPN", dbNetworks), TaskId = GetTaskId("Layer", dbTasks)
                    },
                    new AvailableNetwork {
                        NeuralNetworkId = GetNetworkId("LVQ", dbNetworks), TaskId = GetTaskId("Kerogen", dbTasks)
                    },
                    new AvailableNetwork {
                        NeuralNetworkId = GetNetworkId("LVQ", dbNetworks), TaskId = GetTaskId("Layer", dbTasks)
                    },
                    new AvailableNetwork {
                        NeuralNetworkId = GetNetworkId("GeneticBPN", dbNetworks), TaskId = GetTaskId("Kerogen", dbTasks)
                    },
                    new AvailableNetwork {
                        NeuralNetworkId = GetNetworkId("GeneticBPN", dbNetworks), TaskId = GetTaskId("Layer", dbTasks)
                    }
                };

                for (int i = 0; i < aNetworks.Length; i++)
                {
                    dbANet.Create(aNetworks[i]);
                    db.SaveChanges();
                }
            }

            if (!roleManager.RoleExists("User"))
            {
                var role = new IdentityRole();
                role.Name = "User";
                roleManager.Create(role);
            }


            db.SaveChanges();
        }
Пример #20
0
 public void Init()
 {
     sceneController = GameObject.FindObjectOfType <StorySceneController>();
     LayerRepository.SortByOrder();
     sceneController.viewController.CreateLayers(LayerRepository.All);
 }
Пример #21
0
 public void RemoveLayerImage(string layerName)
 {
     sceneController.viewController.UpdateLayerImage(LayerRepository.FindByName(layerName), null);
 }