public void ProductionAlterSaveDataOptions(ImageFile imageFile, Bitmap newBMP)
        {
            string newFileName;
            string newPath;

            int op = IOUser.ConsoleReadInput(ProductionSaveDataList);

            switch (op)
            {
            case 0:
                IOUser.ClearConsole();
                Console.WriteLine("\nEnter a name for the new image (don't add .jpg):\n");
                newFileName = IOUser.ConsoleSaveAs(imageFile.Origin, saveDirectory);
                newPath     = Path.Combine(saveDirectory, newFileName);
                File.Copy(imageFile.Origin, newPath);
                IOUser.ConsoleOutput("Changes Saved! Going back to editing options");
                imageFile.Bpm = newBMP;
                imageFile.Bpm.Save(newPath);
                Thread.Sleep(2000);
                break;

            case 1:
                IOUser.ClearConsole();
                IOUser.ConsoleOutput("Changes Discarded! Going back to editing options");
                Thread.Sleep(2000);
                break;
            }
        }
        public int GSaveDataOptions(ImageFile imageFile)
        {
            int op = IOUser.ConsoleReadInput(GeneralSaveDataList);

            switch (op)
            {
            case 0:
                IOUser.ClearConsole();
                IOUser.ConsoleOutput("Changes Saved! Going back to editing options");
                Thread.Sleep(2000);
                break;

            case 1:
                IOUser.ClearConsole();
                IOUser.ConsoleOutput("Changes Discarded! Going back to text inserter");
                Thread.Sleep(2000);
                break;

            case 2:
                IOUser.ClearConsole();
                IOUser.ConsoleOutput("Changes Discarded! Going back to editing options");
                Thread.Sleep(2000);
                break;

            case 3:
                IOUser.ClearConsole();
                IOUser.ConsoleOutput("Going back to *SELECTED WORKING STATION*");
                Thread.Sleep(2000);
                break;
            }
            return(op);
        }
示例#3
0
        public async Task <IActionResult> OnGetAsync(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(BaseURL);
                client.DefaultRequestHeaders.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                var res = await client.GetAsync("IOUser/" + id);

                if (res.IsSuccessStatusCode)
                {
                    var userResult = res.Content.ReadAsStringAsync().Result;
                    User = JsonConvert.DeserializeObject <IOUser>(userResult);
                }


                else
                {
                    throw new Exception("User your're trying to display does not exist");
                }
            }
            return(Page());
        }
        public string ImportPath(int op)
        {
            string workingPath = "/%void%/";
            string path;

            switch (op)
            {
            case 0:
                break;

            case 1:
                path = IOUser.ConsoleReadPath();
                if (path != "/%void%/")
                {
                    File.Copy(path, Path.Combine(importDirectory, Path.GetFileName(path)));
                }
                return(workingPath);

            case 2:
                List <string> paths = IOUser.ConsoleReadDirectory(extensionTypes);
                if (paths[0] != "/%void%/")
                {
                    foreach (string p in paths)
                    {
                        File.Copy(p, Path.Combine(importDirectory, Path.GetFileName(p)));
                    }
                }
                return(workingPath);

            case 3:
                if (!Directory.EnumerateFiles(importDirectory).Any())
                {
                    IOUser.ConsoleError("Import directory is empty...");
                    Thread.Sleep(1500);
                    IOUser.ClearConsole();
                    return(workingPath);
                }
                else
                {
                    path = IOUser.ConsoleReadFileName(importDirectory, extensionTypes);
                    return(path);
                }
            }

            return(workingPath);
        }
        public void ProductionSaveDataOptions(string originBMPpath, Bitmap newBMP)
        {
            string newFileName;
            string newPath;
            string importFolderPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..\\..\\..\\PM-Images\\Imports");

            int op = IOUser.ConsoleReadInput(ProductionSaveDataList);

            switch (op)
            {
            case 0:
                IOUser.ClearConsole();
                Console.WriteLine("\nEnter a name for the new image (don't add .jpg):\n");
                newFileName      = IOUser.ConsoleSaveAs(originBMPpath, saveDirectory);
                newPath          = Path.Combine(saveDirectory, newFileName);
                importFolderPath = Path.Combine(importFolderPath, newFileName);
                File.Copy(originBMPpath, newPath);
                IOUser.ConsoleOutput("Changes Saved and Copy created! Going back to editing options");
                newBMP.Save(newPath);
                newBMP.Save(importFolderPath);
                Thread.Sleep(2000);
                break;

            case 1:
                IOUser.ClearConsole();
                Console.WriteLine("\nEnter a name for the new image (don't add .jpg):\n");
                newFileName = IOUser.ConsoleSaveAs(originBMPpath, saveDirectory);
                newPath     = Path.Combine(saveDirectory, newFileName);
                File.Copy(originBMPpath, newPath);
                IOUser.ConsoleOutput("Changes Saved! Going back to editing options");
                newBMP.Save(newPath);
                Thread.Sleep(2000);
                break;

            case 2:
                IOUser.ClearConsole();
                IOUser.ConsoleOutput("Changes Discarded! Going back to editing options");
                Thread.Sleep(2000);
                break;
            }
        }
示例#6
0
        static void Main()
        {
            // Check for previous data
            if (!LoadData())
            {
                IOUser.ConsoleOutput("No previous data");
                characters = new List <Character>();
            }
            else
            {
                IOUser.ConsoleOutput("Characters loaded...");
            }

            int option = -1;

            while (option != options.Count - 1)
            {
                IOUser.ConsoleListOutput("Please select one option", options);
                option = IOUser.ConsoleReadInput();
                switch (option)
                {
                case 0:
                    IOUser.ConsoleOutput("Testing send message...");
                    break;

                case 1:
                    IOUser.ConsoleError("Testing error message...");
                    break;

                case 2:
                    IOUser.ConsoleOutput("Loading file...");
                    string       s      = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "../../Files/Characters.txt");
                    StreamReader reader = new StreamReader(s);

                    while (!reader.EndOfStream)
                    {
                        string    line            = reader.ReadLine();
                        string [] characterParams = line.Split(',');
                        switch (characterParams[0])
                        {
                        case "Warrior":
                            characters.Add(new Warrior(characterParams[1], int.Parse(characterParams[2])));
                            break;

                        case "Knight":
                            characters.Add(new Knight(characterParams[1], int.Parse(characterParams[2])));
                            break;

                        case "Assassin":
                            characters.Add(new Assassin(characterParams[1], int.Parse(characterParams[2])));
                            break;

                        case "Mage":
                            characters.Add(new Mage(characterParams[1], int.Parse(characterParams[2])));
                            break;

                        case "Druid":
                            characters.Add(new Druid(characterParams[1], int.Parse(characterParams[2])));
                            break;

                        case "Necromancer":
                            characters.Add(new Necromancer(characterParams[1], int.Parse(characterParams[2])));
                            break;

                        default:
                            break;
                        }
                    }
                    foreach (Character character in characters)
                    {
                        System.Console.WriteLine($"Character class: {character.GetType().Name}, Character Name: {character.Name}");
                    }
                    break;

                case 3:
                    foreach (Character character in characters)
                    {
                        System.Console.WriteLine($"Character class: {character.GetType().Name}, Character Name: {character.Name}");
                    }
                    break;

                case 4:
                    characters.Add(new Warrior());
                    break;

                default:
                    SaveData();
                    break;
                }
            }
        }
示例#7
0
        static void Main()
        {
            /*
             * //Tipos por valor y por referencia
             *
             * //Por valor
             * int firstNumber = 4;
             * int secondNumber = firstNumber;
             * System.Console.WriteLine($"firstNumber: {firstNumber}, secondNumber: {secondNumber}");
             * firstNumber += 1;
             * System.Console.WriteLine($"firstNumber: {firstNumber}, secondNumber: {secondNumber}");
             *
             *
             * //Por referencia
             * List<int> firstList = new List<int> { firstNumber, secondNumber };
             * List<int> secondList = firstList;
             * for (int i = 0; i < firstList.Count; i++)
             * {
             *  System.Console.WriteLine($"{firstList[i]}, {secondList[i]}");
             * }
             * firstList[0] = firstNumber * 2;
             * for (int i = 0; i < firstList.Count; i++)
             * {
             *  System.Console.WriteLine($"{firstList[i]}, {secondList[i]}");
             * }
             *
             * //Otro Ejemplo con objetos, las clases creadas son por referencia
             * Warrior warrior1 = new Warrior();
             * System.Console.WriteLine(warrior1.Name);
             * changeWarriorName(warrior1);
             * System.Console.WriteLine(warrior1.Name);
             *
             * //Que pasa si cambio el valor de un int en un metodo?
             * System.Console.WriteLine(PlusOne(firstNumber)); // Esto deberia mostrar 6
             * System.Console.WriteLine(firstNumber); //Esto mostrara 5 porque es por valor!!
             */

            // I/O
            List <Character> characters = new List <Character>();
            List <string>    options    = new List <string>()
            {
                "Test send message",
                "Test error message",
                "Test load file",
                "Exit"
            };
            int option = -1;

            while (option != options.Count - 1)
            {
                IOUser.ConsoleListOutput("Please select one option", options);
                option = IOUser.ConsoleReadInput();
                switch (option)
                {
                case 0:
                    IOUser.ConsoleOutput("Testing send message...");
                    break;

                case 1:
                    IOUser.ConsoleError("Testing error message...");
                    break;

                case 2:
                    IOUser.ConsoleOutput("Loading file...");
                    string       s      = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "../../Files/Characters.txt");
                    StreamReader reader = new StreamReader(s);

                    while (!reader.EndOfStream)
                    {
                        string    line            = reader.ReadLine();
                        string [] characterParams = line.Split(',');
                        switch (characterParams[0])
                        {
                        case "Warrior":
                            characters.Add(new Warrior(characterParams[1], int.Parse(characterParams[2])));
                            break;

                        case "Knight":
                            characters.Add(new Knight(characterParams[1], int.Parse(characterParams[2])));
                            break;

                        case "Assassin":
                            characters.Add(new Assassin(characterParams[1], int.Parse(characterParams[2])));
                            break;

                        case "Mage":
                            characters.Add(new Mage(characterParams[1], int.Parse(characterParams[2])));
                            break;

                        case "Druid":
                            characters.Add(new Druid(characterParams[1], int.Parse(characterParams[2])));
                            break;

                        case "Necromancer":
                            characters.Add(new Necromancer(characterParams[1], int.Parse(characterParams[2])));
                            break;

                        default:
                            break;
                        }
                    }
                    foreach (Character character in characters)
                    {
                        System.Console.WriteLine($"Character class: {character.GetType().Name}, Character Name: {character.Name}");
                    }
                    break;

                default:
                    break;
                }
            }
        }
        public List <string> MoreImages(int op, List <string> fusionImgs)
        {
            List <string> backOP = new List <string>()
            {
                "/%void%/"
            };

            switch (op)
            {
            case 0:
                return(backOP);

            case 1:
                bool valid = false;

                int moreOption = -1;
                while (!valid)
                {
                    while (moreOption == -1)
                    {
                        IOUser.ClearConsole();
                        string path = IOUser.ConsoleReadFileName(importDirectory, extensionTypes, "Enter the image name to select from import folder:\n");
                        if (path != "/%void%/" && !fusionImgs.Contains(path))
                        {
                            fusionImgs.Add(path);
                            break;
                        }
                        if (fusionImgs.Contains(path))
                        {
                            IOUser.ConsoleError("Image already selected...\n");
                            Thread.Sleep(1000);
                        }
                        else
                        {
                            IOUser.ClearConsole();
                            IOUser.ConsoleListOutput("Go back to image production menu?", YNListI);
                            moreOption = IOUser.ConsoleReadInput(YNListI) - 1;
                            if (moreOption == 0)
                            {
                                return(new List <string>()
                                {
                                    "/%void%/"
                                });
                            }
                        }
                    }

                    IOUser.ClearConsole();
                    IOUser.ConsoleListOutput("Use another image?", YNListI);
                    moreOption = IOUser.ConsoleReadInput(YNListI);
                    if (moreOption == 0)
                    {
                        return(fusionImgs);
                    }
                    else
                    {
                        IOUser.ClearConsole();
                        string path = IOUser.ConsoleReadFileName(importDirectory, extensionTypes, "Enter the image name to select from import folder:\n");
                        if (path != "/%void%/" && !fusionImgs.Contains(path))
                        {
                            fusionImgs.Add(path);
                            continue;
                        }
                        if (fusionImgs.Contains(path))
                        {
                            IOUser.ConsoleError("Image already selected...\n");
                            Thread.Sleep(1000);
                        }
                        continue;
                    }
                }
                return(backOP);

                //MORE CASES
            }

            return(backOP);
        }
        public void Launch()
        {
            IOUser.ConsoleWelcome();

            Importer importer = new Importer();

            if (!Directory.Exists(importer.importDirectory))
            {
                FileSystem.CreateDirectory(importer.importDirectory);
            }
            SaveEXIFData();

            SaveData saveData = new SaveData();

            if (!Directory.Exists(saveData.saveDirectory))
            {
                FileSystem.CreateDirectory(saveData.saveDirectory);
            }

            List <ImageFile> imageFilesImportFolder = LoadEXIFData();

            int searchOption = -1;

            while (searchOption != 0)
            {
                IOUser.ConsoleListOutput("Select one of the following options:", importer.ImportList);
                searchOption = IOUser.ConsoleReadInput(importer.ImportList);
                IOUser.ClearConsole();

                if (searchOption == 0)
                {
                    IOUser.ConsoleExit(); Thread.Sleep(2500); break;
                }

                string path = importer.ImportPath(searchOption);

                if (path == "/%void%/")
                {
                    IOUser.ClearConsole(); continue;
                }
                SaveEXIFData();

                ImageFile imageFile = new ImageFile(path);



                int editingOption = -1;
                while (editingOption != 0)
                {
                    IOUser.ClearConsole();
                    IOUser.ConsoleListOutput("Select one of the following options:", EditingList);
                    editingOption = IOUser.ConsoleReadInput(EditingList);

                    switch (editingOption)  //PHOTO EDITING OPTIONS
                    {
                    case 0:
                        break;

                    case 1:      //IMAGE FILTERS

                        int saveDataOption1 = 1;
                        while ((saveDataOption1 == 1) || (saveDataOption1 == 3))
                        {
                            IOUser.ClearConsole();
                            IOUser.ConsoleListOutput("Select one of the following filters:", FilterList);
                            int filterOption = IOUser.ConsoleReadInput(FilterList);

                            Bitmap filter = imageFile.Bpm;     //

                            switch (filterOption)
                            {
                            case 0:
                                break;

                            case 1:         //GRAY SCALE

                                filter = Filters.GreyScale(imageFile.Bpm);
                                IOUser.ConsoleOutput("Filter applied successfully!");
                                IOUser.ConsoleError("SHOW IMAGE");         //SHOW
                                Console.WriteLine("\nPress any key to continue");
                                Console.ReadLine();
                                break;

                            case 2:         //NEGATIVE

                                filter = Filters.Negative(imageFile.Bpm);
                                IOUser.ConsoleOutput("Filter applied successfully!");
                                IOUser.ConsoleError("SHOW IMAGE");         //SHOW
                                Console.WriteLine("\nPress any key to continue");
                                Console.ReadLine();
                                break;

                            case 3:         //SEPIA

                                filter = Filters.Sepia(imageFile.Bpm);
                                IOUser.ConsoleOutput("Filter applied successfully!");
                                IOUser.ConsoleError("SHOW IMAGE");         //SHOW
                                Console.WriteLine("\nPress any key to continue");
                                Console.ReadLine();
                                break;

                            case 4:         //BLOSSOM

                                filter = Filters.Blossom(imageFile.Bpm);
                                IOUser.ConsoleOutput("Filter applied successfully!");
                                IOUser.ConsoleError("SHOW IMAGE");         //SHOW
                                Console.WriteLine("\nPress any key to continue");
                                Console.ReadLine();
                                break;

                            case 5:         //OLD MOVIE

                                filter = Filters.OldMovie(imageFile.Bpm);
                                IOUser.ConsoleOutput("Filter applied successfully!");
                                IOUser.ConsoleError("SHOW IMAGE");         //SHOW
                                Console.WriteLine("\nPress any key to continue");
                                Console.ReadLine();
                                break;
                            }

                            if (filterOption == 0)
                            {
                                break;
                            }

                            IOUser.ClearConsole();
                            IOUser.ConsoleListOutput("Apply changes?", saveData.FilterSaveDataList);
                            saveDataOption1 = saveData.FilterSaveDataOptions(imageFile, filter);
                            IOUser.ClearConsole();
                        }
                        break;

                    case 2:
                        int productionOption = -1;
                        while (productionOption != 0)
                        {
                            IOUser.ClearConsole();
                            IOUser.ConsoleListOutput("Select one of the following production options:", ProductionList);
                            productionOption = IOUser.ConsoleReadInput(ProductionList);

                            switch (productionOption)     //IMAGE PRODUCTION
                            {
                            case 0:
                                break;

                            case 1:         //FUSION

                                IOUser.ClearConsole();
                                IOUser.ConsoleListOutput("Select one of the following options:", importer.SelectMoreImages);
                                int moreImgOp = IOUser.ConsoleReadInput(importer.SelectMoreImages);
                                if (moreImgOp == 0)
                                {
                                    break;
                                }

                                List <string> fusionList = new List <string> {
                                    imageFile.Origin
                                };
                                fusionList = importer.MoreImages(moreImgOp, fusionList);
                                if (fusionList[0] == "/%void%/")
                                {
                                    break;
                                }


                                List <Bitmap> fusionListBMP = new List <Bitmap>();
                                fusionListBMP.Add(imageFile.Bpm);
                                foreach (string f in fusionList)
                                {
                                    fusionListBMP.Add(new Bitmap(f));
                                }

                                string productionBase = Editor.getSmallerImage(fusionList);
                                Bitmap fusionBMP      = Editor.Fusion(fusionListBMP);

                                IOUser.ConsoleError("SHOW IMAGE");         //SHOW
                                Console.WriteLine("\nPress any key to continue");
                                Console.ReadLine();

                                IOUser.ClearConsole();
                                IOUser.ConsoleListOutput("Apply changes?", saveData.ProductionSaveDataList);
                                saveData.ProductionSaveDataOptions(productionBase, fusionBMP);
                                IOUser.ClearConsole();

                                productionOption = 0;
                                break;

                            case 2:         //MOSAIC

                                IOUser.ClearConsole();
                                IOUser.ConsoleError("NOT YET IMPLEMENTED");
                                Console.WriteLine("\nPress any key to continue");
                                Console.ReadLine();

                                productionOption = 0;
                                break;

                            case 3:         //COLLAGE

                                IOUser.ClearConsole();
                                IOUser.ConsoleError("NOT YET IMPLEMENTED");
                                Console.WriteLine("\nPress any key to continue");
                                Console.ReadLine();

                                productionOption = 0;
                                break;
                            }
                        }
                        break;


                    case 3:       //TEXT INSERTER

                        IOUser.ClearConsole();
                        IOUser.ConsoleOutput("Write the text you want to insert:\n");
                        string itText = Console.ReadLine();

                        List <string> ColorList = new List <string>()
                        {
                            "Black", "White", "Red", "Green", "Blue", "Gray"
                        };
                        IOUser.ConsoleListOutput("Select a color:", ColorList);
                        int colorOption = IOUser.ConsoleReadInput(ColorList);

                        IOUser.ConsoleOutput("Insert font size (bigger font is recomended for large images):\n");
                        int itFontSize = IOUser.ConsoleReadNumber();

                        IOUser.ConsoleOutput($"Select x coordinates (for reference your image has {imageFile.Bpm.Width} of width):\n");
                        int itXCoordinates = IOUser.ConsoleReadNumber();

                        IOUser.ConsoleOutput($"Select y coordinates (for reference your image has {imageFile.Bpm.Height} of height):\n");
                        int itYCoordinates = IOUser.ConsoleReadNumber();

                        Bitmap textBMP = Editor.TEXT(imageFile.Bpm, itText, ColorList[colorOption], itFontSize, itXCoordinates, itYCoordinates);

                        IOUser.ClearConsole();
                        IOUser.ConsoleOutput("Text inserted successfully!");
                        IOUser.ConsoleError("SHOW IMAGE");     //SHOW
                        Console.WriteLine("\nPress any key to continue");
                        Console.ReadLine();

                        IOUser.ClearConsole();
                        IOUser.ConsoleListOutput("Apply changes?", saveData.ProductionAlterSaveDataList);
                        saveData.ProductionAlterSaveDataOptions(imageFile, textBMP);
                        IOUser.ClearConsole();

                        break;

                    case 4:        //IMAGE ROTATOR

                        IOUser.ClearConsole();
                        List <string> RotateList = new List <string>()
                        {
                            "By 270°", "By 90°", "By 180°"
                        };

                        IOUser.ConsoleListOutput("By how many degrees you want to rotate the image (clockwise)?", RotateList);
                        int rotateOption = IOUser.ConsoleReadInput(RotateList);

                        RotateFlipType applyRotate = RotateFlipType.RotateNoneFlipNone;     //BASE
                        if (rotateOption == 1)
                        {
                            applyRotate = RotateFlipType.Rotate90FlipNone;
                        }
                        if (rotateOption == 2)
                        {
                            applyRotate = RotateFlipType.Rotate180FlipNone;
                        }
                        if (rotateOption == 0)
                        {
                            applyRotate = RotateFlipType.Rotate270FlipNone;
                        }

                        Bitmap rotate = imageFile.Bpm;     //
                        rotate.RotateFlip(applyRotate);


                        IOUser.ConsoleOutput("Image rotated successfully!");
                        IOUser.ConsoleError("SHOW IMAGE");     //SHOW
                        Console.WriteLine("\nPress any key to continue");
                        Console.ReadLine();

                        IOUser.ClearConsole();
                        IOUser.ConsoleListOutput("Apply changes?", saveData.ProductionAlterSaveDataList);
                        saveData.ProductionAlterSaveDataOptions(imageFile, rotate);
                        IOUser.ClearConsole();

                        break;

                        //MORE CASES
                    }
                    IOUser.ClearConsole();
                }
            }
        }