public async Task <ActionResult <Cliente> > PostCliente(Cliente cliente)
        {
            var clienteItem = await _context.Clientes.FindAsync(cliente.Identificacion);

            if (clienteItem != null)
            {
                return(BadRequest());
            }
            else
            {
                _context.Clientes.Add(cliente);
                await _context.SaveChangesAsync();

                return(CreatedAtAction(nameof(GetClienteItem), new { id = cliente.Identificacion }, cliente));
            }
        }
        public async Task <ActionResult <Ruta> > PostRuta(Ruta ruta)
        {
            var rutaItem = await _context.Clientes.FindAsync(ruta.Id);

            if (rutaItem != null)
            {
                return(BadRequest());
            }
            else
            {
                _context.Rutas.Add(ruta);
                await _context.SaveChangesAsync();

                return(CreatedAtAction(nameof(GetRutaItem), new { id = ruta.Id }, ruta));
            }
        }
        public async Task <ActionResult <Tiquete> > PostHistoria(TiqueteRequest tiquete)
        {
            var cliente = await _context.Clientes.FindAsync(tiquete.IdentificacionCliente);

            var ruta = await _context.Rutas.FindAsync(tiquete.RutaId);

            if (cliente == null)
            {
                ModelState.AddModelError("Cliente", "El cliente no exite, no se encontro");
            }

            if (ruta == null)
            {
                ModelState.AddModelError("Ruta", "La ruta no exite, no se encontro");
            }

            if (!ModelState.IsValid)
            {
                var problemDetails = new ValidationProblemDetails(ModelState)
                {
                    Status = StatusCodes.Status400BadRequest,
                };
                return(BadRequest(problemDetails));
            }

            var nuevoTiquete = new Tiquete {
                Cliente  = cliente,
                Ruta     = ruta,
                Cantidad = tiquete.Cantidad
            };

            _context.Tiquetes.Add(nuevoTiquete);

            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetTiqueteItem), new { id = tiquete.Id }, tiquete));
        }