//Inserta registro cliente (S) public async Task inserCliente(RegistroClienteRequest clienteR) { using (var db = new MapeoCliente()) { Cliente cliente = new Cliente(); cliente.Nombrecl = clienteR.Nombrecl; cliente.Apellido = clienteR.Apellido; cliente.FechaDeNacimiento = clienteR.FechaDeNacimiento; cliente.Email = clienteR.Email; cliente.Usuario = clienteR.Usuario; cliente.Contrasena = clienteR.Contrasena; cliente.Modificado = "mototaxideluxe"; cliente.Sesion = "activo"; cliente.Rol = 1; db.client.Add(cliente); await db.SaveChangesAsync(); } }
//Muestra las carreras (filtro) public async Task <List <Notificacion> > filtrarCarrera(DateTime?fechaInicio, int idConductor) { using (var db = new MapeoCliente()) { var filtro = await(from n in db.notificacion join cl in db.client on n.IdCliente equals cl.IdCliente join d in db.destino on n.IdDestino equals d.Id join u in db.destino on n.IdUbicacion equals u.Id join p in db.pago on n.Pago equals p.Id orderby n.FechaCarrera select new { n, cl.Nombrecl, d.LugarDestino, u.LugarUbicacion }).ToListAsync(); List <Notificacion> fil = filtro.Select(m => new Notificacion { Id = m.n.Id, IdCliente = m.n.IdCliente, IdDestino = m.n.IdDestino, IdUbicacion = m.n.IdUbicacion, Tarifa = m.n.Tarifa, FechaCarrera = m.n.FechaCarrera, Estado = m.n.Estado, IdConductor = m.n.IdConductor, Conductor = m.n.Conductor, ComentarioDeConductor = m.n.ComentarioDeConductor, FechaFinCarrera = m.n.FechaFinCarrera, Conversacion = m.n.Conversacion, NombreCl = m.Nombrecl, Destino = m.LugarDestino, Ubicacion = m.LugarUbicacion }).Where(x => x.Estado.Contains("Aceptado") && x.IdConductor == idConductor).ToList(); if (fechaInicio != null) { fil = fil.Where(x => x.FechaCarrera == fechaInicio).ToList(); return(fil); } return(fil); } }
//Update Cliente public void modificarCliente(Cliente cliente) { using (var db = new MapeoCliente()) { Cliente clienteAnterior = db.client.Where(x => x.IdCliente == cliente.IdCliente).FirstOrDefault(); clienteAnterior.Nombrecl = cliente.Nombrecl; clienteAnterior.Apellido = cliente.Apellido; clienteAnterior.FechaDeNacimiento = cliente.FechaDeNacimiento; clienteAnterior.Email = cliente.Email; clienteAnterior.Usuario = cliente.Usuario; clienteAnterior.Contrasena = cliente.Contrasena; db.client.Attach(clienteAnterior); var entry = db.Entry(clienteAnterior); entry.State = EntityState.Modified; db.SaveChanges(); } }
//Inserta el pedido de servicio (S) public async Task inserServicio(ServicioClienteRequest servicio, int idCliente) { using (var db = new MapeoCliente()) { Notificacion notificacion = new Notificacion(); notificacion.IdDestino = servicio.idDestino; notificacion.IdUbicacion = servicio.idUbicacion; notificacion.DescripcionServicio = servicio.descripcionServicio; notificacion.Pago = servicio.pago; notificacion.IdCliente = idCliente; notificacion.Tarifa = servicio.tarifa; notificacion.Kilometro = servicio.kilometros; notificacion.FechaCarrera = DateTime.Now.Date; notificacion.Estado = "Pendiente"; db.notificacion.Add(notificacion); await db.SaveChangesAsync(); } }
//Muestra para aceptar cliente public List <Cliente> mostrarClienteAceptar()//S { using (var db = new MapeoCliente()) { return(db.client.Select(x => new { x.IdCliente, x.Nombrecl, x.Apellido, x.Usuario, x.Sesion }).ToList().Select(x => new Cliente() { IdCliente = x.IdCliente, Nombrecl = x.Nombrecl, Apellido = x.Apellido, Usuario = x.Usuario, Sesion = x.Sesion }).Where(x => x.Sesion.Contains("sancionado")).ToList()); } }
//Muestra solicitudes de carreras (S) public async Task <List <Notificacion> > mostrarHistorial(int idEstado) { using (var db = new MapeoCliente()) { var data = await(from n in db.notificacion join cl in db.client on n.IdCliente equals cl.IdCliente join d in db.destino on n.IdDestino equals d.Id join u in db.destino on n.IdUbicacion equals u.Id join p in db.pago on n.Pago equals p.Id orderby n.FechaCarrera select new { n, cl.Nombrecl, d.LugarDestino, u.LugarUbicacion, p.Descripcion }).ToListAsync(); return(data.Select(m => new Notificacion { Id = m.n.Id, IdCliente = m.n.IdCliente, IdDestino = m.n.IdDestino, IdUbicacion = m.n.IdUbicacion, Tarifa = m.n.Tarifa, FechaCarrera = m.n.FechaCarrera, Estado = m.n.Estado, IdConductor = m.n.IdConductor, Conductor = m.n.Conductor, ComentarioDeConductor = m.n.ComentarioDeConductor, FechaFinCarrera = m.n.FechaFinCarrera, NombreCl = m.Nombrecl, Destino = m.LugarDestino, Ubicacion = m.LugarUbicacion, MetodoPago = m.Descripcion }).Where(x => x.Estado.Contains("Pendiente") && idEstado != 3).OrderBy(x => x.FechaCarrera).ToList()); } }
//Trae los datos del registro de notificación public Notificacion datosRegistro(int idNotificacion) { using (var db = new MapeoCliente()) { return((from n in db.notificacion join cl in db.client on n.IdCliente equals cl.IdCliente join d in db.destino on n.IdDestino equals d.Id join u in db.destino on n.IdUbicacion equals u.Id join p in db.pago on n.Pago equals p.Id orderby n.Id select new { n, cl.Nombrecl, d.LugarDestino, u.LugarUbicacion, p.Descripcion }).ToList().Select(m => new Notificacion { Id = m.n.Id, IdCliente = m.n.IdCliente, IdDestino = m.n.IdDestino, IdUbicacion = m.n.IdUbicacion, Tarifa = m.n.Tarifa, FechaCarrera = m.n.FechaCarrera, Pago = m.n.Pago, Conductor = m.n.Conductor, IdConductor = m.n.IdConductor, ComentarioDeCliente = m.n.ComentarioDeCliente, ComentarioDeConductor = m.n.ComentarioDeConductor, Conversacion = m.n.Conversacion, NombreCl = m.Nombrecl, Destino = m.LugarDestino, Ubicacion = m.LugarUbicacion, MetodoPago = m.Descripcion }).Where(x => x.Id == idNotificacion).FirstOrDefault()); } }
//Generar reporte (historial carreras) (S) public List <Notificacion> reporteHistorial(Notificacion notificacio, int idCo) { using (var db = new MapeoCliente()) { return((from n in db.notificacion join cl in db.client on n.IdCliente equals cl.IdCliente join d in db.destino on n.IdDestino equals d.Id join u in db.destino on n.IdUbicacion equals u.Id join p in db.pago on n.Pago equals p.Id orderby n.FechaCarrera select new { n, cl.Nombrecl, d.LugarDestino, u.LugarUbicacion }).ToList().Select(m => new Notificacion { Id = m.n.Id, IdCliente = m.n.IdCliente, IdDestino = m.n.IdDestino, IdUbicacion = m.n.IdUbicacion, Tarifa = m.n.Tarifa, FechaCarrera = m.n.FechaCarrera, Estado = m.n.Estado, IdConductor = m.n.IdConductor, Conductor = m.n.Conductor, ComentarioDeConductor = m.n.ComentarioDeConductor, FechaFinCarrera = m.n.FechaFinCarrera, Conversacion = m.n.Conversacion, NombreCl = m.Nombrecl, Destino = m.LugarDestino, Ubicacion = m.LugarUbicacion }).Where(x => x.Estado.Contains("Aceptado") && x.IdConductor == idCo).ToList()); } }