Ejemplo n.º 1
0
        public static void UpdateJsonData()
        {
            var    json = Cafe.ToJson();
            string path = @"Data\Cafes.json";

            System.IO.StreamWriter file = new System.IO.StreamWriter(path);
            file.WriteLine(json);
            file.Close();
        }
Ejemplo n.º 2
0
        public static void ReadCafeData()
        {
            string path = @"Data\Cafes.json";

            using (StreamReader r = new StreamReader(path))
            {
                string  json  = r.ReadToEnd();
                dynamic array = JsonConvert.DeserializeObject(json);
                foreach (var item in array)
                {
                    Cafe c = new Cafe(
                        Convert.ToInt32(item.ID),
                        Convert.ToString(item.Name),
                        Convert.ToString(item.Address),
                        double.Parse(Convert.ToString(item.CordinateX)),
                        double.Parse(Convert.ToString(item.CordinateY))
                        );
                    dynamic days = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(item.WorkTime));
                    foreach (var item1 in days)
                    {
                        c.WorkTime.Add(new WorkingDaysAndTimes(Convert.ToString(item1.Day), Convert.ToString(item1.From), Convert.ToString(item1.To)));
                    }
                    double  sumRate   = 0;
                    int     countRate = 0;
                    dynamic rev       = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(item.Review));
                    foreach (var item2 in rev)
                    {
                        countRate++;
                        sumRate += Convert.ToInt32(item2.Rate);
                        c.Review.Add(new Review(Convert.ToInt32(item2.CafeID), Convert.ToString(item2.UserID), Convert.ToInt32(item2.Rate), Convert.ToString(item2.Comment)));
                    }
                    if (countRate != 0)
                    {
                        c.Rating = sumRate / countRate;
                    }
                    else
                    {
                        c.Rating = 0;
                    }
                    Cafe.cafes.Add(c);
                    lastID = Convert.ToInt32(item.ID);
                }
            }
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            Cafe.ReadCafeData();
            CafeIntro();
            for (;;)
            {
                try
                {
                    int x = int.Parse(Console.ReadLine());
                    if (x == 1)
                    {
                        foreach (Cafe cafe in Cafe.cafes)
                        {
                            Console.WriteLine(cafe);
                        }
                        Console.WriteLine("\n");
                    }
                    else if (x == 2)
                    {
                        Console.WriteLine("Enter your coordinates: ");
                        Console.Write("Enter the width: ");
                        double x1 = double.Parse(Console.ReadLine());
                        Console.Write("Enter longitude: ");
                        double y = double.Parse(Console.ReadLine());
                        Console.Write("Please enter what you want to search nearby cafes radius: ");
                        int radius = int.Parse(Console.ReadLine());

                        GeoCoordinate MyCordinate = new GeoCoordinate(x1, y);
                        for (int i = 0; i < Cafe.cafes.Count; i++)
                        {
                            if (MyCordinate.GetDistanceTo(Cafe.cafes[i].CafesCoordinate) <= radius)
                            {
                                Console.WriteLine(Cafe.cafes[i]);
                            }
                        }
                    }
                    else if (x == 3)
                    {
                        Console.WriteLine("If you want to search the café named, click the button F1.\n"
                                          + "Simply, you want to choose a cafe menu press F2 button" + "\n"
                                          + "Or press F3 if you want to see all list");
                        ConsoleKeyInfo cki = Console.ReadKey();
                        if (cki.Key == ConsoleKey.F1)
                        {
                            Console.Write("Please enter the name of the cafe: ");
                            int    j;
                            string name = Console.ReadLine().ToLower().ToUpper();
                            Console.WriteLine("\n");
                            for (j = 0; j < name.Length; j++)
                            {
                                Console.WriteLine(Cafe.cafes.Find(cc => cc.Name[j] == name[j]));
                                break;
                            }
                            foreach (WorkingDaysAndTimes day in Cafe.cafes[j].WorkTime)
                            {
                                Console.WriteLine(day);
                            }
                            Console.WriteLine("\n\n");
                        }

                        if (cki.Key == ConsoleKey.F2)
                        {
                            Console.WriteLine("Please Type a cafe that you want: ");
                            int i = 1;
                            foreach (Cafe cafe in Cafe.cafes)
                            {
                                Console.WriteLine(i + " - " + cafe.Name);
                                i++;
                            }
                            Console.WriteLine("\n");
                            int j = int.Parse(Console.ReadLine());
                            Console.WriteLine("\n");
                            Console.WriteLine(Cafe.cafes[--j]);
                            foreach (WorkingDaysAndTimes day in Cafe.cafes[j].WorkTime)
                            {
                                Console.WriteLine(day);
                            }
                            Console.WriteLine("\n\n");
                        }

                        if (cki.Key == ConsoleKey.F3)
                        {
                            foreach (Cafe cafe in Cafe.cafes)
                            {
                                Console.WriteLine(cafe);
                                foreach (WorkingDaysAndTimes day in cafe.WorkTime)
                                {
                                    Console.WriteLine("     " + day);
                                }
                            }
                        }
                    }
                    else if (x == 4)
                    {
                        Console.Write("Please enter the name of the cafe: ");
                        int    j;
                        string name = Console.ReadLine().ToLower().ToUpper();
                        for (j = 0; j < name.Length; j++)
                        {
                            Console.WriteLine(Cafe.cafes.Find(cc => cc.Name[j] == name[j]));
                            break;
                        }
                        foreach (WorkingDaysAndTimes day in Cafe.cafes[j].WorkTime)
                        {
                            Console.WriteLine("     " + day);
                        }
                    }
                    else if (x == 5)
                    {
                        if (!User.IsLoggedin)
                        {
                            Console.Write("Please enter your username: "******"Please enter your password: "******"Please try again.");
                            }
                            else
                            {
                                Console.WriteLine("You are logged in succesfully.");
                            }
                            CafeIntro();
                        }
                        else
                        {
                            int id = ++Cafe.lastID;
                            Console.Write("Please enter cafe name: ");
                            string name = Console.ReadLine();
                            Console.Write("Please enter address: ");
                            string address = Console.ReadLine();
                            Console.Write("Please enter coordinate X: ");
                            double cordinateX = double.Parse(Console.ReadLine());
                            Console.Write("Please enter coordinate Y: ");
                            double cordinateY = double.Parse(Console.ReadLine());
                            Cafe   c          = new Cafe(id, name, address, cordinateX, cordinateY);
                            for (;;)
                            {
                                Console.Write("Add new day of work ? (Y/N): ");
                                string isadd = Console.ReadLine();
                                if (isadd == "Y")
                                {
                                    Console.Write("Please enter day: ");
                                    string day = Console.ReadLine();
                                    Console.Write("Please enter time from: ");
                                    string from = Console.ReadLine();
                                    Console.Write("Please enter time to: ");
                                    string to = Console.ReadLine();
                                    c.WorkTime.Add(new WorkingDaysAndTimes(day, from, to));
                                }
                                else
                                {
                                    break;
                                }
                            }
                            Cafe.cafes.Add(c);
                            Cafe.UpdateJsonData();
                            CafeIntro();
                        }
                    }

                    else if (x == 6)
                    {
                        if (!User.IsLoggedin)
                        {
                            return;
                        }
                        int i = 1;
                        foreach (Cafe cafe in Cafe.cafes)
                        {
                            Console.WriteLine(i + " - " + cafe.Name);
                            i++;
                        }
                        Console.Write("Please type a cafe id that you want to delete: ");
                        int j = int.Parse(Console.ReadLine());
                        Cafe.cafes.RemoveAt(--j);
                        Cafe.UpdateJsonData();
                        CafeIntro();
                    }

                    else if (x == 7)
                    {
                        if (!User.IsLoggedin)
                        {
                            return;
                        }
                        Console.WriteLine("Please type a cafe that you want to rate: ");
                        int i = 1;
                        foreach (Cafe cafe in Cafe.cafes)
                        {
                            Console.WriteLine(i + " - " + cafe.Name);
                            i++;
                        }
                        int  j = int.Parse(Console.ReadLine());
                        Cafe c = Cafe.cafes[--j];
                        Console.Write("Please enter your rate (From 1 to 5): ");
                        int rate = Convert.ToInt32(Console.ReadLine());
                        if (rate > 5)
                        {
                            rate = 5;
                        }
                        Console.Write("Please enter your comment: ");
                        string comment = Console.ReadLine();
                        c.Review.Add(new Review(++j, User.Usern, rate, comment));
                        Cafe.UpdateJsonData();
                        CafeIntro();
                    }

                    else if (x == 8)
                    {
                        User.LogOut();
                    }

                    else
                    {
                        break;
                    }
                }

                catch (Exception x) { { Console.Write("You can not enter a string expression\n"); } }
            }
        }
Ejemplo n.º 4
0
        static void Main(string[] args)
        {
            int k = 0;

            Cafe.ReadCafeData();
            CafeIntro();
            for (;;)
            {
                try
                {
                    int x = int.Parse(Console.ReadLine());

                    if (x == 1)
                    {
                        int i = 1;
                        Cafe.SortCafe(Cafe.cafes);

                        foreach (Cafe cafe in Cafe.cafes)
                        {
                            Console.WriteLine(i + " " + cafe); i += 1;
                        }
                        Console.WriteLine("\n");
                    }
                    else if (x == 2)
                    {
                        Console.WriteLine("Enter your coordinates: ");
                        Console.Write("Enter the width: ");
                        double x1 = double.Parse(Console.ReadLine());
                        Console.Write("Enter longitude: ");
                        double y = double.Parse(Console.ReadLine());
                        Console.Write("Please enter what you want to search nearby cafes radius: ");
                        int radius = int.Parse(Console.ReadLine());

                        GeoCoordinate MyCordinate = new GeoCoordinate(x1, y);
                        int           n           = -1;
                        for (int i = 0; i < Cafe.cafes.Count; i++)
                        {
                            if (MyCordinate.GetDistanceTo(Cafe.cafes[i].CafesCoordinate) <= radius)
                            {
                                n += 1; Console.WriteLine(Cafe.cafes[i]);
                            }
                        }
                        if (n < 0)
                        {
                            Console.WriteLine("Cafe not found:");
                        }
                    }
                    else if (x == 3)
                    {
                        Console.WriteLine("If you want to search the café named, click the button F1.\n"
                                          + "Simply, you want to choose a cafe menu press F2 button" + "\n"
                                          + "Or press F3 if you want to see all list");
                        ConsoleKeyInfo cki = Console.ReadKey();
                        if (cki.Key == ConsoleKey.F1)
                        {
                            Console.Write("Please enter the name of the cafe: ");
                            int    j;
                            string name    = Console.ReadLine().ToLower().ToUpper();
                            bool   isDigit = name.Length == name.Where(c => char.IsDigit(c)).Count();
                            if (isDigit == false)
                            {
                                Console.WriteLine("\n");
                                for (j = 0; j < name.Length; j++)
                                {
                                    Console.WriteLine(Cafe.cafes.Find(cc => cc.Name[j] == name[j]));
                                    break;
                                }
                                foreach (WorkingDaysAndTimes day in Cafe.cafes[j].WorkTime)
                                {
                                    Console.WriteLine(day);
                                }
                                Console.WriteLine("\n\n");
                            }
                            else
                            {
                                Console.WriteLine("Please do not enter a number");
                            }
                        }

                        if (cki.Key == ConsoleKey.F2)
                        {
                            Console.WriteLine("Please Type a cafe that you want: ");
                            int i = 1;
                            foreach (Cafe cafe in Cafe.cafes)
                            {
                                Console.WriteLine(i + " - " + cafe.Name);
                                i++;
                            }
                            Console.WriteLine("\n");
                            int j = int.Parse(Console.ReadLine());
                            Console.WriteLine("\n");
                            Console.WriteLine(Cafe.cafes[--j]);
                            foreach (WorkingDaysAndTimes day in Cafe.cafes[j].WorkTime)
                            {
                                Console.WriteLine(day);
                            }
                            Console.WriteLine("\n\n");
                        }

                        if (cki.Key == ConsoleKey.F3)
                        {
                            foreach (Cafe cafe in Cafe.cafes)
                            {
                                Console.WriteLine(cafe);
                                foreach (WorkingDaysAndTimes day in cafe.WorkTime)
                                {
                                    Console.WriteLine("     " + day);
                                }
                            }
                        }
                    }
                    else if (x == 4)
                    {
                        Console.Write("Please enter the name of the cafe: ");
                        int    j, n = -1;
                        string str     = Console.ReadLine().ToLower().ToUpper();
                        bool   IsDigit = str.Length == str.Where(c => char.IsDigit(c)).Count();
                        if (IsDigit == false)
                        {
                            for (j = 0; j < str.Length; j++)
                            {
                                Console.WriteLine(Cafe.cafes.Find(cc => cc.Name[j] == str[j]));

                                foreach (WorkingDaysAndTimes day in Cafe.cafes[j].WorkTime)
                                {
                                    Console.WriteLine("     " + day);
                                }
                                break;
                            }
                        }
                        else if (IsDigit == true)
                        {
                            Console.WriteLine("Please do not enter a number");
                        }
                    }

                    else if (x == 5)
                    {
                        if (!User.IsLoggedin)
                        {
                            Console.Write("Please enter your UserName: "******"Please enter your Password: "******"Please try again.");
                            }
                            else
                            {
                                Console.WriteLine("You are logged in succesfully.");
                            }
                            CafeIntro();
                        }
                        else
                        {
                            int id = ++Cafe.lastID;
                            Console.Write("Please enter cafe name: ");
                            string name = Console.ReadLine();
                            Console.Write("Please enter address: ");
                            string address = Console.ReadLine();
                            Console.Write("Please enter coordinate X: ");
                            double cordinateX = double.Parse(Console.ReadLine());
                            Console.Write("Please enter coordinate Y: ");
                            double cordinateY = double.Parse(Console.ReadLine());
                            Cafe   c          = new Cafe(id, name, address, cordinateX, cordinateY);
                            for (;;)
                            {
                                Console.Write("Add new day of work ? (Y/N): ");
                                string isadd = Console.ReadLine();
                                if (isadd == "Y")
                                {
                                    Console.Write("Please enter day: ");
                                    string day = Console.ReadLine();
                                    Console.Write("Please enter time from: ");
                                    string from = Console.ReadLine();
                                    Console.Write("Please enter time to: ");
                                    string to = Console.ReadLine();
                                    c.WorkTime.Add(new WorkingDaysAndTimes(day, from, to));
                                }
                                else
                                {
                                    break;
                                }
                            }
                            Cafe.cafes.Add(c);
                            Cafe.UpdateJsonData();
                            CafeIntro();
                        }
                    }


                    else if (x == 6)
                    {
                        if (!User.IsLoggedin)
                        {
                            return;
                        }
                        int i = 1;
                        foreach (Cafe cafe in Cafe.cafes)
                        {
                            Console.WriteLine(i + " - " + cafe.Name);
                            i++;
                        }
                        Console.Write("Please type a cafe id that you want to delete: ");
                        int j = int.Parse(Console.ReadLine());
                        Cafe.cafes.RemoveAt(--j);
                        Cafe.UpdateJsonData();
                        CafeIntro();
                    }

                    else if (x == 7)
                    {
                        if (!User.IsLoggedin)
                        {
                            return;
                        }
                        Console.WriteLine("Please type a cafe that you want to rate: ");
                        int i = 1;
                        foreach (Cafe cafe in Cafe.cafes)
                        {
                            Console.WriteLine(i + " - " + cafe.Name);
                            i++;
                        }
                        int  j = int.Parse(Console.ReadLine());
                        Cafe c = Cafe.cafes[--j];
                        Console.Write("Please enter your rate (From 1 to 5): ");
                        int rate = Convert.ToInt32(Console.ReadLine());
                        if (rate > 5)
                        {
                            rate = 5;
                        }
                        Console.Write("Please enter your comment: ");
                        string comment = Console.ReadLine();
                        c.Review.Add(new Review(++j, User.Usern, rate, comment));
                        Cafe.UpdateJsonData();
                        CafeIntro();
                    }

                    else if (x == 8)
                    {
                        User.LogOut();
                    }
                    else if (x == 9)
                    {
                        Cafe.SortCafe(Cafe.cafes);
                        int i = 1;
                        foreach (Cafe cafe in Cafe.cafes)
                        {
                            Console.WriteLine(i + " " + cafe); i += 1;
                        }
                        Console.WriteLine("Select what you want cafe");

                        int y = int.Parse(Console.ReadLine());
                        foreach (Review item in Cafe.cafes[y - 1].Review)
                        {
                            Console.WriteLine(item);
                        }
                    }



                    else
                    {
                        break;
                    }



                    if (x == 1 || x == 9 || x == 3 || x == 8)
                    {
                        CafeIntro();
                    }
                }

                catch (Exception x) { MessageBox.Show(x.Message.ToString(), x.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error); Console.Write("You can not enter a string expression\n"); }
            }
        }