Exemplo n.º 1
0
        /*Följande metod raderar en cykel ur "generella" cykeltabellen SAMT den korrekta subtabellen m.h.a. ramnummret
         * som kommer ifrån en användare.*/

        public void RemoveBicycleFromDatabase(string frame_number)
        {
            using (var context = new bicycle_rental2DBEntities())
            {
                Bicycle removeBicycle = context.Bicycles.FirstOrDefault(c => c.frame_number == frame_number);
                context.Bicycles.Remove(removeBicycle);

                if (removeBicycle.bicycle_type == "Vanlig cykel")
                {
                    Regular_bicycle removeRegular = context.Regular_bicycle.FirstOrDefault(b => b.frame_number == frame_number);
                    context.Regular_bicycle.Remove(removeRegular);
                    context.SaveChanges();
                }
                else if (removeBicycle.bicycle_type == "Elcykel")
                {
                    Electric_bicycle removeElectric = context.Electric_bicycle.FirstOrDefault(b => b.frame_number == frame_number);
                    context.Electric_bicycle.Remove(removeElectric);
                    context.SaveChanges();
                }
                else if (removeBicycle.bicycle_type == "Enhjuling")
                {
                    Unicycle removeUnicycle = context.Unicycles.FirstOrDefault(b => b.frame_number == frame_number);
                    context.Unicycles.Remove(removeUnicycle);
                    context.SaveChanges();
                }
            }
        }
Exemplo n.º 2
0
        /*Följande metod tar emot ett ramnummer som användaren har fyllt i m.h.a. en annan metod, söker upp matchande cykel i
         * den "generella" cykeltabellen för att sedan presentera ALL data på just den cykeln.
         *
         * Denna metoden borde nog egentligen inte ha printat informationen, utan bara hämtat objekt/objektinformationen och
         * skickat vidare den till en mer relevant metod. Åtgärdas i mån av tid. TODO.*/

        public void DisplaySpecificBicycle(string frame_number)
        {
            Console.Clear();

            using (var context = new bicycle_rental2DBEntities())
            {
                Bicycle bicycle = context.Bicycles.FirstOrDefault(b => b.frame_number == frame_number);
                Console.WriteLine("DISPLAYING BICYCLE: " + bicycle.make + " " + bicycle.model);
                Console.WriteLine("\n\nBicycle type: " + bicycle.bicycle_type);
                Console.WriteLine("Bicycle category: " + bicycle.bicycle_category);
                Console.WriteLine("Recommended user: "******"Color: " + bicycle.color);
                Console.WriteLine("Frame size: " + bicycle.frame_size);
                Console.WriteLine("Wheel size: " + bicycle.wheel_size);
                Console.WriteLine("Gears: " + bicycle.gears);
                Console.WriteLine("Brakes back: " + bicycle.brake_back);
                Console.WriteLine("Brakes front: " + bicycle.brake_front);
                Console.WriteLine("Price: " + bicycle.price);

                /*Hämtar extra information om cykeln som visas är en elcykel. Info hämtas m.h.a. ramnummer och finnes i
                 * subtabellen över elcyklar.*/

                if (bicycle.bicycle_type == "Elcykel")
                {
                    Console.WriteLine("\nBATTERY INFORMATION:");
                    Electric_bicycle displayElectric = context.Electric_bicycle.FirstOrDefault(b => b.frame_number == frame_number);
                    Console.WriteLine("\nBattery capacity: " + displayElectric.battery_capacity + " Wh.");
                    Console.WriteLine("Average charge time: " + displayElectric.battery_avg_charge_time + " hours.");
                    Console.WriteLine("Average distance per full charge: " + displayElectric.battery_avg_distance + " km.");
                    Console.WriteLine("Motor power: " + displayElectric.motor_power + " W.");
                }

                Console.WriteLine("\n\n\n\nPress a key to return to the main menu.");
                Console.ReadKey();
            }
        }