Example #1
0
        public void GetCarsTest()
        {
            string username = "******";

            using (ParkingDBContext context = contextFactory.CreateDbContext())
            {
                ApplicationUser user = new ApplicationUser();
                user.UserName = username;
                CarEntity firstCar = new CarEntity();
                firstCar.StateNumber = "1515-IO7";

                context.Users.Add(user);

                UsersHaveCars uhc = new UsersHaveCars();
                uhc.UserEntity     = user;
                uhc.CarEntity      = firstCar;
                user.UsersHaveCars = new List <UsersHaveCars>();
                user.UsersHaveCars.Add(uhc);
                context.SaveChanges();
            }
            CarManager carManager = new CarManager(contextFactory);
            List <Car> cars       = carManager.GetCars(username);

            Assert.NotEmpty(cars);
        }
Example #2
0
        static void Main(string[] args)
        {
            DataContextFactory dataContextFactory = new DataContextFactory();

            dataContextFactory.CreateDbContext(new string[] { }).Database.EnsureCreated();
            Console.WriteLine("Hello World!");
        }
Example #3
0
        static void Main(string[] args)
        {
            var dataContextFactory = new DataContextFactory();
            var dataContext        = dataContextFactory.CreateDbContext(new string[] {});

//            var dataSeeder = new DataSeeder(dataContextFactory.Container, dataContext);

            if (args.Any(_ => _ == "--migrate"))
            {
                Console.WriteLine("Applying migrations");
                dataContext.Database.Migrate();
            }
//            else
//            {
//                if (args.Length > 0)
//                {
//                    foreach (var seedClassname in args)
//                    {
//                        dataSeeder.ApplySeedData(seedClassname);
//                    }
//                }
//                else
//                {
//                    dataSeeder.ApplySeedData();
//                }
//            }
        }
Example #4
0
        public static void UseDataMigrations(this IApplicationBuilder app)
        {
            DataContextFactory factory = (DataContextFactory)app.ApplicationServices.GetService(typeof(DataContextFactory));

            using (ParkingDBContext context = factory.CreateDbContext())
            {
                context.Database.Migrate();
            }
        }
Example #5
0
        public void ArrivalTest()
        {
            User user = new User();

            user.Username = "******";
            Car car = new Car();

            car.Owner       = user;
            car.StateNumber = "1234";
            Parking parking = new Parking();

            parking.ParkingName = "Zion";

            using (ParkingDBContext context = contextFactory.CreateDbContext())
            {
                ParkingEntity parkingEntity = new ParkingEntity();
                parkingEntity.Name = parking.ParkingName;
                context.Parkings.Add(parkingEntity);

                ApplicationUser userEntity = new ApplicationUser();
                userEntity.UserName = user.Username;
                context.Users.Add(userEntity);

                CarEntity carEntity = new CarEntity();
                carEntity.StateNumber = car.StateNumber;

                UsersHaveCars uhc = new UsersHaveCars();
                uhc.UserEntity           = userEntity;
                uhc.CarEntity            = carEntity;
                userEntity.UsersHaveCars = new List <UsersHaveCars>();
                userEntity.UsersHaveCars.Add(uhc);
                context.SaveChanges();
            }

            ParkingManager parkingManager = new ParkingManager(contextFactory);
            Parking        parkList       = parkingManager.Arrive(car, parking, car.Owner.Username);

            Assert.NotEmpty(parkList.Cars);
        }
Example #6
0
        protected override async Task OnInitializedAsync()
        {
            using (var ctx = DataContextFactory.CreateDbContext())
            {
                ShortenedUrls = await ctx.ShortUrls.CountAsync();

                RequestsPerDay = await ctx.Requests
                                 .Where(r => r.RequestDate >= DateTime.UtcNow.AddHours(-24) && r.RequestDate <= DateTime.UtcNow)
                                 .CountAsync();

                RegisteredUsers = await ctx.Users.CountAsync();
            }
        }
Example #7
0
        private async void ShortenUrl()
        {
            var url      = new Uri(Url.Value);
            var shortUrl = ShorteningService.QuickShort(url);

            using (var ctx = DataContextFactory.CreateDbContext())
            {
                ctx.ShortUrls.Add(shortUrl);
                await ctx.SaveChangesAsync();
            }

            Url.Value = shortUrl.Value.ToString();
            await OnShortenedUrl.InvokeAsync(1);
        }
Example #8
0
        public Parking Arrive(Car car, Parking parking, string username)
        {
            if (car == null)
            {
                throw new ArgumentNullException();
            }
            if (parking == null)
            {
                throw new ArgumentNullException();
            }

            DateTime arrival = DateTime.Now;

            using (ParkingDBContext context = factory.CreateDbContext())
            {
                ApplicationUser userEntity = context.Users.Single(us => us.UserName == username);
                User            user       = new User();
                user.Username  = userEntity.UserName;
                user.FirstName = userEntity.FirstName;
                user.Email     = userEntity.Email;
                user.LastName  = userEntity.Lastname;
                user.Password  = userEntity.PasswordHash;
                user.UserPhoto = userEntity.UserPhoto;
                CarEntity            carEntity     = context.Cars.Single(ca => ca.StateNumber == car.StateNumber);
                ParkingEntity        parkingEntity = context.Parkings.Single(park => park.Name == parking.ParkingName);
                ParkingHistoryEntity historyEntity = new ParkingHistoryEntity();
                historyEntity.IdCar     = carEntity.IdCar;
                historyEntity.IdUser    = userEntity.Id;
                historyEntity.IdParking = parkingEntity.IdParking;
                historyEntity.Arrival   = arrival;
                context.ParkingHistory.Add(historyEntity);
                context.SaveChanges();
                parking.AddCar(car.StateNumber, user, arrival);
                return(parking);
            }
        }
Example #9
0
        public bool RemoveUser(User user)
        {
            if (user == null)
            {
                throw new ArgumentNullException();
            }

            using (ParkingDBContext context = factory.CreateDbContext())
            {
                ApplicationUser entity = context.Users.Single(us => us.UserName == user.Username);
                context.Users.Remove(entity);
                int number = context.SaveChanges();
                if (number != 1)
                {
                    throw new InvalidOperationException("Не удалось удалить из БД запись");
                }
                return(true);
            }
        }
Example #10
0
        static void Main(string[] args)
        {
            DataContextFactory factory = new DataContextFactory();

            using (var db = factory.CreateDbContext(null))
            {
                User user = new User()
                {
                    Email   = "*****@*****.**",
                    Name    = "ciccio",
                    Surname = "pasticcio"
                };

                db.Users.Add(user);
                db.SaveChanges();
                var list = db.Users.ToList();
                System.Console.ReadLine();
            }
        }
Example #11
0
        public void RemoveUserTest()
        {
            using (ParkingDBContext context = contextFactory.CreateDbContext())
            {
                ApplicationUser entity = new ApplicationUser();
                entity.Email     = "*****@*****.**";
                entity.FirstName = "Trinity";
                entity.Lastname  = "Matrix";
                entity.UserName  = "******";
                context.Users.Add(entity);
                context.SaveChanges();
            }

            User user = new User();

            user.Username = "******";
            AuthenticationManager fakeAuthentication = new AuthenticationManager(contextFactory, fakeIdentityContextFactory.UserManager);
            bool removed = fakeAuthentication.RemoveUser(user);

            Assert.True(removed);
        }
Example #12
0
        public List <Car> GetCars(string username)
        {
            if (string.IsNullOrWhiteSpace(username))
            {
                throw new ArgumentNullException(username);
            }
            List <Car> cars = new List <Car>();

            using (ParkingDBContext context = factory.CreateDbContext())
            {
                ApplicationUser userEntity = context.Users.SingleOrDefault(us => us.UserName == username);
                if (userEntity != null)
                {
                    var carEntities = context.Cars.Where(c => c.UsersHaveCars.Any(uhc => uhc.IdUser == userEntity.Id));
                    //var carEntities = context.Cars.Where(c => c.UsersHaveCars.Any(uhc => uhc.IdUser == userEntity.Id)).Select(c => new Car
                    //{
                    //    StateNumber = c.StateNumber,
                    //    Manufacturer = c.Manufacturer,
                    //    Color = c.Color,
                    //    Model = c.Model,
                    //    Year = c.Year

                    //}).ToList();
                    foreach (var carEnt in carEntities)
                    {
                        Car car = new Car();
                        car.Id           = carEnt.IdCar;
                        car.StateNumber  = carEnt.StateNumber;
                        car.Manufacturer = carEnt.Manufacturer;
                        car.Color        = carEnt.Color;
                        car.Model        = carEnt.Model;
                        car.Year         = carEnt.Year;
                        cars.Add(car);
                    }
                }
            }

            return(cars);
        }