public bool SavePolyhedron(string name) { try { if (_figure is Polygon) { throw new InvalidOperationException("Can`t save polygon to polyhedrons table"); } Polyhedron polyhedron = (Polyhedron)_figure; FigureData figureData = new FigureData(); figureData.PolyhedronType = polyhedron.Type; figureData.PolygonType = polyhedron.GetBaseFigure().Type; figureData.Coords = polyhedron.GetBaseFigure().GetCoords(); figureData.Height = polyhedron.GetHeight(); _database.SavePolyhedron(figureData, name); return(true); } catch (Exception e) { Console.Clear(); ConsoleView.ColorizeError(e.Message); Console.WriteLine(); return(false); } }
private List <Coords> ReadCoords(int amount) { List <Coords> coords = new List <Coords>(); try { for (int i = amount; i > 0; i--) { Console.WriteLine("Coords left : {0}", i); Console.WriteLine("Enter coords: "); Console.Write("X = "); int x = Int32.Parse(Console.ReadLine()); Console.Write("Y = "); int y = Int32.Parse(Console.ReadLine()); Console.WriteLine(); coords.Add(new Coords(x, y)); Console.Clear(); } } catch (Exception e) { Console.Clear(); ConsoleView.ColorizeError("Input coords were not in a correct format"); Console.WriteLine(); return(null); } return(coords); }
private Figure PolyhedronChoosingMenu() { Console.WriteLine("Polyhedron choosing menu:\n" + "Create from current polygon - 1\n" + "Create from saved polygon - 2\n" + "Back - b"); Console.Write("Input: "); string input = Console.ReadLine(); Console.WriteLine(); Figure figure = null; switch (input.ToLower()) { case "1": if (_interactor.GetFigure() is Polygon) { figure = _interactor.GetFigure(); Console.Clear(); return(figure); } Console.Clear(); ConsoleView.ColorizeError("There is no current polygon"); Console.WriteLine(); break; case "2": Console.Write("Enter the polygon name: "); string name = Console.ReadLine(); Console.WriteLine(); Console.Clear(); figure = _interactor.LoadPolygon(name); if (figure != null) { return(figure); } break; case "b": Console.Clear(); return(null); } return(PolyhedronChoosingMenu()); }
public int GetPolyhedronsCount() { try { return(_database.PolyhedronsCount()); } catch (Exception e) { Console.Clear(); ConsoleView.ColorizeError(e.Message); Console.WriteLine(); } return(0); }
public Polygon CreatePolygon(string type, List <Coords> coords) { try { Polygon polygon = PolygonFactory.FactoryMethod(type, coords); return(polygon); } catch (Exception e) { Console.Clear(); ConsoleView.ColorizeError(e.Message); Console.WriteLine(); return(null); } }
public Polygon LoadPolygon(string name) { try { FigureData figureData = _database.LoadPolygon(name); return(CreatePolygon(figureData.PolygonType, figureData.Coords)); } catch (Exception e) { Console.Clear(); ConsoleView.ColorizeError(e.Message); Console.WriteLine(); return(null); } }
public Polyhedron CreatePolyhedron(string type, Polygon polygon, double height = 0) { try { Polyhedron polyhedron = PolyhedronFactory.FactoryMethod(type, polygon, height); return(polyhedron); } catch (Exception e) { Console.Clear(); ConsoleView.ColorizeError(e.Message); Console.WriteLine(); return(null); } }
public Polyhedron LoadPolyhedron(string name) { try { FigureData figureData = _database.LoadPolyhedron(name); Polygon polygon = PolygonFactory.FactoryMethod(figureData.PolygonType, figureData.Coords); return(CreatePolyhedron(figureData.PolyhedronType, polygon, figureData.Height)); } catch (Exception e) { Console.Clear(); ConsoleView.ColorizeError(e.Message); Console.WriteLine(); return(null); } }
private void PolyhedronParamsMenu() { Console.WriteLine("Polyhedron parameters menu:\n" + "Base area - 1\n" + "Volume - 2\n" + "Apexes amount - 3\n" + "Edges amount - 4\n" + "Brinks amount - 5\n" + "Save polyhedron - 6\n" + "Back - b"); Console.Write("Input: "); string input = Console.ReadLine(); Console.WriteLine(); try { switch (input) { case "1": Console.Clear(); ConsoleView.ColorizeSuccess($"Base area : {_interactor.GetBaseArea()}"); Console.WriteLine(); break; case "2": Console.Clear(); ConsoleView.ColorizeSuccess($"Volume : {_interactor.GetVolume()}"); Console.WriteLine(); break; case "3": Console.Clear(); ConsoleView.ColorizeSuccess($"Apexes : {_interactor.GetApexes()}"); Console.WriteLine(); break; case "4": Console.Clear(); ConsoleView.ColorizeSuccess($"Edges : {_interactor.GetEdges()}"); Console.WriteLine(); break; case "5": Console.Clear(); ConsoleView.ColorizeSuccess($"Brinks : {_interactor.GetBrinks()}"); Console.WriteLine(); break; case "6": Console.WriteLine("Enter the figure name : "); string name = Console.ReadLine(); Console.Clear(); if (_interactor.SavePolyhedron(name)) { ConsoleView.ColorizeInfo("Polyhedron was successfully saved"); Console.WriteLine(); } break; case "b": Console.Clear(); return; } } catch (Exception e) { Console.Clear(); ConsoleView.ColorizeError(e.Message); Console.WriteLine(); } PolyhedronParamsMenu(); }
private void PolygonCreationMenu() { Console.WriteLine("Polygon creation menu:\n" + "Choose a polygon to create\n" + "Square - 1\n" + "Rectangle - 2\n" + "Parallelogram - 3\n" + "Triangle - 4\n" + // #TODO Fix triangle exception "Trapeze - 5\n" + "Custom - 6\n" + "Back - b\n"); Console.Write("Input: "); string input = Console.ReadLine(); Console.WriteLine(); Figure figure = null; List <Coords> coords = null; Console.Clear(); try { switch (input) { case "1": coords = ReadCoords(4); if (coords != null) { figure = _interactor.CreatePolygon("square", coords); } break; case "2": coords = ReadCoords(4); if (coords != null) { figure = _interactor.CreatePolygon("rectangle", coords); } break; case "3": coords = ReadCoords(4); if (coords != null) { figure = _interactor.CreatePolygon("parallelogram", coords); } break; case "4": coords = ReadCoords(3); if (coords != null) { figure = _interactor.CreatePolygon("triangle", coords); } break; case "5": coords = ReadCoords(4); if (coords != null) { figure = _interactor.CreatePolygon("trapeze", coords); } break; case "6": Console.Write("Enter the amount of apexes: "); int amount = Int32.Parse(Console.ReadLine()); Console.WriteLine(); coords = ReadCoords(amount); if (coords != null) { figure = _interactor.CreatePolygon("custom", coords); } break; case "b": Console.Clear(); return; } } catch (Exception e) { Console.Clear(); ConsoleView.ColorizeError(e.Message); Console.WriteLine(); } if (figure != null) { Console.Clear(); _interactor.SetFigure(figure); PolygonParamsMenu(); } else { PolygonCreationMenu(); } }