public void GetTicketDetailsShouldWorkCorrectly()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "TicketTest1").Options;

            var dbContext = new ApplicationDbContext(options);

            AutoMapperConfig.RegisterMappings(typeof(ErrorViewModel).GetTypeInfo().Assembly);

            var ticketsRepository     = new EfRepository <Ticket>(dbContext);
            var projectionsRepository = new EfRepository <Projection>(dbContext);
            var hallsRepository       = new EfRepository <Hall>(dbContext);
            var seatsRepository       = new EfRepository <Seat>(dbContext);
            var moviesRepository      = new EfRepository <Movie>(dbContext);
            var ciemasRepository      = new EfRepository <Cinema>(dbContext);

            var service = new TicketsService(
                ticketsRepository,
                projectionsRepository,
                hallsRepository,
                seatsRepository,
                moviesRepository,
                ciemasRepository);

            ticketsRepository.AddAsync(this.TicketTest()).GetAwaiter().GetResult();
            ticketsRepository.SaveChangesAsync().GetAwaiter().GetResult();

            var ticketViewModel = service.GetTicketDetails(1);

            Assert.IsType <TicketViewModel>(ticketViewModel);
            Assert.Equal(0, ticketViewModel.OccupiedSeats.Count);
            Assert.Equal(10, ticketViewModel.Price);
        }
        public void MakeListTickets_UfSaveChages_Once()
        {
            //arange
            var ticketsDto = new List <TicketDto>
            {
                new TicketDto {
                    Id = 1, FlightId = 1, IsSold = false, PlaseNumber = 1, FlightNumber = "TY26", Price = 200
                },
                new TicketDto {
                    Id = 2, FlightId = 1, IsSold = false, PlaseNumber = 2, FlightNumber = "TY26", Price = 200
                },
                new TicketDto {
                    Id = 3, FlightId = 1, IsSold = true, PlaseNumber = 3, FlightNumber = "QW11", Price = 200
                },
                new TicketDto {
                    Id = 4, FlightId = 1, IsSold = true, PlaseNumber = 4, FlightNumber = "QW11", Price = 200
                }
            };

            TicketsService ts = new TicketsService(unitOfWork, mapper, validator);

            //act
            ts.Make(ticketsDto);

            //assert
            A.CallTo(() => unitOfWork.SaveChages()).MustHaveHappened(Repeated.Exactly.Once);
        }
        public async Task CreateTicketShouldReturCorrectData()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "TicketTest1").Options;

            var dbContext = new ApplicationDbContext(options);

            var ticketsRepository     = new EfRepository <Ticket>(dbContext);
            var projectionsRepository = new EfRepository <Projection>(dbContext);
            var hallsRepository       = new EfRepository <Hall>(dbContext);
            var seatsRepository       = new EfRepository <Seat>(dbContext);
            var moviesRepository      = new EfRepository <Movie>(dbContext);
            var ciemasRepository      = new EfRepository <Cinema>(dbContext);

            var service = new TicketsService(
                ticketsRepository,
                projectionsRepository,
                hallsRepository,
                seatsRepository,
                moviesRepository,
                ciemasRepository);

            await service.AddTicketAndSeat(1000, "testUserId", 'B', 6, 8.50m);

            Assert.Equal(1, service.TicketsCount());
        }
예제 #4
0
 private void TicketIn_Click(object sender, RoutedEventArgs e)
 {
     TicketsService service = new TicketsService();
     //List<TwoTickets> list = service.ListAll();
     //List<OperationTicketSH> dbList = new List<OperationTicketSH>();
     //foreach (TwoTickets ticket in list)
     //{
     //    OperationTicketSH dbTable = ticket.ToDbModel();
     //    dbList.Add(dbTable);
     //}
     Bll bll = Bll.NewBllNoRelation();
     //List<OperationTicketHistorySH> OperationHisList = bll.OperationTicketHistorySHs.ToList();
     //List<OperationTicketHistorySH> newList = new List<OperationTicketHistorySH>();
     //OperationHisList.Sort((a, b) => { return (int)a.Abutment_Id - (int)b.Abutment_Id; });
     //int id = (int)OperationHisList.Last().Abutment_Id + 1;
     //for (int i = 0; i < OperationHisList.Count; i++)
     //{
     //    OperationTicketHistorySH ticket = OperationHisList[i];
     //    ticket.Abutment_Id = id;
     //    newList.Add(ticket);
     //    id = id + 1;
     //}
     //bool result = bll.OperationTicketHistorySHs.AddRange(newList);
     //    string sql = "delete from  aa where id  in(99,100)";
     //  string result= bll.WorkTicketHistorySHes.AddorEditBySql(sql);
     DateTime now = DateTime.Now;
     long     a   = TimeConvert.ToStamp(now);
 }
예제 #5
0
        protected override void RegisterTypes(IContainerRegistry containerRegistry)
        {
            containerRegistry.RegisterInstance <ITokenRepository>(new TokenRepository());

            var localApi = LocalApi.GetInstance();
            var localize = DependencyService.Get <ILocalize>();

            InitCultureAsync(localApi, localize).Wait();

            var httpService = new HttpService(ServerConfig.Address);

            containerRegistry.RegisterInstance <IHttpService>(httpService);

            containerRegistry.RegisterInstance <ILocalApi>(localApi);
            containerRegistry.RegisterInstance <ILocalize>(localize);

            var emailActivationService = new EmailActivationService(httpService);

            var localTokenService = new LocalTokenService(localApi);
            var tokenService      = new TokenService(localTokenService, httpService);

            var ticketsService     = new TicketsService(tokenService, httpService);
            var transactionService = new TransactionService(httpService);

            var userService   = new UserService(httpService);
            var userValidator = new UserValidator(httpService);

            containerRegistry.RegisterInstance <IUserValidator>(userValidator);

            containerRegistry.RegisterInstance <IUserService>(userService);
            containerRegistry.RegisterInstance <ILocalTokenService>(localTokenService);
            containerRegistry.RegisterInstance <IEmailActivationService>(emailActivationService);
            containerRegistry.RegisterInstance <ITokenService>(tokenService);
            containerRegistry.RegisterInstance <ITicketsService>(ticketsService);
            containerRegistry.RegisterInstance <ITransactionService>(transactionService);

            containerRegistry.RegisterForNavigation <NavigationPage>();
            containerRegistry.RegisterForNavigation <MainView, MainViewModel>();
            containerRegistry.RegisterForNavigation <LoginView, LoginViewModel>();
            containerRegistry.RegisterForNavigation <EmailRegistrationView, EmailRegistrationViewModel>();
            containerRegistry.RegisterForNavigation <NameRegistrationView, NameRegistrationViewModel>();
            containerRegistry.RegisterForNavigation <PasswordRegistrationView, PasswordRegistrationViewModel>();
            containerRegistry.RegisterForNavigation <BirthdayRegistrationView, BirthdayRegistrationViewModel>();
            containerRegistry.RegisterForNavigation <ForgotPasswordView, ForgotPasswordViewModel>();
            containerRegistry.RegisterForNavigation <TicketsView, TicketsViewModel>();
            containerRegistry.RegisterForNavigation <PhoneRegistrationView, PhoneRegistrationViewModel>();
            containerRegistry.RegisterForNavigation <ConfirmEmailView, ConfirmEmailViewModel>();
            containerRegistry.RegisterForNavigation <ConfirmForgotPasswordView, ConfirmForgotPasswordViewModel>();
            containerRegistry.RegisterForNavigation <CreateNewPasswordView, CreateNewPasswordViewModel>();
            containerRegistry.RegisterForNavigation <LiqPayView, LiqPayViewModel>();
            containerRegistry.RegisterForNavigation <TransactionCompletedView, TransactionCompletedViewModel>();
            containerRegistry.RegisterForNavigation <MainMenuView, MainMenuViewModel>();
            containerRegistry.RegisterForNavigation <UserAccountView, UserAccountViewModel>();
            containerRegistry.RegisterForNavigation <SettingsView, SettingsViewModel>();
            containerRegistry.RegisterForNavigation <UserTransactionsView, UserTransactionsViewModel>();
            containerRegistry.RegisterForNavigation <LocalizationView, LocalizationViewModel>();
            containerRegistry.RegisterForNavigation <MyTicketsView, MyTicketsViewModel>();
        }
        public void BuyById_TicketId_Ticket_null(int id)
        {
            //arange
            SetCollection(id);
            TicketsService ts = new TicketsService(unitOfWork, mapper, validator);
            //act
            var result = ts.BuyById(id);

            //assert
            Assert.IsNull(result);
        }
        public void ReturnById_TicketId_TicketIsSold_true(int id)
        {
            //arange
            SetCollection(id);
            TicketsService ts = new TicketsService(unitOfWork, mapper, validator);
            //act
            var result = ts.ReturnById(id);

            //assert
            Assert.IsFalse(result.IsSold);
        }
        public void AddTicketsToBuyerWhenIssuingTicketsSucceeds()
        {
            var tickets        = BuildTickets();
            var concert        = SetUpConcertWhichIssueTickets(tickets);
            var buyer          = new TicketsBuyer("1", "Buyer name");
            var wantedQuantity = new TicketQuantity(5);
            var service        = new TicketsService();

            service.SellTickets(concert, buyer, wantedQuantity);

            Assert.NotEmpty(buyer.Purchases);
        }
        public void ReturnFailureWhenIssuingTicketsFails()
        {
            var errorMessage   = "Some error occured";
            var concert        = SetUpConcertWhichDoesNotIssueTickets(errorMessage);
            var buyer          = new TicketsBuyer("1", "Buyer name");
            var wantedQuantity = new TicketQuantity(5);
            var service        = new TicketsService();

            var purchase = service.SellTickets(concert, buyer, wantedQuantity);

            Assert.True(purchase.IsFailure);
            Assert.Equal(errorMessage, purchase.Error);
        }
        public void ReturnPurchaseWhenIssuingTicketsSucceeds()
        {
            var tickets        = BuildTickets();
            var concert        = SetUpConcertWhichIssueTickets(tickets);
            var buyer          = new TicketsBuyer("1", "Buyer name");
            var wantedQuantity = new TicketQuantity(5);
            var service        = new TicketsService();

            var purchase = service.SellTickets(concert, buyer, wantedQuantity);

            Assert.True(purchase.IsSuccess);
            Assert.Equal(buyer.Id, purchase.Value.Buyer.Id);
            Assert.Equal(tickets, purchase.Value.Tickets);
        }
예제 #11
0
 public TicketsBookingController(
     TrainStopService trainStopService,
     RideService rideService,
     StopToRouteService stopToRouteService,
     TicketsService ticketsService,
     DiscountService discountService,
     UserManager <User> userManager
     )
 {
     _trainStopService   = trainStopService;
     _rideService        = rideService;
     _stopToRouteService = stopToRouteService;
     _ticketsService     = ticketsService;
     _discountService    = discountService;
     _userManager        = userManager;
 }
예제 #12
0
        public virtual ActionResult Edit(TicketViewModel ticket)
        {
            if (ticket.TicketId == 0)
            {
                DateTime?assignedToDate = null;
                var      types          = TicketsService.GetTypes();
                var      ticketCategory = types.Where(x => x.Id == ticket.TicketTypeId).Single().TicketCategory;

                switch (ticketCategory)
                {
                case TicketTypeEnum.Daily:
                    assignedToDate = DateTime.Now.AddDays(1);
                    break;

                case TicketTypeEnum.Weekly:
                    assignedToDate = DateTime.Now.AddDays(7);
                    break;

                case TicketTypeEnum.Monthly:
                    assignedToDate = DateTime.Now.AddMonths(1);
                    break;
                }
                if (assignedToDate != null)
                {
                    var ticketModel = new Ticket
                    {
                        ApplicationUserId = ticket.UserId,
                        AssignTime        = DateTime.Now,
                        TicketTypeId      = ticket.TicketTypeId,
                        AssignTo          = assignedToDate.Value
                    };
                    TicketsService.CreateTicket(ticketModel, ticketModel.ApplicationUserId);
                    return(RedirectToAction(MVC.Users.Index()));
                }
            }
            else
            {
                TicketsService.Delete(ticket.TicketId, ticket.UserId);
            }
            return(RedirectToAction(MVC.Users.Index()));
        }
예제 #13
0
        // GET: Tickets/Details/5
        public virtual ActionResult Edit(string userId)
        {
            var user  = UserService.Get(userId);
            var model = new TicketViewModel();
            var types = TicketsService.GetTypes();

            if (user.TickedId != null)
            {
                var ticket         = TicketsService.GetById(user.TickedId.Value);
                var ticketCategory = types.Where(x => x.Id == ticket.TicketTypeId).Single().Name;
                model.Username       = user.UserName;
                model.UserId         = user.Id;
                model.TicketId       = ticket.Id;
                model.AssignTime     = ticket.AssignTime;
                model.AssignTo       = ticket.AssignTo;
                model.TicketTypeName = ticketCategory;
            }

            model.TicketTypes = types;
            return(View(MVC.Tickets.Views.Edit, model));
        }
예제 #14
0
        public async Task <ClaimsIdentity> GenerateUserIdentityAsync(UserManager <ApplicationUser> manager)
        {
            // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
            var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);

            var    entity = TicketsService.GetByUserId(this.Id);
            string ticket;

            if (entity == null)
            {
                ticket = string.Empty;
            }
            else
            {
                ticket = entity.AssignTo.ToString();
            }
            userIdentity.AddClaim(new Claim("ticket", ticket));


            return(userIdentity);
        }
예제 #15
0
 public TicketsController(TicketsService ticketsService)
 {
     this.ticketsService = ticketsService;
 }
예제 #16
0
 public TicketController(TicketsService ticketsService)
 {
     _ticketsService = ticketsService;
 }
예제 #17
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            AuthForm f2 = new AuthForm();

            ValidationField valid = new ValidationField();

            string connectionStringLogin =
                String.Format("Server={0}; Port={1};" + "User Id={2}; Password={3}; Database={4};",
                              DES.Decrypt("6LiCDo8gfjbrOYXuRWqbKw==", true),
                              DES.Decrypt("ecO+kizstzM=", true),
                              DES.Decrypt("TadpY3GnE3o=", true),
                              DES.Decrypt("G5V2n3PhQBo=", true),
                              DES.Decrypt("04ZE2yXOXwww9p6ZbFbp9A==", true)
                              );


            LoginRepository loginRepository = new LoginRepository(connectionStringLogin);
            LoginService    loginService    = new LoginService(loginRepository);

            LoginPresenter loginPresenter = new LoginPresenter(f2, loginService);



            Application.Run(f2);

            /*============================================================================================*/


            switch (loginPresenter.Vacant)
            {
            case "admin":
            {
                AdminForm f1 = new AdminForm();


                string connectionString =
                    String.Format("Server={0}; Port={1};" + "User Id={2}; Password={3}; Database={4};",
                                  DES.Decrypt("6LiCDo8gfjbrOYXuRWqbKw==", true),
                                  DES.Decrypt("ecO+kizstzM=", true),
                                  "admin",
                                  DES.Decrypt("hfeeVI+gSGA=", true),
                                  DES.Decrypt("04ZE2yXOXwww9p6ZbFbp9A==", true)
                                  );

                FilmsRepository filmsRepository = new FilmsRepository(connectionString);
                FilmsService    filmsService    = new FilmsService(filmsRepository);

                AdminFilms adminFilms = new AdminFilms(f1, filmsService, valid);


                SessionRepository sessionRepository = new SessionRepository(connectionString);
                SessionService    sessionService    = new SessionService(sessionRepository);

                AdminSession adminSession = new AdminSession(f1, sessionService, filmsService, valid);


                TicketsRepository ticketsRepository = new TicketsRepository(connectionString);
                TicketsService    ticketsService    = new TicketsService(ticketsRepository);

                AdminTickets adminTickets = new AdminTickets(f1, ticketsService, valid);


                StaffRepository staffRepository = new StaffRepository(connectionString);
                StaffService    staffService    = new StaffService(staffRepository);

                AdminStaff adminStaff = new AdminStaff(f1, staffService, valid);


                HallRepository hallRepository = new HallRepository(connectionString);
                HallService    hallService    = new HallService(hallRepository);

                AdminHall adminHall = new AdminHall(f1, hallService, valid);


                StaffHallRepository staffhallRepository = new StaffHallRepository(connectionString);
                StaffHallService    staffhallService    = new StaffHallService(staffhallRepository);

                AdminStaffHall adminStaffHall = new AdminStaffHall(f1, staffhallService, staffService);

                Application.Run(f1);
            } break;

            case "cashier":
            {
                CashierForm f3 = new CashierForm();


                string connectionString =
                    String.Format("Server={0}; Port={1};" + "User Id={2}; Password={3}; Database={4};",
                                  DES.Decrypt("6LiCDo8gfjbrOYXuRWqbKw==", true),
                                  DES.Decrypt("ecO+kizstzM=", true),
                                  "cashier",
                                  DES.Decrypt("DvWyPJXmeps=", true),
                                  DES.Decrypt("04ZE2yXOXwww9p6ZbFbp9A==", true)
                                  );


                FilmsRepositoryC filmsRepository = new FilmsRepositoryC(connectionString);
                FilmsServiceC    filmsService    = new FilmsServiceC(filmsRepository);

                CashierFilms cashireFilms = new CashierFilms(f3, filmsService);

                SessionRepositoryC sessionRepository = new SessionRepositoryC(connectionString);
                SessionServiceC    sessionService    = new SessionServiceC(sessionRepository);

                CashierSession cashireSession = new CashierSession(f3, sessionService);

                TicketsRepositoryC ticketsRepository = new TicketsRepositoryC(connectionString);
                TicketsServiceC    ticketsService    = new TicketsServiceC(ticketsRepository);

                CashireTickets cashireTickets = new CashireTickets(f3, ticketsService, valid);

                Application.Run(f3);
            } break;

            case "cleaner":
            {
                CleanerForm f4 = new CleanerForm();


                string connectionString =
                    String.Format("Server={0}; Port={1};" + "User Id={2}; Password={3}; Database={4};",
                                  DES.Decrypt("6LiCDo8gfjbrOYXuRWqbKw==", true),
                                  DES.Decrypt("ecO+kizstzM=", true),
                                  "cleaner",
                                  DES.Decrypt("DvWyPJXmeps=", true),
                                  DES.Decrypt("04ZE2yXOXwww9p6ZbFbp9A==", true)
                                  );
                TimetableRepository timetableRepository = new TimetableRepository(connectionString);
                TimetableService    timetableService    = new TimetableService(timetableRepository);

                CleanerTimetable cashireFilms = new CleanerTimetable(f4, timetableService);
                Application.Run(f4);
            } break;
            }
        }
예제 #18
0
 public TicketsController(ApplicationUserManager userManager, TicketsService ticketService, UserService userService) : base(userManager)
 {
     _ticketService = ticketService;
     _userService   = userService;
 }
예제 #19
0
 public Ticketscontroller(TicketsService TicketsService)
 {
     _ticketsService = TicketsService;
 }
예제 #20
0
 public AdminUserController(UserService userService, TicketsService ticketService)
 {
     _userService   = userService;
     _ticketService = ticketService;
 }
예제 #21
0
 public TicketController(TicketsService ticketService, UsersService usersService)
 {
     _ticketService = ticketService;
     _usersService  = usersService;
 }
 public MatchController(MatchesService MatchService, TicketsService ticketsService)
 {
     _matchService   = MatchService;
     _ticketsService = ticketsService;
 }