public async Task <ActionResult> Create([FromForm] GenerateImageRequest generateImageRequest)
        {
            try
            {
                generateImageRequest.Porosity = generateImageRequest.Porosity / 100;
                //ControlVariables controlVariables = new ControlVariables(0, false, 0, 0, false, 0, null, 0, false, 0, 0, null, 0, 0.5, 0, 0);
                ControlVariablesModel controlVariablesModel = new ControlVariablesModel
                {
                    Seed     = generateImageRequest.Seed,
                    Porosity = generateImageRequest.Porosity
                };

                GenerationImagesClient generationImagesClient = new GenerationImagesClient(new System.Net.Http.HttpClient());
                GeneratedImageGetModel generatedImage         = await generationImagesClient.PostAsync(1, controlVariablesModel);

                generatedImage.Porosity = generatedImage.Porosity * 100;

                var stl_file = Convert.FromBase64String(generatedImage.PolygonalModel.RockFaces);

                string currentDirectory = Directory.GetCurrentDirectory();
                string filePath         = System.IO.Path.Combine(currentDirectory, "wwwroot", "js", "porous.stl");
                System.IO.File.WriteAllBytes(filePath, stl_file);

                //return RedirectToAction(nameof(Details), generatedImage.Id);
                return(RedirectToAction("Details", new { id = generatedImage.Id }));
            }
            catch
            {
                return(View());
            }
        }
        public async Task <GeneratedImageGetModel> Post(int pGGANId, [FromBody] ControlVariablesModel controlVariablesModel)
        {
            /*
             * ControlVariables controlVariables = new ControlVariables
             * {
             *  NoiseVector = controlVariablesModel.NoiseVector,
             *  Porosity = controlVariablesModel.Porosity,
             *  ElementsCount = controlVariablesModel.ElementsCount,
             *  MinElementSize = controlVariablesModel.MinElementSize,
             *  MaxElementSize = controlVariablesModel.MaxElementSize,
             *  AvgElementSize = controlVariablesModel.AvgElementSize,
             *  Сohesion = controlVariablesModel.Cohesion,
             *  CavernsVolume = controlVariablesModel.CavernsVolume,
             *  ChanelsVolume = controlVariablesModel.ChanelsVolume,
             *  Permeability = controlVariablesModel.Permeability,
             *  Binarisation = controlVariablesModel.Binarisation,
             *  DeleteNoize = controlVariablesModel.DeleteNoize,
             *  Seed = controlVariablesModel.Seed
             * };*/
            ControlVariables controlVariables = _mapper.Map <ControlVariables>(controlVariablesModel);
            GeneratedImage   generatedImage   = await _generationImageService.Generate(pGGANId, controlVariables);


            GeneratedImageGetModel response = _mapper.Map <GeneratedImageGetModel>(generatedImage);

            response.PolygonalModel = new PolygonalModelGetModel
            {
                RockFaces = Convert.ToBase64String(generatedImage.PolygonalModel.RockFaces)
            };

            /*
             * var result = new GeneratedImageGetModel
             * {
             *  AvgElementSize = 0,
             *  CavernsVolume = 0,
             *  ChanelsVolume = 0,
             *  ControlVariables = controlVariables,
             *  CreatedDate = new DateTime()
             * };*/

            return(response);
        }