public long Add(TicketAddCommand ticket)
        {
            var ticketAdd = Mapper.Map <TicketAddCommand, Ticket>(ticket);

            ticketAdd.DateBuy = DateTime.Now;

            var session = SessionRepository.GetById(ticket.SessionId);

            ticketAdd.Session = session;

            var movie = MovieRepository.GetById(ticket.MovieId);

            ticketAdd.Movie = movie;

            var user = UserRepository.GetById(ticket.UserId);

            ticketAdd.User = user;

            var snacks = SnackRepository.GetById(ticket.SnacksIds);

            ticketAdd.Snacks = snacks;

            var movieTheater = MovieTheaterRepository.GetById(ticket.MovieTheaterId);

            ticketAdd.MovieTheater = movieTheater;

            var newTicket = TicketRepository.Add(ticketAdd);

            return(newTicket.Id);
        }
        public IHttpActionResult Post(TicketAddCommand user)
        {
            var validator = user.Validation();

            if (!validator.IsValid)
            {
                return(HandleValidationFailure(validator.Errors));
            }
            return(HandleCallback(() => TicketAppService.Add(user)));
        }