//Inserta acceso al iniciar sesion public async Task insertarAcceso(AccesoCliente accesoCliente) { using (var db = new MapeoCliente()) { db.accesoClientes.Add(accesoCliente); await db.SaveChangesAsync(); } }
//Guarda token de login (S) public async Task almacenarTokenLogin(ClienteTokenLogin token) { using (var db = new MapeoCliente()) { db.tokenLogin.Add(token); await db.SaveChangesAsync(); } }
//Elimina token al eliminar cuenta y cerrar sesion (S) public async Task eliminarToken(ClienteTokenLogin token) { using (var db = new MapeoCliente()) { ClienteTokenLogin tokenC = db.tokenLogin.Where(x => x.IdCliente == token.IdCliente).FirstOrDefault(); db.tokenLogin.Remove(tokenC); await db.SaveChangesAsync(); } }
//Modifica contraseña (recuperar) public async Task updateClave(Cliente cliente) { using (var db = new MapeoCliente()) { Cliente usuarioAnterior = db.client.Where(x => x.IdCliente == cliente.IdCliente).First(); usuarioAnterior.Contrasena = cliente.Contrasena; db.client.Attach(usuarioAnterior); var entry = db.Entry(usuarioAnterior); entry.State = EntityState.Modified; await db.SaveChangesAsync(); } }
//Cierra acceso al cerrar sesion public async Task cerrarAcceso(int id_cliente) { using (var db = new MapeoCliente()) { AccesoCliente acceso = db.accesoClientes.Where(x => x.IdCliente == id_cliente && x.FechaFin == null).FirstOrDefault(); acceso.FechaFin = DateTime.Now; db.accesoClientes.Attach(acceso); var entry = db.Entry(acceso); entry.State = EntityState.Modified; await db.SaveChangesAsync(); } }
//Eliminacion de registro (S) public async Task eliminarRegistro(Cliente cliente) { using (var db = new MapeoCliente()) { Cliente clienteAnterior = db.client.Where(x => x.IdCliente == cliente.IdCliente).FirstOrDefault(); clienteAnterior.Sesion = "inactivo"; db.client.Attach(clienteAnterior); var entry = db.Entry(clienteAnterior); entry.State = EntityState.Modified; await db.SaveChangesAsync(); } }
//Conversacion (S) public async Task coversar(Notificacion notificacion) { using (var db = new MapeoCliente()) { Notificacion notificacionAnterior = db.notificacion.Where(x => x.Id == notificacion.Id).FirstOrDefault(); notificacionAnterior.Conversacion = notificacion.Conversacion; db.notificacion.Attach(notificacionAnterior); var entry = db.Entry(notificacionAnterior); entry.State = EntityState.Modified; await db.SaveChangesAsync(); } }
//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(); } }
//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(); } }
//Modifica registro (S) public async Task 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; await db.SaveChangesAsync(); } }