示例#1
0
        static void getBeers() // am facut o functie din ceea ce se gaseste in exemplul de la curs
        {
            beers.RootObject obj1 = new beers.RootObject();
            var client            = new HttpClient();
            var response          = client.GetAsync("http://datc-rest.azurewebsites.net/beers").Result;

            var data = response.Content.ReadAsStringAsync().Result;

            var obj = JsonConvert.DeserializeObject(data);

            obj1 = JsonConvert.DeserializeObject <beers.RootObject>(data);
        }
示例#2
0
        static beers.RootObject postJson(int id, string name, string link, int add)
        {
            RootObject obj1 = new RootObject();
            string     realLink;

            realLink = "http://datc-rest.azurewebsites.net/beers";

            var client = new HttpClient();

            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/hal+json"));
            var response = client.GetAsync(realLink).Result;

            var data = response.Content.ReadAsStringAsync().Result;

            Console.WriteLine(data);

            beers.RootObject x = JsonConvert.DeserializeObject <beers.RootObject>(data);

            if (add == 1)
            {
                beers.RootObject addBeer = new beers.RootObject() // un fel de clasa x = new clasa(); dar pentru clase imbricate
                {
                    _embedded = new beers.Embedded()
                    {
                        beer = new List <beers.Beer2>() // cand am incercat sa fac o instantiere cu add am avut o problema
                        {                               // legat de instantierea listei, deci solutia a fost crearea unei astfel de structuri in care sa aiba loc
                            new beers.Beer2             //instantierea explicita a fiecarui element. Astfel pot sa creez un element al listei fara probleme.
                            {
                                Id     = id,
                                Name   = name,
                                _links = new beers.Links2
                                {
                                    self = new beers.Self2
                                    {
                                        href = link
                                    }
                                }
                            }
                        }
                    }
                };

                x._embedded.beer.Add(addBeer._embedded.beer[0]);
            }
            var jsonOutput = JsonConvert.SerializeObject(x, Formatting.Indented);

            Console.WriteLine(jsonOutput);

            return(x);
        }
示例#3
0
        static void introdBere()
        {
            Console.WriteLine("Introduceti datele pentru a adauga o bere : ");
            Console.WriteLine("Id:");
            int id = Int32.Parse(Console.ReadLine());

            Console.WriteLine("Name:");
            string name = Console.ReadLine();

            Console.WriteLine("Link:");
            string link = (Console.ReadLine());

            beers.RootObject b = postJson(id, name, link, 1); // fac introducerea in json a valorilor date de la tastatura

            for (int i = 0; i < b._embedded.beer.Count(); i++)
            {
                Console.WriteLine(i + " : " + b._embedded.beer[i].Name);
            }
        }
示例#4
0
        static void Main(string[] args)
        {
            RootObject obj1    = new RootObject();
            int        opt     = -10;
            int        meniu   = 0;
            string     linkGet = "/breweries";

            hal.RootObject x;
            x = getBeerFromStr(linkGet);

            Console.WriteLine(x._embedded.brewery[0].Name);

            // while (opt != -10)
            // {
            int men1 = 0;

            do
            {
                do
                {
                    Console.WriteLine("Alegeti actiunea ce doriti sa o efectuati:");
                    Console.WriteLine("1 : Parcurge beri");
                    Console.WriteLine("2 : Adauga beri");
                    Console.WriteLine("3 : Exit");
                    men1 = Int32.Parse(Console.ReadLine());
                } while (men1 == 0 || men1 < 1 || men1 > 3); // oblig utilizatorul sa introduca o optiune valida

                if (men1 == 3)
                {
                    Console.WriteLine("Exit!");
                    return;
                }
                else
                if (men1 == 2)                                     // Am ales sa adaug beri
                {
                    beers.RootObject a = postJson(0, "0", "0", 0); // obtinerea json-ului nemodificat

                    for (int i = 0; i < a._embedded.beer.Count(); i++)
                    {
                        Console.WriteLine(i + " : " + a._embedded.beer[i].Name);
                    }

                    introdBere();
                    Console.WriteLine("0 : Inapoi");
                    Console.WriteLine("1 : Exit");
                    Console.WriteLine("2 : Introduceti alta bere");

                    int men2 = Int32.Parse(Console.ReadLine());

                    if (men2 == 1)
                    {
                        Console.WriteLine("Exit");
                        return;
                    }
                    else
                    {
                        men1 = men2;
                    }
                }
                else
                if (men1 == 1)
                {
                    do
                    {
                        Console.WriteLine();
                        Console.WriteLine("Alegeti un tip de bere din cele de mai jos: ");

                        for (int i = 0; i < x._embedded.brewery.Count; i++)
                        {
                            string s  = "";
                            int    i2 = i;
                            s = s + (i2 + 1) + ": ";
                            s = s + x._embedded.brewery[i].Name;

                            Console.WriteLine(s);
                        }
                        Console.WriteLine("0 : Exit");
                        Console.WriteLine();

                        opt = Int32.Parse(Console.ReadLine());
                        Console.WriteLine(opt);
                        if (opt == 0 || opt < 0)
                        {
                            return;
                        }
                        else
                        if ((opt < x._embedded.brewery.Count) && (x._embedded.brewery[opt - 1]._links != null))
                        {
                            string link1 = x._embedded.brewery[opt - 1]._links.beers.href;
                            Console.WriteLine(link1);
                            SecondLink.RootObject NewStringBeers;
                            NewStringBeers = getBeerFromStr2(link1);

                            for (int i = 0; i < NewStringBeers._embedded.beer.Count; i++)
                            {
                                string s = "";
                                s = s + i + ": ";
                                s = s + NewStringBeers._embedded.beer[i].Name;

                                Console.WriteLine(s);
                            }
                            Console.WriteLine();
                            Console.WriteLine("Alegeti berea despre care doriti informatii:");
                            int informatii = Int32.Parse(Console.ReadLine());

                            if (informatii < NewStringBeers._embedded.beer.Count)
                            {
                                beersInfo.RootObject info = getBeerInfo(NewStringBeers._embedded.beer[informatii]._links.brewery.href);
                                Console.WriteLine("ID : " + info.Id + " Name " + info.Name);
                                Console.WriteLine();
                            }
                            else
                            {
                                Console.WriteLine("Valoarea nu este dintre cele din lista\n");
                                Console.WriteLine();
                            }
                        }
                        else
                        {
                            if (opt >= x._embedded.brewery.Count)
                            {
                                Console.WriteLine("In afara optiunilor\n");
                                Console.WriteLine();
                            }
                            else if (opt == -1)
                            {
                                Console.WriteLine("Exit!\n");
                                Console.WriteLine();
                            }
                        }
                    } while (opt != -1);
                }
                Console.WriteLine("Gata!");
            } while (men1 != 3);

            Console.ReadLine();
        }