コード例 #1
0
ファイル: Program.cs プロジェクト: Kajmank2/EntityFrameWork
        static void Main(string[] args)
        {
            Console.WriteLine("Hello Enitiy");
            Console.WriteLine("Operation Create [PRESS ENTER]");
            Console.ReadKey();
            //CREATE !
            using CarRentalContext context = new CarRentalContext();
            #region Create
            Reservation rs = new Reservation()
            {
                ReservationId       = 0,
                ReservationDateTime = new DateTime(2020, 03, 27, 08, 34, 20),
                Status = 0,
                CarId  = 1
            };

            DateTime ReservationDate   = rs.ReservationDateTime;
            var      reservationNumber = context.Reservations.Where(x => x.ReservationDateTime == ReservationDate);
            int      doubleReservation = 0;
            foreach (var item in reservationNumber)
            {
                Console.WriteLine("Rezerwacja o Dacie {0} aktualnie znajduje się w bazie", item.ReservationDateTime);
                doubleReservation++;
            }
            if (doubleReservation == 0)
            {
                context.Reservations.Add(rs);
            }

            Car car1 = new Car()
            {
                RegistrationNumber = "WLI15AL",
                CurrentDistance    = 105,
                Status             = 1,
                XPosition          = 12.2332,
                YPosition          = 13.2112,
                TotalDistance      = 1200000,
            };
            string carRegistration = car1.RegistrationNumber;
            var    registionNum    = context.Cars.Where(x => x.RegistrationNumber == carRegistration);
            int    doubleRegistion = 0;
            foreach (var item in registionNum)
            {
                Console.WriteLine("Samochód o numerze resjstracyjnym {0} aktualnie znajduje się w bazie", item.RegistrationNumber);
                doubleRegistion++;
            }
            if (doubleRegistion == 0)
            {
                context.Cars.Add(car1);
            }



            Car car2 = new Car()
            {
                RegistrationNumber = "KRKF0AL",
                XPosition          = 12.3221,
                YPosition          = 1233.211,
                TotalDistance      = 1200000,
                CurrentDistance    = 190,
                Status             = 0
            };
            string carRegistration2 = car2.RegistrationNumber;
            var    registionNum2    = context.Cars.Where(x => x.RegistrationNumber == carRegistration2);
            int    doubleRegistion2 = 0;
            foreach (var item in registionNum2)
            {
                Console.WriteLine("Samochód o numerze resjstracyjnym {0} aktualnie znajduje się w bazie", item.RegistrationNumber);
                doubleRegistion2++;
            }
            if (doubleRegistion2 == 0)
            {
                context.Cars.Add(car2);
            }
            #endregion
            //Read
            #region READ
            Console.WriteLine("Wczytuje Samochody o Wartośc 0 [PRESS ENTER]");
            Console.ReadKey();
            int i           = 1;
            var Status0Linq = context.Cars.Where(x => x.Status == 0).ToList();
            foreach (var item in Status0Linq)
            {
                Console.WriteLine("Samochód nr {0} o statusie równym 0 (wolny)", i);
                Console.WriteLine("NUMER REJSTRACYJNY {0}", item.RegistrationNumber);
                Console.WriteLine("BIEŻĄCY DYSTANS {0}", item.CurrentDistance);
                Console.WriteLine("CALKOWITY PRZEBIEG {0} ", item.TotalDistance);
                Console.WriteLine("POZYCJA X GPS  {0}", item.XPosition);
                Console.WriteLine("POZYCJA Y GPS {0}", item.YPosition);
                Console.WriteLine("STATUS SAMOCHODU ((0 – wolny, 1, zarezerwowany, 2 – wypożyczony))");
                Console.WriteLine(item.Status);
            }
            #endregion
            Update();
            Delete();
            context.SaveChanges();
            #region Repozytorium
            CarsRepositories rss = new CarsRepositories(context);
            var x = rss.GetKilometers();
            Console.WriteLine("POJAZD GDZIE BIEŻĄCY PRZEBIEG JEST WIEKSZY NIZ 180 ");
            Console.WriteLine("[PRESS ANY KEY...]");
            Console.ReadKey();
            foreach (var item in x)
            {
                Console.WriteLine("NUMER REJESTRACYJNY {0}", item.RegistrationNumber);
                Console.WriteLine("STATUS SAMOCHODU {0}", item.Status);
                Console.WriteLine("BIEŻĄCY DYSTANS {0}", item.CurrentDistance);
            }

            var xy = rss.GetCuttentPostion(5, 12, 14);
            Console.WriteLine("SAMOCHOD ODDALONY O PROMIEN OD WPISANYCH WSPOLRZEDNYCH");
            Console.WriteLine("PRESS ANY KEY...");
            Console.ReadKey();
            foreach (var item in xy)
            {
                Console.WriteLine("NUMER REJESTRACYJNY - {0}", item.RegistrationNumber);
                Console.WriteLine("STATUS SAMOCHODU - {0}", item.Status);
                Console.WriteLine("PRZEBYTY CALKOWITY DYSTANS = {0}", item.TotalDistance);
            }
            ReservationRepository reservation = new ReservationRepository(context);
            Console.WriteLine("WCZYTUJE SAMOCHOD GDZIE STATUS WYNOSI 0 PO UPLYNIECIU 15 MIN ");
            Console.WriteLine("[PRESS ANY KEY...]");
            Console.ReadKey();
            var xzzz = reservation.GetOneWhereStatus0();
            foreach (var item in xzzz)
            {
                Console.WriteLine("Data Rezerwacji {0}", item.ReservationDateTime);
                Console.WriteLine("ID SAMOCHODU OBEJMUJACEGO REZERWACJE {0}", item.CarId);
                Console.WriteLine("STATUS SAMOCHODU - {0}", item.Status);
            }
            context.SaveChanges();
            #endregion

            Console.WriteLine("Wczytuje UNITY OF WORK {PRESS ENTER}");
            Console.ReadKey();
            //////////////////UNITYOFWORK
            using (var unityOfWork = new UnitOfWorks(new CarRentalContext()))
            {
                //EXAMPLE 1
                Console.WriteLine("WCZYTUJE WSZYSTKIE SAMOCHODY");
                var cars = unityOfWork.Cars.GetAll();
                foreach (var item in cars)
                {
                    Console.WriteLine("NUMER REJESTRACYJNY = {0}", item.RegistrationNumber);
                    Console.WriteLine("STATUS = {0}", item.Status);
                    Console.WriteLine("=======================================");
                    Console.WriteLine();
                }
                //EXAMPLE READ IN UNITY
                var status0 = unityOfWork.Cars.GetStatus0();
                Console.WriteLine("Operacja READ in UnityOfWork");
                Console.WriteLine();
                foreach (var item in status0)
                {
                    Console.WriteLine("Car RegistrationNumber {0} ", item.RegistrationNumber);
                    Console.WriteLine("STATUS {0}", item.Status);
                }
                Console.WriteLine("Dodaje SAmochod");
                Car cr = new Car()
                {
                    Status             = 1,
                    RegistrationNumber = "FIRMA KRK"
                };
                unityOfWork.Cars.Add(cr);
                unityOfWork.Complete();
            }

            Console.ReadLine();
        }
コード例 #2
0
 public UnitOfWorks(CarRentalContext context)
 {
     _context     = context;
     Cars         = new CarsRepositories(_context);
     Reservations = new ReservationRepository(_context);
 }