예제 #1
0
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("Creating context");
                var context = new ApiDbContext();
                Console.WriteLine("Created");


                var usersRepository = new UsersRepository(context);

                var res = usersRepository.FetchRecords();

                Console.WriteLine();
                Console.WriteLine("All users");
                foreach (var r in res)
                {
                    Console.WriteLine(r.ToString());
                }
                Console.WriteLine();


                var newUser = new User()
                {
                    AccessToken  = "token1234",
                    CreationTime = DateTime.Now,
                    SessionId    = 3,
                    Password     = "******",
                    Username     = "******",
                    UserType     = 0
                };


                var insertResult = usersRepository.AddRecord(newUser);
                Console.WriteLine(insertResult);



                Console.WriteLine();
                Console.WriteLine();

                var certain_user = context
                                   .Set <User>()
                                   .Where(e => e.Username == "*****@*****.**")
                                   .First();

                if (certain_user != null)
                {
                    Console.WriteLine("Addind new session");

                    var newSession = new Session()
                    {
                        CreationTime   = DateTime.Now,
                        ExpiryDate     = DateTime.Now.AddMonths(1),
                        ImageCount     = 0,
                        IsLimitReached = false,
                        PlatesCount    = 0,
                        SessionType    = certain_user.UserType,
                        UserId         = certain_user.Id,
                        User           = certain_user
                    };

                    context.Sessions.Add(newSession);
                    context.SaveChanges();
                }


                Console.WriteLine();
                Console.WriteLine("Eager fetch?");
                Console.WriteLine();
                Console.WriteLine();

                var AllUsers = context.Set <User>().ToList();

                foreach (var u in AllUsers)
                {
                    Console.WriteLine(u.ToString());
                }


                Console.ReadKey();


                Console.WriteLine();
                Console.WriteLine("Show all sessions");
                Console.WriteLine();
                Console.WriteLine();


                var allSession = context.Set <Session>().ToList();

                foreach (var s in allSession)
                {
                    Console.WriteLine(s.ToString());
                }


                Console.WriteLine();
                Console.WriteLine($@"Show session with UserId = {certain_user.Id}");
                Console.WriteLine();
                Console.WriteLine();

                var certainSession = context.Set <Session>().Where(p => p.UserId == certain_user.Id).ToList();

                foreach (var a in certainSession)
                {
                    Console.WriteLine(a.ToString());
                }

                Console.ReadKey();

                Console.WriteLine();
                Console.WriteLine("Checking limit");

                var checkingUser = context
                                   .Set <User>()
                                   .Where(e => e.Username == "*****@*****.**")
                                   .First();

                long i = checkingUser.Id;

                var checkingSession = context.Set <Session>().Where(p => p.UserId == i).ToList().LastOrDefault();

                Console.WriteLine();
                if (checkingSession != null)
                {
                    var limit      = checkingSession.IsLimitReached;
                    var limitCount = checkingSession.ImageCount;

                    checkingSession.IsLimitReached = true;

                    Console.WriteLine("Limit reached : true");
                    context.SaveChanges();
                }

                var newImage = new ImageInfo
                {
                    ImagePath  = "ddsf",
                    MarkupPath = "dsfdf",

                    PlatesCount = 1,
                    SessionId   = checkingSession.Id,
                    UploadDate  = DateTime.Now,
                    UserId      = checkingSession.UserId
                };

                context.Images.Add(newImage);
                context.SaveChanges();
            }

            catch (Exception exc)
            {
                Console.WriteLine(exc.Message);

                Console.ReadKey();
            }
        }