示例#1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Title,Description,IsActive,User,AssignedTo,CreatedAt")] TicketsModel ticketsModel)
        {
            if (id != ticketsModel.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(ticketsModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TicketsModelExists(ticketsModel.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(ticketsModel));
        }
示例#2
0
        public void BuyTicketTest()
        {
            // Arrange
            var  data = unitOfFactory.CreateTransactionalUnitOfWork();
            User user = new User()
            {
                Login    = "******",
                Password = "******",
                Tickets  = "1,2,3:1-14,15,16;1,1,3,3:1-24,25,26,27"
            };

            data.Users.Add(user);
            data.SaveChanges();
            DiscountsController discountController = new DiscountsController(unitOfFactory);
            var discountResult = discountController.GetDiscount(1);
            var discount       = (discountResult.Result as OkNegotiatedContentResult <DiscountDTO>).Content;
            Dictionary <DiscountDTO, int> dict = new Dictionary <DiscountDTO, int>();

            dict.Add(discount, 2);

            ConnectionPathDTO conPath = new ConnectionPathDTO();
            Connection        con     = data.Connections.Find(1);
            ConnectionDTO     conDTO  = Mapper.Map <Connection, ConnectionDTO>(con);
            ConnectionPart    conPart = new ConnectionPart
            {
                Connection = con,
                Id         = 9999999,
                Seats      = "1;2;3",
                FreeSeats  = 3,
                Route      = data.Routes.Find(1),
                StartTime  = DateTime.Now,
                EndTime    = DateTime.Now.AddMinutes(30)
            };

            data.ConnectionParts.Add(conPart);
            data.SaveChanges();
            conPath.ConnectionsParts = new List <ConnectionPartDTO> {
                Mapper.Map <ConnectionPart, ConnectionPartDTO>(conPart)
            };
            UserDTO   userDTO   = Mapper.Map <User, UserDTO>(data.Users.Where(u => u.Login == user.Login).First());
            TicketDTO ticketDTO = new TicketDTO()
            {
                Discounts      = dict,
                User           = userDTO,
                ConnectionPath = conPath,
                Seats          = new List <int[]> {
                    new int[] { 1, 3 }
                }
            };
            TicketsModel ticketsModel = new TicketsModel();

            data.SaveChanges();

            // Act
            ticketsModel.BuyTicket(ticketDTO, data);

            // Assert
            Assert.AreEqual("2", conPart.Seats);
            Assert.AreEqual(string.Format("1,2,3:1-14,15,16;1,1,3,3:1-24,25,26,27;1,1:{0}-1,3", conPart.Id), user.Tickets);
        }
示例#3
0
        public void CreateTicket(int userId, TicketsModel model)
        {
            var allRounds = _roundResultRepository.GetAll();
            var lastRound = !allRounds.Any() ? 0 : allRounds.Max(x => x.RoundId);

            var currentUser = _userRepository.GetAll().FirstOrDefault(x => x.Id == userId);

            var ticket = new Ticket
            {
                Combination  = model.Combination,
                UserId       = currentUser.Id,
                Status       = 1,
                AwardBalance = 0,
                Round        = lastRound + 1
            };

            if (currentUser.Ballance >= 50)
            {
                currentUser.Ballance = currentUser.Ballance - 50;
            }
            else
            {
                throw new LotoExceptions("You dont have money for ticket , wait until you get salary");
            }

            _ticketRepository.Add(ticket);
            _userRepository.Update(currentUser);
        }
        public void OnGet()
        {
            TicketsModel ticketsModel = new TicketsModel();

            Tickets = ticketsModel.GetTickets();
            SessionHelper.SetObjectAsJson(HttpContext.Session, "Tickets", Tickets);
        }
示例#5
0
 public Ticket(TicketsModel model)
 {
     Id             = Guid.NewGuid().ToString();
     PartitionKeyId = model.PartitionKeyId.Trim();
     Title          = model.PartitionKeyId.Trim();
     Description    = model.Description.Trim();
     Catalog        = Extensions.Helpers.ToCamelCase(model.Catalog).Trim();
 }
示例#6
0
 public IActionResult Create(TicketsModel ticketsModel)
 {
     ViewBag.type           = ticketsModel.event_type;
     ticketsModel.user_mail = HttpContext.User.Identity.Name.ToString();
     if (TicketsModel.CheckPresonTickets(_context, ticketsModel))
     {
         return(View(ticketsModel));
     }
     return(RedirectToAction("Index"));
 }
示例#7
0
        public async Task <IActionResult> Create([Bind("Id,Title,Description,IsActive,User,AssignedTo,CreatedAt")] TicketsModel ticketsModel)
        {
            if (ModelState.IsValid)
            {
                _context.Add(ticketsModel);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(ticketsModel));
        }
 public ActionResult Tickets()
 {
     using (ApplicationDbContext ctx = new ApplicationDbContext())
     {
         TicketsModel model = new TicketsModel();
         model.tickets = ctx.Tickets.Where(x => x.Status != "Closed").ToList();
         model.uid     = User.Identity.GetUserId();
         model.tickets = model.tickets.OrderBy(o => o.LastUpdate).ToList();
         return(View(model));
     }
 }
示例#9
0
        public async Task <IActionResult> Create(int tmp, [Bind("id, event_id, name, place, hour, user_mail, user_name, user_surname, event_type, NIP, tickets_per_person")] TicketsModel ticketsModel)
        {
            ViewBag.type           = ticketsModel.event_type;
            ticketsModel.user_mail = HttpContext.User.Identity.Name.ToString();
            if (ModelState.IsValid)
            {
                _context.Add(ticketsModel);
                await _context.SaveChangesAsync();

                return(RedirectToAction("AddTickets", "EventsModels", new { id = ticketsModel.event_id }));
            }
            return(View(ticketsModel));
        }
示例#10
0
 public ActionResult Create(TicketsModel model)
 {
     using (conn)
     {
         long cnt = conn.Insert <TicketsModel>(model);
         if (cnt > 0)
         {
             return(Content("<script>alert('添加成功!'); window.location.href='/BuyTicket/Index'</script>"));
         }
         else
         {
             return(Content("<script>alert('添加失败!'); window.location.href='/BuyTicket/Index'</script>"));
         }
     }
 }
示例#11
0
        public ActionResult Tickets(TicketsModel ticketsModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(ticketsModel));
            }

            try
            {
                _data.SaveTicketInfoContact(ticketsModel);
                _alert.Set(this, AlertType.Success, "You have been added to the mailing list");
            }
            catch (Exception)
            {
                _alert.Set(this, AlertType.Error, "We were unable to add you to the mailing list. Please try again");
            }

            return(RedirectToAction("Tickets", "Festival"));
        }
 public IActionResult CreateTickets(TicketModel ticketModel)
 {
     if (ModelState.IsValid)
     {
         try
         {
             TicketsModel Tickets = JsonConvert.DeserializeObject <TicketsModel>
                                        (_freshDeskApi.FreshDesk("tickets", JsonConvert.SerializeObject(ticketModel), "POST"));
             return(Ok(Tickets));
         }
         catch (WebException e)
         {
             return(BadRequest(_freshDeskApi.Exception(e)));
         }
     }
     else
     {
         return(BadRequest(ModelState));
     }
 }
 public IActionResult ViewTicket(long id)
 {
     if (id != 0)
     {
         try
         {
             TicketsModel Tickets = JsonConvert.DeserializeObject <TicketsModel>
                                        (_freshDeskApi.FreshDesk($"tickets/{id}", null, "GET"));
             return(Ok(Tickets));
         }
         catch (WebException e)
         {
             return(BadRequest(_freshDeskApi.Exception(e)));
         }
     }
     else
     {
         return(BadRequest("Enter Id"));
     }
 }
 public IActionResult UpdateTicket(long id, TicketModel ticketModel)
 {
     if (ModelState.IsValid && id != 0)
     {
         try
         {
             TicketsModel Tickets = JsonConvert.DeserializeObject <TicketsModel>
                                        (_freshDeskApi.FreshDesk($"tickets/{id}", JsonConvert.SerializeObject(ticketModel), "PUT"));
             return(Ok(Tickets));
         }
         catch (WebException e)
         {
             return(BadRequest(_freshDeskApi.Exception(e)));
         }
     }
     else if (id == 0)
     {
         return(BadRequest("Enter Id"));
     }
     else
     {
         return(BadRequest(ModelState));
     }
 }
示例#15
0
        public void CreateTicketsTest()
        {
            // Arrange
            User user = new User()
            {
                Id       = 88,
                Login    = "******",
                Password = "******",
                Tickets  = "1,2,3:1-14,15,16;1,1,3,3:1-24,25,26,27"
            };

            Data.Users.Add(user);
            TicketsModel ticketsModel = new TicketsModel();

            Data.SaveChanges();

            // Act
            List <TicketDTO> tickets = ticketsModel.GetTicketsUser(user.Login, Data);

            // Assert
            Assert.AreEqual(2, tickets.Count);
            Assert.AreEqual(3, tickets[0].Seats[0].Length);
            Assert.AreEqual(3, tickets[0].Discounts.Count);
        }
        private async void Finish()
        {
            var answer = await Application.Current.MainPage.DisplayAlert("Confirmación", "¿Desea terminar el viaje?", "Sí", "No");

            if (!answer)
            {
                return;
            }

            this.IsRunning   = true;
            this.IsEnableAct = false;

            TicketsModel = new TicketsDataBase();
            LoginModel   = new LoginDataBase();

            var connection = await this.apiService.CheckConnection();

            if (!connection.IsSuccess)
            {
                await Application.Current.MainPage.DisplayAlert("Error", connection.Message, "Aceptar");

                this.IsRunning   = false;
                this.IsEnableAct = true;
                return;
            }

            var POS = TicketsModel.GetMembers();

            foreach (var item in POS)
            {
                var TicketsPOS = new TicketsModel
                {
                    Origen     = item.Origen,
                    Destino    = item.Destino,
                    idOrigen   = item.idOrigen,
                    idDestino  = item.idDestino,
                    NoPersonas = item.NoPersonas,
                    ValTicket  = item.ValTicket,
                    Encomienda = item.Encomienda,
                    Alert      = item.Alert,
                    Hora       = item.Hora,
                    idViaje    = item.idViaje,
                    Fecha      = item.Fecha
                };

                var url        = Application.Current.Resources["UrlAPI"].ToString();
                var prefix     = Application.Current.Resources["UrlPrefix"].ToString();
                var controller = Application.Current.Resources["UrlTicket"].ToString();
                var response   = await this.apiService.PostPrint <TicketsModel>(url, prefix, controller, TicketsPOS);

                if (!response.IsSuccess)
                {
                    await App.Current.MainPage.DisplayAlert("El servicio esta malo", "Comunicate con el administrador", "Aceptar");

                    this.IsRunning   = false;
                    this.IsEnableAct = true;
                    return;
                }
            }

            var consulta       = TicketsModel.GetMembers();
            int PersonasInt    = 0;
            int EncomiendasInt = 0;

            foreach (var item in consulta)
            {
                if (item.Encomienda)
                {
                    EncomiendasInt += item.ValTicket;
                }
                else
                {
                    PersonasInt += item.ValTicket;
                }
            }

            int    TotalInt    = PersonasInt + EncomiendasInt;
            string Total       = string.Format("{0, 0:C0}", TotalInt);
            string Personas    = string.Format("{0, 0:C0}", PersonasInt);
            string Encomiendas = string.Format("{0, 0:C0}", EncomiendasInt);

            Mensaje = "             COOTRASANA" + "\n" + "  Cooperativa de Trasportadores" + "             San Antonio" + "\n\n" + "Debes Liquidar" + "\n\n" + "Fecha: " + DateTime.Now + "\n\n" + "Por Personas: " + Personas + "\n\n" + "Por Encomiendas: " + Encomiendas + "\n\n" + "Total: " + Total + "\n\n" + "Peajes: " + "\n\n" + "Combustible: " + "\n\n" + "Viaticos: " + "\n\n" + "Otros: " + "\n\n" + "Total: " + "\n\n" + "--------------------------------\n\n";
            Imprimir(Mensaje);
            await Application.Current.MainPage.DisplayAlert("Debes Liquidar", "Por personas: " + Personas + "\n" + "Por Encomienda: " + Encomiendas + "\n" + "Total: " + Total, "Aceptar");

            Imprimir(Mensaje);
            TicketsModel.DeleteTable();
            LoginModel.DeleteTable();
            await Application.Current.MainPage.Navigation.PopAsync();

            MainViewModel.GetInstance().Login = new LoginViewModel();
            await Application.Current.MainPage.Navigation.PushAsync(new LoginPage());

            this.IsRunning   = false;
            this.IsEnableAct = true;
        }
示例#17
0
        public ActionResult Buy()
        {
            using (conn)
            {
                // 判断有没有票
                var ticketInfos = conn.GetAll <TicketsModel>().Where(t => !t.IsSaleOut);
                if (ticketInfos.Count() < 1)
                {
                    return(Content("<script>alert('没有余票!');</script>"));
                }

                // 获取用户Id
                int userId         = ((UserInfoModel)Session["userInfo"]).Id;
                var buyTicketInfos = conn.GetAll <OrdersModel>().Where(o => o.UserId == userId && o.DepartTime.Subtract(DateTime.Now).Ticks > 0);
                if (buyTicketInfos.Count() > 0)
                {
                    return(Content("<script>alert('已买到票, 不需要再购买');</script>"));
                }

                // 把车票信息放到队列中去
                Queue <TicketsModel> ticketsAsQueue = new Queue <TicketsModel>();
                foreach (TicketsModel item in ticketInfos)
                {
                    // 入队列
                    ticketsAsQueue.Enqueue(item);
                }

                bool         isOk = false;
                TicketsModel ti   = null;
                while (ticketsAsQueue.Count() > 0)
                {
                    // 出队列
                    ti = ticketsAsQueue.Dequeue();

                    //[UserId]
                    //[TicketId]
                    //[Price]
                    //[OrderTime]
                    //[DepartTime]

                    //保存购票信息
                    isOk = conn.Insert <OrdersModel>(new OrdersModel
                    {
                        UserId     = userId,
                        TicketId   = ti.Id,
                        Price      = ti.TicketPrice,
                        OrderTime  = DateTime.Now,
                        DepartTime = ti.OpenPoint.AddDays(1)
                    }) > 0;

                    break;
                }

                if (isOk)
                {
                    // 更新车票是否已售出状态
                    conn.Update <TicketsModel>(new TicketsModel
                    {
                        Id               = ti.Id,
                        ArrivalStation   = ti.ArrivalStation,
                        DepartureStation = ti.DepartureStation,
                        SeatLevel        = ti.SeatLevel,
                        SeatNo           = ti.SeatNo,
                        TicketPrice      = ti.TicketPrice,
                        TrainNumber      = ti.TrainNumber,
                        OpenPoint        = DateTime.Now.AddDays(1),
                        IsSaleOut        = true
                    });

                    return(Content("<script>alert('购票成功!');</script>"));
                }
            }

            return(View());
        }
示例#18
0
        public void Post([FromBody] TicketsModel model)
        {
            var userId = GetUserId();

            _ticketService.CreateTicket(userId, model);
        }
示例#19
0
 public TicketsVM(DataGrid dataGrid)
 {
     models    = new TicketsModel();
     _dataGrid = dataGrid;
     models.ShowAllFlights(dataGrid);
 }
        private async void Print()
        {
            Tickets      = new TicketsModel();
            TicketsModel = new TicketsDataBase();
            var ViajeModel = new ViajesDataBase();

            this.IsRunning   = true;
            this.IsEnableAct = false;

            var viaje = ViajeModel.GetMembers();

            if (selectedDevice == null)
            {
                await App.Current.MainPage.DisplayAlert("Error", "Debes de seleccionar una impresora", "Aceptar");

                this.IsRunning   = false;
                this.IsEnableAct = true;
                return;
            }

            if (TickEnco == false)
            {
                if (Intermedios.destino == "" || Intermedios.origen == "" || ValTicket <= 0)
                {
                    await App.Current.MainPage.DisplayAlert(
                        "Error",
                        "Debes llenar todos los campos",
                        "OK");

                    this.IsRunning   = false;
                    this.IsEnableAct = true;
                }
                else
                {
                    foreach (var item in viaje)
                    {
                        Bus   = item.Bus;
                        Placa = item.Placa;
                    }

                    if (AlertaTicket)
                    {
                        Mensaje = "             COOTRASANA" + "\n" + "  Cooperativa de Trasportadores" + "             San Antonio" + "\n\n" + "Ticket Persona(s) Alerta" + "\n\n" + "Fecha: " + DateTime.Now + "\n\n" + "Origen: " + Ubicaciones.nombre + "\n\n" + "Destino: " + Intermedios.destino + "\n\n" + "Bus: " + Bus + "\n\n" + "Placa: " + Placa + "\n\n" + "No Persona(s): " + NoPersonas + "\n\n" + "--------------------------------\n\n";
                    }
                    else
                    {
                        Mensaje = "             COOTRASANA" + "\n" + "  Cooperativa de Trasportadores" + "             San Antonio" + "\n\n" + "Ticket Persona(s)" + "\n\n" + "Fecha: " + DateTime.Now + "\n\n" + "Origen: " + Ubicaciones.nombre + "\n\n" + "Destino: " + Intermedios.destino + "\n\n" + "Bus: " + Bus + "\n\n" + "Placa: " + Placa + "\n\n" + "No Persona(s): " + NoPersonas + "\n\n" + "Valor: " + Valor + "\n\n" + "--------------------------------\n\n";
                    }
                    Imprimir(Mensaje);
                    Tickets.Origen     = Ubicaciones.nombre;
                    Tickets.Destino    = Intermedios.destino;
                    Tickets.ValTicket  = ValTicket;
                    Tickets.NoPersonas = NoPersonas;
                    Tickets.Fecha      = Fecha;
                    Tickets.Encomienda = false;
                    Tickets.idDestino  = Intermedios.idDestino;
                    Tickets.idOrigen   = Ubicaciones.id;
                    foreach (var item in viaje)
                    {
                        Tickets.Hora    = item.Hora;
                        Tickets.idViaje = item.id;
                        Tickets.Bus     = item.Bus;
                        Tickets.Placa   = item.Placa;
                    }
                    Tickets.Alert = AlertaTicket;
                    TicketsModel.AddMember(Tickets);
                    ClearControll();
                    this.AlertaTicket = false;
                    this.IsRunning    = false;
                    this.IsEnableAct  = true;
                }
            }

            else
            {
                if (Intermedios.destino == "" || Intermedios.origen == "" || ValTicket <= 0)
                {
                    await App.Current.MainPage.DisplayAlert(
                        "Error",
                        "Debes llenar todos los campos",
                        "OK");

                    this.IsRunning   = false;
                    this.IsEnableAct = true;
                }
                else
                {
                    foreach (var item in viaje)
                    {
                        Bus   = item.Bus;
                        Placa = item.Placa;
                    }

                    Mensaje = "             COOTRASANA" + "\n" + "  Cooperativa de Trasportadores" + "             San Antonio" + "\n\n" + "Ticket Encomienda" + "\n\n" + "Fecha: " + DateTime.Now + "\n\n" + "Origen: " + Ubicaciones.nombre + "\n\n" + "Destino: " + Intermedios.destino + "\n\n" + "Bus: " + Bus + "\n\n" + "Placa: " + Placa + "\n\n" + "Valor: " + Valor + "\n\n" + "--------------------------------\n\n";
                    Imprimir(Mensaje);
                    Tickets.Origen     = Ubicaciones.nombre;
                    Tickets.Destino    = Intermedios.destino;
                    Tickets.ValTicket  = ValTicket;
                    Tickets.Fecha      = Fecha;
                    Tickets.NoPersonas = 0;
                    Tickets.Encomienda = true;
                    Tickets.idDestino  = Intermedios.idDestino;
                    Tickets.idOrigen   = Ubicaciones.id;
                    foreach (var item in viaje)
                    {
                        Tickets.Hora    = item.Hora;
                        Tickets.idViaje = item.id;
                    }
                    Tickets.Alert = AlertaTicket;
                    TicketsModel.AddMember(Tickets);
                    ClearControll();
                    this.AlertaTicket = false;
                    this.IsRunning    = false;
                    this.IsEnableAct  = true;
                }
            }
        }