static void Main(string[] args) { Terminal.Open(); Terminal.Set(string.Format("window.title='{0}'", "SharpSnake")); Terminal.Refresh(); var consoleScreen = new ConsoleScreen(36, 28); var context = new StateContext(consoleScreen, new Settings()); var stateStack = new StateStack(context); stateStack.RegisterState <MenuState>(StateId.Menu); stateStack.RegisterState <OptionsState>(StateId.Options); stateStack.RegisterState <PlayState>(StateId.Play); stateStack.RegisterState <GameOverState>(StateId.GameOver); stateStack.RegisterState <PauseState>(StateId.Pause); // Initial state stateStack.PushState(StateId.Menu); while (!stateStack.Empty) { stateStack.HandleInput(); stateStack.Update(); consoleScreen.Clear(); stateStack.Draw(); consoleScreen.Display(); System.Threading.Thread.Sleep(16); } Terminal.Close(); }
public static void Main(string[] args) { if (args.Length > 0 && args[0] == "test") { TestClass.Test(); return; } new Game().Run(); ConsoleScreen.Clear(); }
public static IList <T2> Handle <T1, T2>(Func <T1, IList <T2>, IList <T2> > func, T1 data, IList <T2> data2) { try { return(func.Invoke(data, data2)); } catch (Exception e) { LoggerPublisher.OnLogError(e.Message); ConsoleScreen.Clear(); return(null); } }
/// <summary> /// Handles the drawing part of the scene /// </summary> /// <param name="game">Game manager</param> public void Draw(Game game) { // Game is a generic class, so make sure to convert it to ConsoleGame ConsoleGame consoleGame = (ConsoleGame)game; // ConsoleGame has a screen to draw whereas Game doesn't ConsoleScreen consoleScreen = consoleGame.Screen; // Clears the whole screen consoleScreen.Clear(); // Draw the gameover text consoleScreen.DrawText(3, 7, " Your pet left you!\nTake better care next time!"); // When we're done drawing everything we needed, updates the screen consoleScreen.Show(); }
public static void ReadFromJson(ref Database.Database db) { //Database.Database db = null; List <Worker> workers = null; List <Employer> employers = null; var serializer = new JsonSerializer(); try { using (var sr = new StreamReader(@"Data\Workers.json", Encoding.UTF8)) { using (var jr = new JsonTextReader(sr)) { workers = serializer.Deserialize <List <Worker> >(jr); } } } catch (Exception e) { Console.WriteLine(e.Message); ConsoleScreen.Clear(); } workers?.ForEach(db.Users.Add); try { using (var sr = new StreamReader(@"Data\Employers.json", Encoding.UTF8)) { using (var jr = new JsonTextReader(sr)) { employers = serializer.Deserialize <List <Employer> >(jr); } } } catch (Exception e) { Console.WriteLine(e.Message); ConsoleScreen.Clear(); } employers?.ForEach(db.Users.Add); }
public static void Main(string[] args) { ConsoleScreen.Initialize(MAP_WIDTH, MAP_HEIGHT, ConsoleColor.Black, ConsoleColor.White); ConsoleScreen.Clear(); MapGenerator mapGenerator = new MapGenerator(_random, MAP_WIDTH, MAP_HEIGHT); _map = mapGenerator.GenerateMap(); RunGame(); Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; Console.Clear(); // Check if we won. if (_map.Enemies.Count == 0) { Console.WriteLine("You won!!!"); } }
private static void Start(User user, bool notificationStatus) { while (true) { if (!ExceptionHandle.Handle(user.ShowShortNotfInfo, notificationStatus)) { ConsoleScreen.Clear(); break; } var notificationId = UserHelper.InputGuid(); var notification = user.Notifications.SingleOrDefault(n => n.Guid == notificationId); if (notification == null) { if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to try again?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } continue; } Console.Clear(); Console.WriteLine(notification++); Database.Database.Changes = true; Console.ReadLine(); if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to see other notifications?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } }
public static void Start(Entities.Employer employer) { var adsSectionLoop = true; while (adsSectionLoop) { Console.Clear(); ConsoleScreen.PrintMenu(ConsoleScreen.AdsSectionMenu, ConsoleColor.DarkGreen); var adsSectionChoice = (AdsSectionEnum)ConsoleScreen.Input(ConsoleScreen.AdsSectionMenu.Count); Console.Clear(); switch (adsSectionChoice) { case AdsSectionEnum.Show: { ExceptionHandle.Handle(employer.ShowAllAds, false); ConsoleScreen.Clear(); break; } case AdsSectionEnum.Add: { var addCvLoop = true; while (addCvLoop) { employer.Vacancies.Add(CreateNewVacancy()); LoggerPublisher.OnLogInfo("Vacancy added!"); if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to add more Vacancy?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { addCvLoop = false; } Console.Clear(); } Database.Database.Changes = true; break; } case AdsSectionEnum.Update: { while (true) { Console.Clear(); if (!ExceptionHandle.Handle(employer.ShowAllAds, false)) { ConsoleScreen.Clear(); break; } var id = UserHelper.InputGuid(); try { var vacancy = employer.GetVacancy(id); VacancyUpdateSideStart(vacancy); if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to update another Vacancy?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } continue; } catch (Exception e) { LoggerPublisher.OnLogError(e.Message); } if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to try again?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } break; } case AdsSectionEnum.Delete: { while (true) { Console.Clear(); if (!ExceptionHandle.Handle(employer.ShowAllAds, false)) { ConsoleScreen.Clear(); break; } var vacancyId = UserHelper.InputGuid(); if (ExceptionHandle.Handle(employer.DeleteVacancy, vacancyId)) { LoggerPublisher.OnLogInfo("Cv deleted!"); Database.Database.Changes = true; if (employer.Vacancies.Count == 0 || ConsoleScreen.DisplayMessageBox("Info", "Do you want to delete another Vacancy?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } continue; } if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to try again?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } break; } case AdsSectionEnum.Back: { adsSectionLoop = false; break; } } } }
void Draw() { ConsoleScreen.Clear(); var pixelList = new List <IPixel>(); // Mario pixelList.Add(new CharSprite(ASCII.Mario, xc + 150, yc + 200, 0, ConsoleColor.Green) { ShowLabel = show_label }); pixelList.Last().Draw(painter); // STARS var asteriks = new Sprite(null, angle, ConsoleColor.Yellow) { ShowLabel = show_label }; for (var i = 0; i < asteriks_count; i++) { asteriks.Add(new CharPixel('*', xc + random_numbers[2 * i], yc + random_numbers[2 * i + 1])); } if (asteriks_count != 0) { asteriks.Draw(painter); pixelList.Add(asteriks); } // center of the universe pixelList.Add(new CharPixel('@', xc, yc, ConsoleColor.Yellow)); pixelList.Last().Draw(pixel_painter); // andy kras pixelList.Add(new CharSprite(ASCII.Andy, xc + 152, yc + 23, 0, ConsoleColor.DarkRed) { ShowLabel = show_label }); pixelList.Last().Draw(painter); pixelList.Add(new CharSprite(ASCII.Kras, xc + 202, yc + 3, 0, ConsoleColor.DarkRed) { ShowLabel = show_label }); pixelList.Last().Draw(painter); // C# is CooL pixelList.Add(new CharSprite(ASCII.Sharp, xc, yc - 33, 0, ConsoleColor.DarkBlue) { ShowLabel = show_label }); pixelList.Last().Draw(painter); // Skull var ang = Math.PI / 512; for (var i = 0; i < 10; i++) { pixelList.Add(new CharSprite(ASCII.Skull, xc + 200 * Math.Cos((skull_index + 20 * random_numbers[2 * i]) * ang), yc + 200 * Math.Sin((skull_index + 20 * random_numbers[2 * i + 1]) * 2 * ang), 0, ConsoleColor.DarkGray) { ShowLabel = show_label }); pixelList.Last().Draw(painter); } if (show_intel) { // INTEL LOGO var intel = new CharSprite(ASCII.IntelLogo, xc - 35, yc + 15, angle, ConsoleColor.DarkBlue) { ShowLabel = false }; intel.Draw(painter); pixelList.Add(intel); } else { // CIRCLE if (show_circle) { var alpha = Math.PI * 2.0 / count; for (var i = 0; i < count; i++) { var x = xc + R * Math.Cos(i * alpha); var y = yc + R * Math.Sin(i * alpha); pixelList.Add(new CharPixel('█', x, y, (ConsoleColor)rnd.Next(1, 15))); pixelList.Last().Draw(pixel_painter); } var tet = new CharSprite(new [] { " █ ", "███", " " }, xc - 3, yc + 3, angle) { ShowLabel = show_label }; tet.Draw(painter); pixelList.Add(tet); } if (show_dollar) { var dollars = new CharSprite(ASCII.Dollar, xc - 135, yc + 15, angle, ConsoleColor.DarkBlue) { ShowLabel = show_label }; dollars.Draw(painter); pixelList.Add(dollars); } // ship var ship = new Sprite(new List <IPixel> { new CharPixel('█', offsetX + 4, offsetY - 0, ConsoleColor.Red), new CharPixel('█', offsetX + 3, offsetY - 1, ConsoleColor.Red), new CharPixel('█', offsetX + 2, offsetY - 2, ConsoleColor.Red), new CharPixel('█', offsetX + 1, offsetY - 3, ConsoleColor.Red), new CharPixel('█', offsetX + 0, offsetY - 4, ConsoleColor.Green), new CharPixel('█', offsetX + 1, offsetY - 4, ConsoleColor.Green), new CharPixel('█', offsetX + 2, offsetY - 4, ConsoleColor.Green), new CharPixel('█', offsetX + 3, offsetY - 4, ConsoleColor.Green), new CharPixel('█', offsetX + 4, offsetY - 4, ConsoleColor.Green), new CharPixel('█', offsetX + 5, offsetY - 4, ConsoleColor.Green), new CharPixel('█', offsetX + 6, offsetY - 4, ConsoleColor.Green), new CharPixel('█', offsetX + 7, offsetY - 4, ConsoleColor.Green), new CharPixel('█', offsetX + 5, offsetY - 1, ConsoleColor.Blue), new CharPixel('█', offsetX + 6, offsetY - 2, ConsoleColor.Blue), new CharPixel('█', offsetX + 7, offsetY - 3, ConsoleColor.Blue), new CharPixel('█', offsetX + 8, offsetY - 4, ConsoleColor.Blue), }, angle_ship, ConsoleColor.Yellow) { ShowLabel = show_label }; // ArchUser var up = new CharSprite(ASCII.ArchUserUp, -10, 0, angle_ship, ship_color) { ShowLabel = show_label }; var down = new CharSprite(ASCII.ArchUserDown, -10, 0, angle_ship, ship_color - 8) { ShowLabel = show_label }; pixelList.Add(new Sprite(new List <IPixel> { up, down, ship }, angle_ship) { ShowLabel = false }); pixelList.Last().Draw(painter); } var counter = new PixelCounter(); pixelList.ForEach(p => p.Accept(counter)); Console.ForegroundColor = ConsoleColor.Red; if (show_stat) { ConsoleScreen.Print(string.Format("Zoom: {0:F2} angle: {1} stars: {2} C=[{3:F2}:{4:F2}]", ConsoleScreen.Zoom, (int)(angle / Math.PI * 180), asteriks_count, xc, yc), 3); ConsoleScreen.Print(string.Format("d1={0:F2} d2={1:F2} t1={2} t2={3} t3={4}", d1, d2, timer1, timer2, timer3), 2); ConsoleScreen.Print(string.Format("Total pixels: {0}, Total sprites: {1}, User Input: {2}", counter.TotalCharPixels, counter.TotalCharSprites + counter.TotalSprites, gameEvent), 1); } if (show_help) { var text = new [] { "H - Toggle HELP", "E,S,D,F - Ship Movement", "1-8 - Change Ship Color", "-----------------------", " ", " ", "L - Show/Hide sprite Labels", "Num* (KP_Multiply) - Add 1 Star (Alt+* - Add 10 Stars)", "Num +/-, Num_Enter (KP_Enter) - Zoom, Reset Zoom", "Num/ (KP_Device) - Reset all to Defaults", "Alt + any_key - Speed Up", "C - Show/Hide Circle", "Insert/Delete - Add/Remove points to Circle", "Shift+4 ($) - Show/Hide Dollar", "W,R - miniShip Strafe", "Num8,Num5,Num4,Num6 - Scene Movement", "Num7,Num9 - Scene Rotation", "o,p,[,] - Timers", "Enter - Change Painters", "I - Show/Hide Intel Logo", "F1 - Toggle Stat", }; ConsoleScreen.Print(text, true); } if (show_task) { Console.ForegroundColor = ConsoleColor.Yellow; var task = "Find the Center (@) of the Universe"; var len = Console.WindowWidth / 2 - task.Length / 2; task = new string(' ', len > 0 ? len : 0) + task; ConsoleScreen.Print(task, Console.WindowHeight / 2); } }
public static void Start(Worker worker, Database.Database db) { var workerSideMainLoop = true; while (workerSideMainLoop) { Console.Title = $"Worker: {worker.Name}"; if (Database.Database.Changes) { FileHelper.WriteToJson(db); Database.Database.Changes = false; } Console.Clear(); ConsoleScreen.PrintMenu(ConsoleScreen.WorkerSideMainMenu, ConsoleColor.DarkGreen); var mainChoice = (WorkerSideMainMenu)ConsoleScreen.Input(ConsoleScreen.WorkerSideMainMenu.Count); Console.Clear(); switch (mainChoice) { case WorkerSideMainMenu.SEEADS: { AdsSection.Start(worker, db); break; } case WorkerSideMainMenu.YOURCV: { CvSection.Start(worker); break; } case WorkerSideMainMenu.CvNotifications: { while (true) { Console.Clear(); if (!ExceptionHandle.Handle(worker.ShowAllCvWithRequestCount)) { break; } var cvId = UserHelper.InputGuid(); Cv cv = null; try { cv = worker.GetCv(cvId); if (cv.RequestFromEmployers.Count == 0) { LoggerPublisher.OnLogError("There is no request!"); ConsoleScreen.Clear(); } var vacancies = db.GetAllVacanciesFromRequests(cv.RequestFromEmployers); while (true) { Console.Clear(); if (!ExceptionHandle.Handle(WorkerHelper.ShowVacancies, vacancies)) { break; } var vacancyId = UserHelper.InputGuid(); var vacancy = vacancies.SingleOrDefault(v => v.Guid == vacancyId); if (vacancy == null) { LoggerPublisher.OnLogError($"There is no vacancy associated this id -> {vacancyId}"); ConsoleScreen.Clear(); continue; } var employer = DatabaseHelper.GetUser( cv.RequestFromEmployers.SingleOrDefault(r => r.Value == vacancy.Guid).Key, db.Users) as Entities.Employer; Console.Clear(); Console.WriteLine(vacancy); ConsoleScreen.PrintMenu(ConsoleScreen.CvAdsChoices, ConsoleColor.DarkGreen); var choice = (CvAdsChoices)ConsoleScreen.Input(ConsoleScreen.CvAdsChoices.Count); if (choice == CvAdsChoices.Back) { break; } Database.Database.Changes = true; switch (choice) { case CvAdsChoices.Accept: { cv.RemoveRequest(employer.Guid); NotificationSender.NotificationPublisher.OnSend(employer, new Notification() { Title = "From worker", Message = $"Congratilations. Your request accepted.\n Cv info:\n{cv}" }); LoggerPublisher.OnLogInfo("Accepted."); break; } case CvAdsChoices.Decline: { cv.RemoveRequest(employer.Guid); NotificationSender.NotificationPublisher.OnSend(employer, new Notification() { Title = "From worker", Message = $"We are sorry! Your request declined.\n Cv info:\n{cv}" }); LoggerPublisher.OnLogInfo("Declined."); break; } } Database.Database.Changes = true; if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to see other Vacancies?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } } catch (Exception e) { LoggerPublisher.OnLogError(e.Message); } if (cv == null && ConsoleScreen.DisplayMessageBox("Info", "Do you want to try again?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } break; } case WorkerSideMainMenu.AllNotifications: { NotificationSide.AllNotificationsStart(worker); break; } case WorkerSideMainMenu.UnreadNotifications: { NotificationSide.OnlyUnReadNotificationsStart(worker); break; } case WorkerSideMainMenu.Logout: { workerSideMainLoop = false; break; } } } }
static void Main(string[] args) { var appData = ExecutionEnvironment.GetApplicationMetadata(); Log.Info(appData); _consoleOptions = new ConsoleOptions(args); if (_consoleOptions.ShowHelp) { Console.WriteLine("Options:"); _consoleOptions.OptionSet.WriteOptionDescriptions(Console.Out); return; } CapturePi.DoMatMagic("CreateCapture"); var noCaptureGrabs = new[] { Mode.simple, Mode.pantiltjoy, Mode.ipReport }; var i2cRequired = new[] { Mode.pantiltface, Mode.pantiltjoy, Mode.pantiltcolour, Mode.pantiltmultimode }; ICaptureGrab capture = null; if (!noCaptureGrabs.Contains(_consoleOptions.Mode)) { var config = CaptureConfig.Parse(_consoleOptions.CaptureConfig); capture = BuildCaptureGrabber(config); Log.Info($"Requested capture {capture.RequestedConfig}"); } IPanTiltMechanism panTiltMech = null; IScreen screen = null; if (i2cRequired.Contains(_consoleOptions.Mode)) { var pwmDeviceFactory = new Pca9685DeviceFactory(); var pwmDevice = pwmDeviceFactory.GetDevice(_consoleOptions.UseFakeDevice); panTiltMech = new PanTiltMechanism(pwmDevice); screen = new ConsoleScreen(); screen.Clear(); } else { Log.Info("Pan Tilt is not required"); } IRunner runner; Log.Info(_consoleOptions); switch (_consoleOptions.Mode) { case Mode.noop: var noopRunner = new NoopRunner(capture); noopRunner.ReportFramesPerSecond = true; runner = noopRunner; break; case Mode.simple: runner = new SimpleCv(); break; case Mode.colourdetect: var colorDetector = new ColorDetectRunner(capture); if (_consoleOptions.HasColourSettings) { colorDetector.Settings = _consoleOptions.ColourSettings; } runner = colorDetector; break; case Mode.haar: var relativePath = $@"haarcascades{Path.DirectorySeparatorChar}haarcascade_frontalface_default.xml"; var cascadeFilename = Path.Combine(appData.ExeFolder, relativePath); var cascadeContent = File.ReadAllText(cascadeFilename); runner = new CascadeRunner(capture, cascadeContent); break; case Mode.servosort: runner = new ServoSorter(capture, _consoleOptions); break; case Mode.pantiltjoy: var joyController = new JoystickPanTiltController(panTiltMech); runner = new TimerRunner(joyController, screen); break; case Mode.pantiltface: var controllerF = new FaceTrackingPanTiltController(panTiltMech, capture.RequestedConfig); runner = new CameraBasedPanTiltRunner(panTiltMech, capture, controllerF, screen); break; case Mode.pantiltmultimode: var cameraHubProxy = new CameraHubProxy(); cameraHubProxy.Connect(); var remoteScreen = new RemoteConsoleScreen(cameraHubProxy); var piServerClient = new BsonPostImageTransmitter(); var imageTransmitter = new RemoteImageSender(piServerClient, cameraHubProxy); cameraHubProxy.SettingsChanged += (sender, s) => { remoteScreen.Enabled = s.EnableConsoleTransmit; imageTransmitter.Enabled = s.EnableImageTransmit; }; var controllerMultimode = new MultimodePanTiltController(panTiltMech, capture.RequestedConfig, remoteScreen, cameraHubProxy, imageTransmitter); var cameraBasedRunner = new CameraBasedPanTiltRunner(panTiltMech, capture, controllerMultimode, screen); runner = cameraBasedRunner; cameraHubProxy.UpdateCapture += (s, e) => { remoteScreen.WriteLine($"Changing capture settings to {e}"); var newGrabber = BuildCaptureGrabber(e); cameraBasedRunner.UpdateCaptureGrabber(newGrabber); }; break; case Mode.pantiltcolour: var controllerC = new ColourTrackingPanTiltController(panTiltMech, capture.RequestedConfig); if (_consoleOptions.HasColourSettings) { controllerC.Settings = _consoleOptions.ColourSettings; } else { throw KrakenException.Create("Colour settings not found"); } runner = new CameraBasedPanTiltRunner(panTiltMech, capture, controllerC, screen); break; case Mode.ipReport: var hub = new CameraHubProxy(); runner = new IpReporter(hub); break; default: throw KrakenException.Create("Option mode {0} needs wiring up", _consoleOptions.Mode); } runner.Run(); }
public static void Start(Worker worker, Database.Database db) { var logger = new Logger.ConsoleLogger(); var seeAdsLoop = true; var mainVacancies = db.GetVacancies(); IList <Vacancy> vacancies = mainVacancies; while (seeAdsLoop) { Console.Clear(); ExceptionHandle.Handle(VacancyHelper.SeeAds, vacancies); ConsoleScreen.PrintMenu(ConsoleScreen.FilterMenu, ConsoleColor.Blue); var filterMenuChoice = (FilterMenuEnum)ConsoleScreen.Input(ConsoleScreen.FilterMenu.Count); switch (filterMenuChoice) { case FilterMenuEnum.Select: { var loop2 = true; while (loop2) { Console.Clear(); if (!ExceptionHandle.Handle(VacancyHelper.SeeAds, vacancies)) { break; } Console.WriteLine("Vacancy id: "); var vacId = UserHelper.InputGuid(); try { var vacancy = VacancyHelper.GetVacancy(vacId, vacancies); while (true) { var requestFromWorker = vacancy.CheckWorkerRequest(worker.Guid); Console.Clear(); Console.WriteLine(vacancy++); // increase vacancy view count and print Database.Database.Changes = true; Console.WriteLine(); Console.WriteLine($"1. {(requestFromWorker ? "Cancel" : "Request")}");; Console.WriteLine("2. Back"); var choice = ConsoleScreen.Input(2); if (choice == 1) { if (requestFromWorker) { vacancy.RemoveRequest(worker.Guid); } else { Cv cv = null; while (true) { Console.Clear(); if (!ExceptionHandle.Handle(worker.ShowAllCv, true)) { LoggerPublisher.OnLogInfo("Please add public Cv!"); ConsoleScreen.Clear(); break; } var cvId = UserHelper.InputGuid(); try { cv = CvHelper.GetCv(cvId, worker.Cvs); break; } catch (Exception e) { LoggerPublisher.OnLogError(e.Message); ConsoleScreen.Clear(); } } if (cv != null) { vacancy.SendRequest(worker.Guid, cv.Guid); } } } else if (choice == 2) { if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to see other Ads?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { loop2 = false; } break; } } if (loop2) { continue; } } catch (Exception e) { LoggerPublisher.OnLogError(e.Message); ConsoleScreen.Clear(); } if (!loop2 || ConsoleScreen.DisplayMessageBox("Info", "Do you want to try again?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } break; } case FilterMenuEnum.ByCategory: { Console.Clear(); vacancies = ExceptionHandle.Handle(VacancyFilter.FilterByCategory, UserHelper.InputCategory(), vacancies); break; } case FilterMenuEnum.ByEducation: { Console.Clear(); vacancies = ExceptionHandle.Handle(VacancyFilter.FilterByEducation, UserHelper.InputEducation(), vacancies); break; } case FilterMenuEnum.ByExperience: { Console.Clear(); vacancies = ExceptionHandle.Handle(VacancyFilter.FilterByExperience, UserHelper.InputExperience(), vacancies); break; } case FilterMenuEnum.ByRegion: { Console.Clear(); vacancies = ExceptionHandle.Handle(VacancyFilter.FilterByRegion, UserHelper.InputRegion(), vacancies); break; } case FilterMenuEnum.BySalary: { Console.Clear(); var input = UserHelper.InputSalary(); var salary = UserHelper.ParseSalary(input); vacancies = ExceptionHandle.Handle(VacancyFilter.FilterBySalary, salary, vacancies); break; } case FilterMenuEnum.Reset: { vacancies = mainVacancies; break; } case FilterMenuEnum.Back: { seeAdsLoop = false; break; } } } }
public static void Start(Entities.Employer employer, Database.Database db) { var logger = new Logger.ConsoleLogger(); var seeCvsLoop = true; var mainCvs = db.GetCvs(); IList <Cv> cvs = mainCvs; while (seeCvsLoop) { Console.Clear(); ExceptionHandle.Handle(CvHelper.SeeCvs, cvs); ConsoleScreen.PrintMenu(ConsoleScreen.FilterMenu, ConsoleColor.Blue); var filterMenuChoice = (FilterMenuEnum)ConsoleScreen.Input(ConsoleScreen.FilterMenu.Count); switch (filterMenuChoice) { case FilterMenuEnum.Select: { var loop3 = true; while (loop3) { Console.Clear(); if (!ExceptionHandle.Handle(CvHelper.SeeCvs, cvs)) { break; } Console.WriteLine("Cv id: "); var cvId = UserHelper.InputGuid(); try { var cv = CvHelper.GetCv(cvId, cvs); Console.Clear(); while (true) { var requestFromEmployer = cv.CheckEmployerRequest(employer.Guid); Console.Clear(); Console.WriteLine(cv++); // increase view count and print. Database.Database.Changes = true; Console.WriteLine(); Console.WriteLine($"1. {(requestFromEmployer ? "Cancel" : "Request")}"); Console.WriteLine("2. Back"); var choice = ConsoleScreen.Input(2); if (choice == 1) { if (requestFromEmployer) { cv.RemoveRequest(employer.Guid); } else { Vacancy vacancy = null; while (true) { Console.Clear(); if (!ExceptionHandle.Handle(employer.ShowAllAds, true)) { LoggerPublisher.OnLogInfo("Please add public Vacancy!"); ConsoleScreen.Clear(); break; } var vacancyId = UserHelper.InputGuid(); try { vacancy = VacancyHelper.GetVacancy(vacancyId, employer.Vacancies); break; } catch (Exception e) { LoggerPublisher.OnLogError(e.Message); ConsoleScreen.Clear(); } } if (vacancy != null) { cv.SendRequest(employer.Guid, vacancy.Guid); } } } else if (choice == 2) { if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to see other Cvs?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { loop3 = false; } break; } } if (loop3) { continue; } } catch (Exception e) { LoggerPublisher.OnLogError(e.Message); } } break; } case FilterMenuEnum.ByCategory: { Console.Clear(); cvs = ExceptionHandle.Handle(CvFilter.FilterByCategory, UserHelper.InputCategory(), cvs); break; } case FilterMenuEnum.ByEducation: { Console.Clear(); cvs = ExceptionHandle.Handle(CvFilter.FilterByEducation, UserHelper.InputEducation(), cvs); break; } case FilterMenuEnum.ByExperience: { Console.Clear(); cvs = ExceptionHandle.Handle(CvFilter.FilterByExperience, UserHelper.InputExperience(), cvs); break; } case FilterMenuEnum.ByRegion: { Console.Clear(); cvs = ExceptionHandle.Handle(CvFilter.FilterByRegion, UserHelper.InputRegion(), cvs); break; } case FilterMenuEnum.BySalary: { Console.Clear(); var input = UserHelper.InputSalary(); var salary = UserHelper.ParseSalary(input); cvs = ExceptionHandle.Handle(CvFilter.FilterBySalary, salary, cvs); break; } case FilterMenuEnum.Reset: { cvs = mainCvs; break; } case FilterMenuEnum.Back: { seeCvsLoop = false; break; } } } }
bool EventStart() { if (firstRunOfEvent) { progressPaused = true; shipAngle.stopTilt = true; consoleScreen.StartMessage("Deep Jupiter\n\na game made for LD 48\n\n\n< Press to\n begin\n mission"); firstRunOfEvent = false; } if (!consoleScreen.isWriting && EvaluateBottomButton()) { progressPaused = false; consoleScreen.Clear(); return(true); } return(false); }
public static void Start(Entities.Employer employer, Database.Database db) { var employerSideMainLoop = true; while (employerSideMainLoop) { Console.Title = $"Employer: {employer.Name}"; if (Database.Database.Changes) { FileHelper.WriteToJson(db); Database.Database.Changes = false; } Console.Clear(); ConsoleScreen.PrintMenu(ConsoleScreen.EmployerSideMainMenu, ConsoleColor.DarkGreen); var employerSideChoice = (EmployerSideMainMenu)ConsoleScreen.Input(ConsoleScreen.EmployerSideMainMenu.Count); Console.Clear(); switch (employerSideChoice) { case EmployerSideMainMenu.YourAds: { AdsSection.Start(employer); break; } case EmployerSideMainMenu.SeeCvs: { CvSection.Start(employer, db); break; } case EmployerSideMainMenu.AdsNotifications: { while (true) { Console.Clear(); if (!ExceptionHandle.Handle(employer.ShowAllAdsWithRequestCount)) { break; } var vacancyId = UserHelper.InputGuid(); Vacancy vacancy = null; try { vacancy = employer.GetVacancy(vacancyId); if (vacancy.RequestsFromWorkers.Count != 0) { var cvs = db.GetAllCvFromRequests(vacancy.RequestsFromWorkers); while (true) { Console.Clear(); if (!ExceptionHandle.Handle(EmployerHelper.ShowCvs, cvs)) { break; } var cvId = UserHelper.InputGuid(); var cv = cvs.SingleOrDefault(c => c.Guid == cvId); if (cv == null) { LoggerPublisher.OnLogError($"There is no cv associated this id -> {cvId}"); ConsoleScreen.Clear(); continue; } var worker = DatabaseHelper.GetUser(vacancy.RequestsFromWorkers .SingleOrDefault(r => r.Value == cv.Guid).Key, db.Users) as Worker; Console.Clear(); Console.WriteLine(cv); ConsoleScreen.PrintMenu(ConsoleScreen.CvAdsChoices, ConsoleColor.DarkGreen); var choice = (CvAdsChoices)ConsoleScreen.Input(ConsoleScreen.CvAdsChoices.Count); if (choice == CvAdsChoices.Back) { break; } try { switch (choice) { case CvAdsChoices.Accept: { vacancy.RemoveRequest(worker.Guid); NotificationPublisher.OnSend(worker, new Notification() { Title = "Your apply result", Message = $"Congratilations. Your cv accepted.\n Vacancy info:\n{vacancy}" }); LoggerPublisher.OnLogInfo("Accepted."); break; } case CvAdsChoices.Decline: { vacancy.RemoveRequest(worker.Guid); NotificationPublisher.OnSend(worker, new Notification() { Title = "Your apply result", Message = $"We are sorry! Your cv declined.\n Vacancy info:\n{vacancy}" }); LoggerPublisher.OnLogInfo("Declined."); break; } } } catch (Exception e) { LoggerPublisher.OnLogError(e.Message); ConsoleScreen.Clear(); } Database.Database.Changes = true; if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to see other Cvs?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } } else { LoggerPublisher.OnLogError("There is no request!"); ConsoleScreen.Clear(); } } catch (Exception e) { LoggerPublisher.OnLogError(e.Message); ConsoleScreen.Clear(); } if (vacancy == null && ConsoleScreen.DisplayMessageBox("Info", "Do you want to try again?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } break; } case EmployerSideMainMenu.AllNotifications: { NotificationSide.AllNotificationsStart(employer); break; } case EmployerSideMainMenu.UnreadNotifications: { NotificationSide.OnlyUnReadNotificationsStart(employer); break; } case EmployerSideMainMenu.Logout: { employerSideMainLoop = false; break; } } } }
private static void VacancyUpdateSideStart(Vacancy vacancy) { while (true) { Console.Clear(); Console.WriteLine(vacancy); Console.WriteLine(); ConsoleScreen.PrintMenu(ConsoleScreen.VacancyUpdateMenu, ConsoleColor.DarkGreen); var updateChoice = (VacancyUpdateChoices)ConsoleScreen.Input(ConsoleScreen.VacancyUpdateMenu.Count); if (updateChoice == VacancyUpdateChoices.Back) { break; } switch (updateChoice) { case VacancyUpdateChoices.ChangeVisibility: { vacancy.IsPublic = !vacancy.IsPublic; LoggerPublisher.OnLogInfo($"Visibility changed to {(vacancy.IsPublic ? "Public" : "Private")}"); break; } case VacancyUpdateChoices.Mail: { while (true) { var mail = VacancyHelper.InputData("Mail"); if (ExceptionHandle.Handle(UserHelper.ValidateMail, mail)) { vacancy.Contact.Mail = mail; break; } } LoggerPublisher.OnLogInfo("Mail updated!"); break; } case VacancyUpdateChoices.Phones: { if (vacancy.Contact.Phones.Count != 3 && ConsoleScreen.DisplayMessageBox("Info", "Do you want to add phone number or delete?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { Console.WriteLine("Add phone number: "); var maxPhoneNumbers = 3 - vacancy.Contact.Phones.Count; while (maxPhoneNumbers > 0) { var phone = VacancyHelper.InputData("Phone"); if (ExceptionHandle.Handle(UserHelper.ValidatePhone, phone)) { vacancy.Contact.Phones.Add(phone); maxPhoneNumbers--; if (maxPhoneNumbers == 0 || ConsoleScreen.DisplayMessageBox("Info", "Do you want to add more phone number?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } continue; } if (maxPhoneNumbers != 3 && ConsoleScreen.DisplayMessageBox("Info", "Do you want to try again?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } } else { if (vacancy.Contact.Phones.Count > 0) { while (true) { Console.Clear(); Console.WriteLine("Delete phone number: "); for (var i = 0; i < vacancy.Contact.Phones.Count; i++) { Console.WriteLine($"{i + 1}. {vacancy.Contact.Phones[i]}"); } var phoneIndex = ConsoleScreen.Input(vacancy.Contact.Phones.Count) - 1; vacancy.Contact.Phones.RemoveAt(phoneIndex); LoggerPublisher.OnLogInfo("Phone number deleted"); if (vacancy.Contact.Phones.Count == 0 || ConsoleScreen.DisplayMessageBox("Info", "Do you want to delete more phone number?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } } } break; } case VacancyUpdateChoices.Category: { vacancy.Ad.Category = UserHelper.InputCategory(); LoggerPublisher.OnLogInfo("Category updated"); break; } case VacancyUpdateChoices.Position: { vacancy.Ad.Position = VacancyHelper.InputData("Position"); LoggerPublisher.OnLogInfo("Position updated"); break; } case VacancyUpdateChoices.Region: { vacancy.Ad.Region = UserHelper.InputRegion(); LoggerPublisher.OnLogInfo("Region updated"); break; } case VacancyUpdateChoices.Salary: { vacancy.Ad.SalaryRange = UserHelper.InputSalaryRange(); LoggerPublisher.OnLogInfo("Salary updated"); break; } case VacancyUpdateChoices.Education: { vacancy.Ad.Education = UserHelper.InputEducation(); LoggerPublisher.OnLogInfo("Education updated"); break; } case VacancyUpdateChoices.Experience: { vacancy.Ad.Experience = UserHelper.InputExperience(); LoggerPublisher.OnLogInfo("Experience updated"); break; } case VacancyUpdateChoices.Requirements: { vacancy.Ad.Requirements = VacancyHelper.InputData("Requirements"); LoggerPublisher.OnLogInfo("Requirements updated"); break; } case VacancyUpdateChoices.JobDescription: { vacancy.Ad.JobDescription = VacancyHelper.InputData("Job Description"); LoggerPublisher.OnLogInfo("Job Description updated"); break; } case VacancyUpdateChoices.Company: { vacancy.Ad.Company = VacancyHelper.InputData("Company"); LoggerPublisher.OnLogInfo("Company updated"); break; } case VacancyUpdateChoices.Contact: { vacancy.Ad.Contact = VacancyHelper.InputData("Contact"); LoggerPublisher.OnLogInfo("Contact updated"); break; } } Database.Database.Changes = true; ConsoleScreen.Clear(); } }
private static void RegisterSide(Database.Database db) { while (true) { Console.Title = "Register"; GetUserData(db, out string name, out string surname, out string mail, out string phone, out string username, out string password, out int age, out string city); User newUser = null; Console.Clear(); Console.WriteLine("Who are you?"); ConsoleScreen.PrintMenu(ConsoleScreen.UserType, ConsoleColor.Blue); var userType = (UserTypeEnum)(ConsoleScreen.Input(ConsoleScreen.UserType.Count)); Console.Clear(); if (userType == UserTypeEnum.Worker) { newUser = new Worker() { Name = name, Surname = surname, Mail = mail, Phone = phone, Username = username, Password = password, City = city, Age = age, } } ; else { newUser = new Entities.Employer() { Name = name, Surname = surname, Mail = mail, Phone = phone, Username = username, Password = password, City = city, Age = age, } }; try { UpWork.UserAccess.UserAccess.SendConfirmationCode(newUser.Mail); while (true) { Console.Clear(); Console.WriteLine("Confirmation code: "); if (UpWork.UserAccess.UserAccess.ConfirmationCode == UserHelper.GetNumeric(NumericTypes.INT).ToString()) { break; } LoggerPublisher.OnLogError("Confirmation code is wrong!"); } UpWork.UserAccess.UserAccess.Register(newUser, db.Users); FileHelper.WriteToJson(db); LoggerPublisher.OnLogInfo("Successfully created account. You can login now."); ConsoleScreen.Clear(); break; } catch (Exception e) { LoggerPublisher.OnLogError(e.Message); ConsoleScreen.Clear(); } } }
private static void CvUpdateSideStart(Cv cv) { while (true) { Console.Clear(); Console.WriteLine(cv); Console.WriteLine(); ConsoleScreen.PrintMenu(ConsoleScreen.CvUpdateMenu, ConsoleColor.Blue); var updateChoice = (CvUpdateChoices)ConsoleScreen.Input(ConsoleScreen.CvUpdateMenu.Count); if (updateChoice == CvUpdateChoices.Back) { break; } switch (updateChoice) { case CvUpdateChoices.ChangeVisibility: { cv.IsPublic = !cv.IsPublic; LoggerPublisher.OnLogInfo($"Visibility changed to {(cv.IsPublic ? "Public":"Private")}"); break; } case CvUpdateChoices.Name: { Console.Clear(); cv.Name = CvHelper.InputData("Name"); LoggerPublisher.OnLogInfo("Name updated!"); break; } case CvUpdateChoices.Surname: { Console.Clear(); cv.Surname = CvHelper.InputData("Surname"); LoggerPublisher.OnLogInfo("Surname updated!"); break; } case CvUpdateChoices.Category: { cv.Category = UserHelper.InputCategory(); LoggerPublisher.OnLogInfo("Category updated!"); break; } case CvUpdateChoices.Region: { cv.Region = UserHelper.InputRegion(); LoggerPublisher.OnLogInfo("Region updated!"); break; } case CvUpdateChoices.Salary: { Console.Clear(); Console.WriteLine("Salary: "); cv.Salary = UserHelper.GetNumeric(NumericTypes.INT); LoggerPublisher.OnLogInfo("Salary updated!"); break; } case CvUpdateChoices.Education: { cv.Education = UserHelper.InputEducation(); LoggerPublisher.OnLogInfo("Education updated"); break; } case CvUpdateChoices.Experience: { cv.Experience = UserHelper.InputExperience(); LoggerPublisher.OnLogInfo("Experience updated!"); break; } case CvUpdateChoices.WorkPlaces: { if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to add workplace or delete?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { Console.WriteLine("Add workplaces: "); while (true) { var companyName = CvHelper.InputData("Company"); var timeline = new Timeline() { Start = CvHelper.InputDateTime("Start time(ex mm/dd/yyyy): "), }; while (true) { var endTime = CvHelper.InputDateTime("End time(ex mm/dd/yyyy): "); if (timeline.Start < endTime) { timeline.End = endTime; break; } LoggerPublisher.OnLogError("End time must be greater than start time!"); } cv.WorkPlaces.Add(new WorkPlace() { Company = companyName, Timeline = timeline }); LoggerPublisher.OnLogInfo("Workplace added"); if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to add more WorkPlaces?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } Database.Database.Changes = true; } } else { if (cv.WorkPlaces.Count > 0) { while (true) { Console.Clear(); Console.WriteLine("Delete workplace: "); foreach (var workPlace in cv.WorkPlaces) { Console.WriteLine(workPlace); } var workplaceId = UserHelper.InputGuid(); if (ExceptionHandle.Handle(cv.DeleteWorkplace, workplaceId)) { LoggerPublisher.OnLogInfo("Workplace deleted"); if (cv.WorkPlaces.Count == 0 || ConsoleScreen.DisplayMessageBox("Info", "Do you want to delete more WorkPlaces?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } } } } break; } case CvUpdateChoices.Skills: { if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to add skill or delete?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { Console.WriteLine("Add skill: "); while (true) { cv.Skills.Add(new Skill() { Name = CvHelper.InputData("Name"), Level = CvHelper.InputSkillLevel(), }); LoggerPublisher.OnLogInfo("Skill added"); if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to add more Skills?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } } else { if (cv.Skills.Count > 0) { while (true) { Console.Clear(); Console.WriteLine("Delete skill: "); foreach (var skill in cv.Skills) { Console.WriteLine(skill); } var skillId = UserHelper.InputGuid(); if (ExceptionHandle.Handle(cv.DeleteSkill, skillId)) { LoggerPublisher.OnLogInfo("Skill deleted"); if (cv.Skills.Count == 0 || ConsoleScreen.DisplayMessageBox("Info", "Do you want to delete more Skill?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } } } } break; } case CvUpdateChoices.Languages: { if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to add language or delete?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { Console.WriteLine("Add languages: "); while (true) { cv.Languages.Add(new Language() { Name = CvHelper.InputData("Name"), Level = CvHelper.InputSkillLevel(), }); LoggerPublisher.OnLogInfo("Language added"); if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to add more Languages?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } } else { if (cv.Languages.Count > 0) { while (true) { Console.Clear(); Console.WriteLine("Delete language: "); foreach (var language in cv.Languages) { Console.WriteLine(language); } var skillId = UserHelper.InputGuid(); if (ExceptionHandle.Handle(cv.DeleteLanguage, skillId)) { LoggerPublisher.OnLogInfo("Language deleted"); if (cv.Languages.Count == 0 || ConsoleScreen.DisplayMessageBox("Info", "Do you want to delete more Language?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } } } } break; } case CvUpdateChoices.HonorsDiploma: { cv.HonorsDiploma = CvHelper.InputHonorsDiplomaStatus(); LoggerPublisher.OnLogInfo("Honors diploma updated!"); break; } case CvUpdateChoices.Socials: { if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to add Social or delete?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { Console.WriteLine("Add socials: "); while (true) { cv.Socials.Add(new Social() { Name = CvHelper.InputData("Name"), Link = CvHelper.InputLink() }); LoggerPublisher.OnLogInfo("Social added"); if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to add more Socials?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } } else { if (cv.Socials.Count > 0) { while (true) { Console.Clear(); Console.WriteLine("Delete social: "); foreach (var social in cv.Socials) { Console.WriteLine(social); } var socialId = UserHelper.InputGuid(); if (ExceptionHandle.Handle(cv.DeleteSocial, socialId)) { LoggerPublisher.OnLogInfo("Social deleted"); if (cv.Socials.Count == 0 || ConsoleScreen.DisplayMessageBox("Info", "Do you want to delete more Social?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } } } } break; } } Database.Database.Changes = true; ConsoleScreen.Clear(); } }
public static void Start(Worker worker) { var cvSectionLoop = true; while (cvSectionLoop) { Console.Clear(); ConsoleScreen.PrintMenu(ConsoleScreen.CvSectionMenu, ConsoleColor.DarkGreen); var cvSectionChoice = (CvSectionEnum)ConsoleScreen.Input(ConsoleScreen.CvSectionMenu.Count); Console.Clear(); switch (cvSectionChoice) { case CvSectionEnum.Show: { ExceptionHandle.Handle(worker.ShowAllCv, false); ConsoleScreen.Clear(); break; } case CvSectionEnum.Add: { var addCvLoop = true; while (addCvLoop) { worker.Cvs.Add(CreateNewCv()); Database.Database.Changes = true; LoggerPublisher.OnLogInfo("Cv added!"); if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to add more Cv?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { addCvLoop = false; } Console.Clear(); } break; } case CvSectionEnum.Update: { while (true) { Console.Clear(); if (!ExceptionHandle.Handle(worker.ShowAllCv, false)) { ConsoleScreen.Clear(); break; } var id = UserHelper.InputGuid(); try { var cv = worker.GetCv(id); CvUpdateSideStart(cv); if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to update another Cv?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } continue; } catch (Exception e) { LoggerPublisher.OnLogError(e.Message); } if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to try again?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } break; } case CvSectionEnum.Delete: { while (true) { Console.Clear(); if (!ExceptionHandle.Handle(worker.ShowAllCv, false)) { ConsoleScreen.Clear(); break; } var id = UserHelper.InputGuid(); if (ExceptionHandle.Handle(worker.DeleteCv, id)) { LoggerPublisher.OnLogInfo("Cv deleted!"); Database.Database.Changes = true; if (worker.Cvs.Count == 0 || ConsoleScreen.DisplayMessageBox("Info", "Do you want to delete another Cv?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } continue; } if (ConsoleScreen.DisplayMessageBox("Info", "Do you want to try again?", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { break; } } break; } case CvSectionEnum.Back: { cvSectionLoop = false; break; } } } }