예제 #1
0
        protected virtual void OnHamsterDayCareVisualInfo(int totalTicks, DateTime time) //Sends out event at every tick for visual updates
        {
            var ctx         = new HamsterDBContext();
            var hamsterlist = ctx.Hamsters.ToList();
            var hamsterLog  = new HamsterDayCareInfoEventArgs(hamsterlist, totalTicks, time);

            SendHamsterDayCareInfo?.Invoke(this, hamsterLog);
        }
예제 #2
0
        protected async void ShowHamsterDayCareStatus(object sender, HamsterDayCareInfoEventArgs e)
        {
            await Task.Run(() => {
                int firstCageRow = 5;
                int counter      = 0;
                if (e.DayTicker % 102 == 0)
                {
                    days++;
                }
                int[] cageLeftPos = { 15, 35, 55, 75, 95 };

                Console.SetCursorPosition(50, 1); Console.Write("Date: " + e.Date);
                Console.SetCursorPosition(50, 3); Console.Write("Day: " + days);

                for (int i = 4; i < 40; i++)
                {
                    Console.SetCursorPosition(cageLeftPos[0], i);
                    Console.Write(new string(' ', Console.WindowWidth));
                }
                int num = 5;
                for (int j = 0; j < 5; j++)
                {
                    Console.SetCursorPosition(cageLeftPos[j], firstCageRow); Console.ForegroundColor     = ConsoleColor.DarkRed; Console.Write($"Cage {j + 1}   "); Console.ForegroundColor = ConsoleColor.White;
                    Console.SetCursorPosition(cageLeftPos[j], firstCageRow + 5); Console.ForegroundColor = ConsoleColor.DarkMagenta; Console.Write($"Cage {num + 1}" + "    "); Console.ForegroundColor = ConsoleColor.White;
                    num++;
                }
                #region Cage Area
                for (int i = 0; i < 10; i++)
                {
                    var query = e.Hamsters.Where(h => h.CageId == i + 1).ToList();
                    if (query != null && query.Count != 0)
                    {
                        if (i < 5)
                        {
                            if (query.Count == 0)
                            {
                                Console.SetCursorPosition(cageLeftPos[i], 6); Console.Write("                   ");
                                Console.SetCursorPosition(cageLeftPos[i], 7); Console.Write("                   ");
                                Console.SetCursorPosition(cageLeftPos[i], 8); Console.Write("                   ");
                            }

                            if (query.Count == 1)
                            {
                                Console.SetCursorPosition(cageLeftPos[i], 6); Console.Write("                   ");
                                Console.SetCursorPosition(cageLeftPos[i], 7); Console.Write("                   ");
                                Console.SetCursorPosition(cageLeftPos[i], 8); Console.Write("                   ");
                                Console.SetCursorPosition(cageLeftPos[i], 6); Console.Write(query.ElementAt(0).Name + "    ");
                                Console.SetCursorPosition(cageLeftPos[i], 7); Console.Write("                   ");
                                Console.SetCursorPosition(cageLeftPos[i], 8); Console.Write("                   ");
                            }
                            if (query.Count == 2)
                            {
                                Console.SetCursorPosition(cageLeftPos[i], 6); Console.Write("                   ");
                                Console.SetCursorPosition(cageLeftPos[i], 7); Console.Write("                   ");
                                Console.SetCursorPosition(cageLeftPos[i], 8); Console.Write("                   ");
                                Console.SetCursorPosition(cageLeftPos[i], 6); Console.Write(query.ElementAt(0).Name + "    ");
                                Console.SetCursorPosition(cageLeftPos[i], 7); Console.Write(query.ElementAt(1).Name + "    ");
                                Console.SetCursorPosition(cageLeftPos[i], 8); Console.Write("                   ");
                            }
                            if (query.Count == 3)
                            {
                                Console.SetCursorPosition(cageLeftPos[i], 6); Console.Write("                   ");
                                Console.SetCursorPosition(cageLeftPos[i], 7); Console.Write("                   ");
                                Console.SetCursorPosition(cageLeftPos[i], 8); Console.Write("                   ");
                                Console.SetCursorPosition(cageLeftPos[i], 6); Console.Write(query.ElementAt(0).Name + "     ");
                                Console.SetCursorPosition(cageLeftPos[i], 7); Console.Write(query.ElementAt(1).Name + "     ");
                                Console.SetCursorPosition(cageLeftPos[i], 8); Console.Write(query.ElementAt(2).Name + "      ");
                            }
                        }
                        else if (i > 4)
                        {
                            if (query.Count == 1)
                            {
                                Console.SetCursorPosition(cageLeftPos[counter], 11); Console.Write("                 ");
                                Console.SetCursorPosition(cageLeftPos[counter], 12); Console.Write("                 ");
                                Console.SetCursorPosition(cageLeftPos[counter], 13); Console.Write("                 ");
                                Console.SetCursorPosition(cageLeftPos[counter], 11); Console.Write(query.ElementAt(0).Name + "     ");
                                Console.SetCursorPosition(cageLeftPos[counter], 12); Console.Write("                 ");
                                Console.SetCursorPosition(cageLeftPos[counter], 13); Console.Write("                 ");
                            }
                            if (query.Count == 2)
                            {
                                Console.SetCursorPosition(cageLeftPos[counter], 11); Console.Write("                 ");
                                Console.SetCursorPosition(cageLeftPos[counter], 12); Console.Write("                 ");
                                Console.SetCursorPosition(cageLeftPos[counter], 13); Console.Write("                 ");
                                Console.SetCursorPosition(cageLeftPos[counter], 11); Console.Write(query.ElementAt(0).Name + "     ");
                                Console.SetCursorPosition(cageLeftPos[counter], 12); Console.Write(query.ElementAt(1).Name + "     ");
                                Console.SetCursorPosition(cageLeftPos[counter], 13); Console.Write("                 ");
                            }
                            if (query.Count == 3)
                            {
                                Console.SetCursorPosition(cageLeftPos[counter], 11); Console.Write("                 ");
                                Console.SetCursorPosition(cageLeftPos[counter], 12); Console.Write("                 ");
                                Console.SetCursorPosition(cageLeftPos[counter], 13); Console.Write("                 ");
                                Console.SetCursorPosition(cageLeftPos[counter], 11); Console.Write(query.ElementAt(0).Name + "     ");
                                Console.SetCursorPosition(cageLeftPos[counter], 12); Console.Write(query.ElementAt(1).Name + "     ");
                                Console.SetCursorPosition(cageLeftPos[counter], 13); Console.Write(query.ElementAt(2).Name + "     ");
                            }

                            counter++;
                        }
                    }
                }
                #endregion

                var hamsterInWellnessCenter = e.Hamsters.Where(h => h.WellnessCenterId == 1).ToList();
                Console.SetCursorPosition(50, 17); Console.ForegroundColor = ConsoleColor.DarkYellow; Console.Write("Wellness Center"); Console.ForegroundColor = ConsoleColor.White;
                if (hamsterInWellnessCenter == null || hamsterInWellnessCenter.Count == 0)
                {
                    Console.SetCursorPosition(45, 19); Console.Write("             "); Console.SetCursorPosition(62, 19); Console.Write("             ");
                    Console.SetCursorPosition(45, 20); Console.Write("             "); Console.SetCursorPosition(62, 20); Console.Write("             ");
                    Console.SetCursorPosition(45, 21); Console.Write("             "); Console.SetCursorPosition(62, 21); Console.Write("             ");
                }

                if (hamsterInWellnessCenter != null && hamsterInWellnessCenter.Count != 0 && hamsterInWellnessCenter.Count == 6)
                {
                    Console.SetCursorPosition(45, 19); Console.Write(hamsterInWellnessCenter.ElementAt(0).Name + "        "); Console.SetCursorPosition(62, 19); Console.Write(hamsterInWellnessCenter.ElementAt(3).Name + "        ");
                    Console.SetCursorPosition(45, 20); Console.Write(hamsterInWellnessCenter.ElementAt(1).Name + "        "); Console.SetCursorPosition(62, 20); Console.Write(hamsterInWellnessCenter.ElementAt(4).Name + "        ");
                    Console.SetCursorPosition(45, 21); Console.Write(hamsterInWellnessCenter.ElementAt(2).Name + "        "); Console.SetCursorPosition(62, 21); Console.Write(hamsterInWellnessCenter.ElementAt(5).Name + "        ");
                }
            }
                           );
        }