Ejemplo n.º 1
0
        public ViewModelLocator()
        {
            try
            {
                var config = new ConfigurationBuilder();
                config.AddJsonFile("autofac.json");
                var module  = new ConfigurationModule(config.Build());
                var builder = new ContainerBuilder();
                builder.RegisterModule(module);
                Container = builder.Build();

                navigationService = Container.Resolve <INavigationService>();
                apiService        = Container.Resolve <IApiService>();
                messageService    = Container.Resolve <IMessageService>();

                appViewModel             = Container.Resolve <AppViewModel>();
                startPageViewModel       = Container.Resolve <StartPageViewModel>();
                signUpViewModel          = Container.Resolve <SignUpViewModel>();
                tripBoardViewModel       = Container.Resolve <TripBoardViewModel>();
                addNewTripViewModel      = Container.Resolve <AddNewTripViewModel>();
                addDestinationsViewModel = Container.Resolve <AddDestinationsViewModel>();
                addNewTripTaskViewModel  = Container.Resolve <AddNewTripTaskViewModel>();
                reviewTripViewModel      = Container.Resolve <ReviewTripViewModel>();
                tripTasksViewModel       = Container.Resolve <TripTasksViewModel>();
                destinationsViewModel    = Container.Resolve <DestinationsViewModel>();
                routeMapViewModel        = Container.Resolve <RouteMapViewModel>();
                ticketsViewModel         = Container.Resolve <TicketsViewModel>();
                checkTicketViewModel     = Container.Resolve <CheckTicketViewModel>();

                navigationService.Register <StartPageViewModel>(startPageViewModel);
                navigationService.Register <SignUpViewModel>(signUpViewModel);
                navigationService.Register <TripBoardViewModel>(tripBoardViewModel);
                navigationService.Register <AddNewTripViewModel>(addNewTripViewModel);
                navigationService.Register <AddDestinationsViewModel>(addDestinationsViewModel);
                navigationService.Register <AddNewTripTaskViewModel>(addNewTripTaskViewModel);
                navigationService.Register <ReviewTripViewModel>(reviewTripViewModel);
                navigationService.Register <TripTasksViewModel>(tripTasksViewModel);
                navigationService.Register <DestinationsViewModel>(destinationsViewModel);
                navigationService.Register <RouteMapViewModel>(routeMapViewModel);
                navigationService.Register <TicketsViewModel>(ticketsViewModel);
                navigationService.Register <CheckTicketViewModel>(checkTicketViewModel);

                navigationService.Navigate <StartPageViewModel>();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Ejemplo n.º 2
0
        public IHttpActionResult CheckTicket(CheckTicketViewModel model)
        {
            try
            {
                Ticket ticket = UnitOfWork.Tickets.GetAll().Where(x => x.Id == model.TicketID).First();
                TicketInfoViewModel ticketModel = new TicketInfoViewModel();
                string message = string.Empty;
                switch (ticket.Type)
                {
                case Models.Enums.TicketType.Vremenska:
                {
                    if (ticket.ValidationTime == null)
                    {
                        ticket.ValidationTime = DateTime.Now;
                        message = "Ticket checked";
                        UnitOfWork.Complete();
                    }
                    else
                    {
                        if (ticket.ValidationTime.Value.Date.AddDays(1) > DateTime.Now.Date)
                        {
                            message = "Ticket is valid";
                        }
                        else
                        {
                            message = "Ticket expired";
                        }
                    }
                    break;
                }

                case Models.Enums.TicketType.Dnevna:
                {
                    if (ticket.ValidationTime.Value.Date.Day < DateTime.Now.Date.Day && ticket.ValidationTime.Value.Month <= DateTime.Now.Month && ticket.ValidationTime.Value.Year <= DateTime.Now.Year)
                    {
                        message = "Ticket is valid";
                    }
                    else
                    {
                        message = "Ticket expired";
                    }
                    break;
                }

                case Models.Enums.TicketType.Mesecna:
                {
                    if (DateTime.Now.Date < ticket.ValidationTime.Value.Date.AddMonths(1))
                    {
                        message = "Ticket is valid";
                    }
                    else
                    {
                        message = "Ticket expired";
                    }
                    break;
                }

                case Models.Enums.TicketType.Godisnja:
                {
                    if (DateTime.Now.Date < ticket.ValidationTime.Value.Date.AddYears(1))
                    {
                        message = "Ticket is valid";
                    }
                    else
                    {
                        message = "Ticket expired";
                    }
                    break;
                }

                default:
                {
                    return(BadRequest("Unknown error occured"));
                }
                }
                ticketModel.Id      = ticket.Id;
                ticketModel.Type    = ticket.Type.ToString();
                ticketModel.Message = message;
                return(Ok(ticketModel));
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }