Ejemplo n.º 1
0
        public async Task <Result <string> > GetXml(string adminId, List <string> userIds)
        {
            var admin = await _userManager.FindByIdAsync(adminId);

            if (admin == null)
            {
                return(Result <string> .CreateFailed(
                           HttpStatusCode.NotFound, "User not found"));
            }
            var adminRoles = await _userManager.GetRolesAsync(admin);

            if (!adminRoles.Contains("Admin"))
            {
                return(Result <string> .CreateFailed(
                           HttpStatusCode.NotFound, "Has not Admin Role"));
            }

            string finalXml = "";
            var    xmls     = new XMLS();

            xmls.XMLs = new List <XML>();
            foreach (var userId in userIds)
            {
                var user = await _context.Users
                           .Where(x => x.Id == Guid.Parse(userId))
                           .Include(x => x.Educations)
                           .Include(x => x.Educations)
                           .Include(x => x.Experiences)
                           .Include(x => x.FrendFrom)
                           .Include(x => x.FriendTo)
                           .Include(x => x.Notifications)
                           .Include("UserAds.Ad")
                           .Include(x => x.UserPosts)
                           .Include("UserPosts.Post").FirstOrDefaultAsync();

                if (user == null)
                {
                    return(Result <string> .CreateFailed(
                               HttpStatusCode.NotFound, "User not found"));
                }
                var xml = new XML();
                xml.User     = user;
                xml.Comments = await _context.Comments.Where(x => x.User == user).ToListAsync();

                xml.Expiriances = await _context.Experiences.Where(x => x.User == user).ToListAsync();

                xml.Educations = await _context.Educations.Where(x => x.User == user).ToListAsync();

                xml.Personalskills = await _context.PersonalSkills.Where(x => x.User == user).ToListAsync();

                xml.Posts = await _context.Posts.Where(x => x.Owner == user).ToListAsync();

                xml.Ads = await _context.Ads.Where(x => x.Owner == user).ToListAsync();

                xmls.XMLs.Add(xml);
            }
            finalXml = xmls.ToXML();
            return(Result <string> .CreateSuccessful(finalXml));
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            uint state = 0;
            char key;
            bool fail;

            string[] types = { "Auto:", "Motorka:", "Letadlo:", "Lod:" };

            //nacteni dat z XML, pokud existuje
            VehicleCollection col = XMLS.Load();

            SimpleDelegate simpleDelegate = new SimpleDelegate(col.Check);


            /// <summary>
            /// vypisy menu
            /// </summary>
            while (state != 5)
            {
                switch (state)
                {
                case 0:               //hlavni menu
                    simpleDelegate(); //kontrola, zda neni treba prevest nejake vozidlo do srotu
                    Console.Clear();
                    Console.WriteLine("HLAVNI MENU");
                    Console.WriteLine("");
                    Console.WriteLine("1. Seznam vozidel");
                    Console.WriteLine("2. Seznam vozidel k sesrotovani");
                    Console.WriteLine("3. Pridat nove vozidlo");
                    Console.WriteLine("4. Vymazat vozidlo");
                    Console.WriteLine("5. Konec aplikace");
                    Console.WriteLine("");
                    key = Console.ReadKey().KeyChar;
                    switch (key)
                    {
                    case '1':
                        state = 1;
                        break;

                    case '2':
                        state = 2;
                        break;

                    case '3':
                        state = 3;
                        break;

                    case '4':
                        state = 4;
                        break;

                    case '5':
                        state = 5;
                        break;
                    }
                    break;

                case 1:     //vypise seznam vozidel
                    Console.Clear();
                    Console.WriteLine("Seznam vozidel:");
                    Console.WriteLine("");
                    double overallValue = 0;
                    int    count        = 0;
                    foreach (Vehicle v in col.scrapList)
                    {
                        count++;
                        Console.WriteLine(types[v.Type - 1]);
                        Console.WriteLine("Datum porizeni: {0}", v.Date.Date.ToString("d"));
                        Console.WriteLine("Znacka:         {0}", v.Brand);
                        Console.WriteLine("Pocet sedadel:  {0}", v.SeatsNumber);
                        Console.WriteLine("Spotreba:       {0}", v.Usage);
                        Console.WriteLine("Puvodni cena:   {0}", Math.Round((decimal)v.OriginalValue, 2));
                        Console.WriteLine("Aktualni cena:  {0}", Math.Round(v.ActualValue, 2));
                        Console.WriteLine();
                        Console.WriteLine();
                    }
                    foreach (Vehicle v in col.vehicleList)
                    {
                        count++;
                        overallValue += v.ActualValue;
                        Console.WriteLine(types[v.Type - 1]);
                        Console.WriteLine("Datum porizeni: {0}", v.Date.Date.ToString("d"));
                        Console.WriteLine("Znacka:         {0}", v.Brand);
                        Console.WriteLine("Pocet sedadel:  {0}", v.SeatsNumber);
                        Console.WriteLine("Spotreba:       {0}", v.Usage);
                        Console.WriteLine("Puvodni cena:   {0}", Math.Round((decimal)v.OriginalValue, 2));
                        Console.WriteLine("Aktualni cena:  {0}", Math.Round(v.ActualValue, 2));
                        Console.WriteLine();
                        Console.WriteLine();
                    }
                    Console.WriteLine("Celkova hodnota: {0}Kc", overallValue);
                    Console.WriteLine("Celkem vozidel: {0}ks", count);
                    Console.WriteLine("");
                    Console.WriteLine("1. Zpet");
                    Console.WriteLine("");
                    key = Console.ReadKey().KeyChar;
                    if (key == '1')
                    {
                        state = 0;
                    }
                    break;

                case 2:     //vypise seznam vozidel k sesrotovani
                    Console.Clear();
                    Console.WriteLine("Seznam vozidel k sesrotovani:");
                    Console.WriteLine("");
                    foreach (Vehicle v in col.scrapList)
                    {
                        Console.WriteLine(types[v.Type - 1]);
                        Console.WriteLine("Datum porizeni: {0}", v.Date.Date.ToString("d"));
                        Console.WriteLine("Znacka:         {0}", v.Brand);
                        Console.WriteLine("Pocet sedadel:  {0}", v.SeatsNumber);
                        Console.WriteLine("Spotreba:       {0}", v.Usage);
                        Console.WriteLine("Puvodni cena:   {0}", Math.Round((decimal)v.OriginalValue, 2));
                        Console.WriteLine("Aktualni cena:  {0}", Math.Round(v.ActualValue, 2));
                        Console.WriteLine();
                        Console.WriteLine();
                    }
                    Console.WriteLine("1. Zpet");
                    Console.WriteLine("");
                    key = Console.ReadKey().KeyChar;
                    if (key == '1')
                    {
                        state = 0;
                    }
                    break;

                case 3:     //pridani noveho vozidla
                    Console.Clear();
                    Console.WriteLine("Pridat nove vozidlo:");
                    Console.WriteLine("");

                    int type;
                    do
                    {
                        Console.Write("Typ vozidla (1: Auto, 2: Motorka, 3: Letadlo, 4: Lod): ");
                        type = Console.ReadKey().KeyChar - '0';
                        Console.WriteLine("");
                    } while (type < 1 || type > 4);
                    Console.WriteLine("");

                    DateTime date;
                    do
                    {
                        Console.Write("Datum porizeni: ");
                    } while (!DateTime.TryParse(Console.ReadLine(), out date) || date.CompareTo(DateTime.Now) > 0);
                    Console.WriteLine("");

                    Console.Write("Znacka: ");
                    string brand = Console.ReadLine();
                    Console.WriteLine("");

                    int seatsNumber = 0;
                    do
                    {
                        fail = false;
                        try
                        {
                            Console.Write("Pocet sedadel: ");
                            seatsNumber = Convert.ToInt32(Console.ReadLine());
                            if (seatsNumber < 0)
                            {
                                fail = true;
                            }
                        }
                        catch (FormatException)
                        {
                            fail = true;
                        }
                        catch (OverflowException)
                        {
                            fail = true;
                        }
                    } while (fail);
                    Console.WriteLine();

                    int usage = 0;
                    do
                    {
                        fail = false;
                        try
                        {
                            Console.Write("Spotreba na 100km: ");
                            usage = Convert.ToInt32(Console.ReadLine());
                            if (usage < 0)
                            {
                                fail = true;
                            }
                        }
                        catch (FormatException)
                        {
                            fail = true;
                        }
                        catch (OverflowException)
                        {
                            fail = true;
                        }
                    } while (fail);
                    Console.WriteLine();

                    int originalValue = 0;
                    do
                    {
                        fail = false;
                        try
                        {
                            Console.Write("Puvodni hodnota: ");
                            originalValue = Convert.ToInt32(Console.ReadLine());
                            if (originalValue < 0)
                            {
                                fail = true;
                            }
                        }
                        catch (FormatException)
                        {
                            fail = true;
                        }
                        catch (OverflowException)
                        {
                            fail = true;
                        }
                    } while (fail);
                    Console.WriteLine("");

                    if (type == 1)
                    {
                        Car newVehicle = new Car(date, originalValue, brand, seatsNumber, usage);
                        col.Add(newVehicle);
                    }
                    else if (type == 2)
                    {
                        Motorcycle newVehicle = new Motorcycle(date, originalValue, brand, seatsNumber, usage);
                        col.Add(newVehicle);
                    }
                    else if (type == 3)
                    {
                        Plane newVehicle = new Plane(date, originalValue, brand, seatsNumber, usage);
                        col.Add(newVehicle);
                    }
                    else
                    {
                        Ship newVehicle = new Ship(date, originalValue, brand, seatsNumber, usage);
                        col.Add(newVehicle);
                    }
                    Console.WriteLine("");
                    Console.WriteLine("Vozidlo uspesne pridano!");
                    Console.WriteLine("");
                    Console.Write("Press any key to continue...");
                    Console.ReadKey();
                    state = 0;
                    break;

                case 4:     //smazani vozidla
                    Console.Clear();
                    Console.WriteLine("Vymazat vozidlo:");
                    Console.WriteLine("");

                    int i = 0;
                    int j = 0;

                    foreach (Vehicle v in col.scrapList)
                    {
                        i++;
                        Console.WriteLine("{0}. " + types[v.Type - 1], i);
                        Console.WriteLine("Datum porizeni: {0}", v.Date.Date.ToString("d"));
                        Console.WriteLine("Znacka:         {0}", v.Brand);
                        Console.WriteLine("Pocet sedadel:  {0}", v.SeatsNumber);
                        Console.WriteLine("Spotreba:       {0}", v.Usage);
                        Console.WriteLine("Puvodni cena:   {0}", Math.Round((decimal)v.OriginalValue, 2));
                        Console.WriteLine("Aktualni cena:  {0}", Math.Round(v.ActualValue, 2));
                        Console.WriteLine();
                        Console.WriteLine();
                    }
                    foreach (Vehicle v in col.vehicleList)
                    {
                        j++;
                        Console.WriteLine("{0}. " + types[v.Type - 1], i + j);
                        Console.WriteLine("Datum porizeni: {0}", v.Date.Date.ToString("d"));
                        Console.WriteLine("Znacka:         {0}", v.Brand);
                        Console.WriteLine("Pocet sedadel:  {0}", v.SeatsNumber);
                        Console.WriteLine("Spotreba:       {0}", v.Usage);
                        Console.WriteLine("Puvodni cena:   {0}", Math.Round((decimal)v.OriginalValue, 2));
                        Console.WriteLine("Aktualni cena:  {0}", Math.Round(v.ActualValue, 2));
                        Console.WriteLine();
                        Console.WriteLine();
                    }
                    Console.WriteLine("{0}. Zpet", i + j + 1);
                    Console.WriteLine("");

                    int number = 0;
                    do
                    {
                        fail = false;
                        try
                        {
                            number = Convert.ToInt32(Console.ReadLine());
                            if (number < 1 || number > i + j + 1)
                            {
                                fail = true;
                            }
                        }
                        catch (FormatException)
                        {
                            fail = true;
                        }
                        catch (OverflowException)
                        {
                            fail = true;
                        }
                    } while (fail);

                    if (number < i + j + 1)
                    {
                        if (number > i)
                        {
                            col.scrapList.RemoveAt(number - i - 1);
                        }
                        else
                        {
                            col.vehicleList.RemoveAt(number - 1);
                        }
                        Console.WriteLine("");
                        Console.WriteLine("Vozidlo uspesne vymazano!");
                        Console.WriteLine("");
                        Console.Write("Press any key to continue...");
                        Console.ReadKey();
                    }

                    state = 0;
                    break;
                }
            }

            //ulozi aktualni stav do xml souboru
            if (!XMLS.Save(col))
            {
                Console.WriteLine("Nepodarilo se ulozit do souboru.");
            }
        }