/// <summary> /// Obtener los equipos de un cliente. /// </summary> /// <param name="c">AsignacionEquipo para el cual se obtiene la lista de equipo</param> public void obtenerEquiposAsignacionEquipo(ref AsignacionEquipo c) { SqlCommand comando = _manejador.obtenerProcedimiento("SelectAsignacionEquipoEquipos"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@asignacion", c.ID, SqlDbType.Int); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { int id = (int)datareader["pk_ID"]; string numero = (string)datareader["Equipo"]; Equipo telefono = new Equipo(id, numero); c.agregarEquipo(telefono); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } }
public static RespuestaTransaccion ActualizarAsignacionEquipo(AsignacionEquipo objeto) { using (var transaction = db.Database.BeginTransaction()) { try { // assume Entity base class have an Id property for all items var entity = db.AsignacionEquipo.Find(objeto.IDAsignacionEquipo); if (entity == null) { return(new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeTransaccionFallida }); } db.Entry(entity).CurrentValues.SetValues(objeto); db.SaveChanges(); transaction.Commit(); return(new RespuestaTransaccion { Estado = true, Respuesta = Mensajes.MensajeTransaccionExitosa }); } catch (Exception ex) { transaction.Rollback(); return(new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeTransaccionFallida + " ;" + ex.Message.ToString() }); } } }
/// <summary> /// Verificar si existe un cliente. /// </summary> /// <param name="c">Objeto cliente con los datos del cliente a verificar</param> /// <returns>Valor que indica si el cliente existe</returns> public bool verificarAsignacionEquipo(ref AsignacionEquipo c) { bool existe = false; SqlCommand comando = _manejador.obtenerProcedimiento("SelectExisteAsignacionEquipo"); SqlDataReader datareader = null; try { datareader = _manejador.ejecutarConsultaDatos(comando); if (datareader.Read()) { short id = (short)datareader["pk_ID"]; existe = id != c.ID; c.ID = id; } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorVerificarAsignacionEquipoDuplicado"); } return(existe); }
public async Task <IActionResult> AprobarAsignacionEquipo([FromRoute] int id, [FromBody] AsignacionEquipo asignacionEquipo) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != asignacionEquipo.Id) { return(BadRequest()); } using (var sn = factory.OpenSession()) { using (var tx = sn.BeginTransaction()) { try { AsignacionEquipo asignacionEquipoBD = sn.Get <AsignacionEquipo>(id); asignacionEquipoBD.FechaAprobacion = DateTime.Now; asignacionEquipoBD.UsuarioAprobacion = asignacionEquipo.UsuarioAprobacion; await tx.CommitAsync(); } catch (Exception ex) { await tx.RollbackAsync(); return(StatusCode(500, ex.Message)); } } } return(Ok(true)); }
public async Task <IActionResult> Post([FromBody] AsignacionEquipo asignacionEquipo) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } using (var sn = factory.OpenSession()) { using (var tx = sn.BeginTransaction()) { try { asignacionEquipo.FechaCreacion = DateTime.Now; sn.Save(asignacionEquipo); foreach (var item in asignacionEquipo.Items) { InventarioEquipo inventario = await sn.Query <InventarioEquipo>() .Where(x => x.IdAlmacen == asignacionEquipo.Almacen.Id && x.IdEquipo == item.Equipo.Id) .FirstOrDefaultAsync(); if (inventario != null && inventario.Stock >= item.Cantidad) { inventario.Stock -= item.Cantidad; } else { throw new Exception("Sin stock para el equipo: " + item.Equipo.Nombre); } item.IdAsignacionEquipo = asignacionEquipo.Id; sn.Save(item); } await tx.CommitAsync(); } catch (Exception ex) { await tx.RollbackAsync(); return(StatusCode(500, ex.Message)); } } } return(Ok(true)); }
public static AsignacionEquipo ConsultarAsignacionEquipo(int id) { AsignacionEquipo objeto = new AsignacionEquipo(); try { objeto = db.ConsultarAsignacionesEquipo(id).FirstOrDefault(); return(objeto); } catch (Exception) { return(objeto); } }
/// <summary> /// Marcar como inactivo a un cliente del sistema. /// </summary> /// <param name="c">Objeto AsignacionEquipo con los datos del cliente a marcar</param> public void eliminarAsignacionEquipo(AsignacionEquipo c) { SqlCommand comando = _manejador.obtenerProcedimiento("DeleteAsignacionEquipo"); _manejador.agregarParametro(comando, "@cliente", c.ID, SqlDbType.SmallInt); try { _manejador.ejecutarConsultaActualizacion(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorAsignacionEquipoEliminacion"); } }
public async Task <IActionResult> DeleteAsignacionEquipo([FromRoute] int id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } using (var sn = factory.OpenSession()) { using (var tx = sn.BeginTransaction()) { try { AsignacionEquipo asignacionEquipo = sn.Get <AsignacionEquipo>(id); List <AsignacionEquipoItem> items = await sn.Query <AsignacionEquipoItem>() .Where(x => x.IdAsignacionEquipo == id) .ToListAsync(); foreach (var item in items) { InventarioEquipo inventario = await sn.Query <InventarioEquipo>() .Where(x => x.IdAlmacen == asignacionEquipo.Almacen.Id && x.IdEquipo == item.Equipo.Id) .FirstOrDefaultAsync(); inventario.Stock += item.Cantidad; } sn.Delete(string.Format("FROM AsignacionEquipoItem WHERE IdAsignacionEquipo = {0}", id)); sn.Delete(asignacionEquipo); await tx.CommitAsync(); } catch (Exception ex) { await tx.RollbackAsync(); return(StatusCode(500, ex.Message)); } } } return(Ok(true)); }
public async Task <IActionResult> GetAsignacionEquipo([FromRoute] int id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } AsignacionEquipo asignacionEquipo = null; using (var sn = factory.OpenSession()) { asignacionEquipo = await sn.GetAsync <AsignacionEquipo>(id); asignacionEquipo.Items = await sn.Query <AsignacionEquipoItem>().Where(x => x.IdAsignacionEquipo == id).ToListAsync(); } if (asignacionEquipo == null) { return(NotFound()); } return(Ok(asignacionEquipo)); }
public static RespuestaTransaccion CrearAsignacionEquipo(AsignacionEquipo objeto) { using (var transaction = db.Database.BeginTransaction()) { try { db.AsignacionEquipo.Add(objeto); db.SaveChanges(); transaction.Commit(); return(new RespuestaTransaccion { Estado = true, Respuesta = Mensajes.MensajeTransaccionExitosa }); } catch (Exception ex) { transaction.Rollback(); return(new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeTransaccionFallida + " ;" + ex.Message.ToString() }); } } }
public async Task <IActionResult> PutAsignacionEquipo([FromRoute] int id, [FromBody] AsignacionEquipo asignacionEquipo) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != asignacionEquipo.Id) { return(BadRequest()); } using (var sn = factory.OpenSession()) { using (var tx = sn.BeginTransaction()) { try { List <AsignacionEquipoItem> items = await sn.Query <AsignacionEquipoItem>() .Where(x => x.IdAsignacionEquipo == id) .ToListAsync(); foreach (var item in items) { InventarioEquipo inventario = await sn.Query <InventarioEquipo>() .Where(x => x.IdAlmacen == asignacionEquipo.Almacen.Id && x.IdEquipo == item.Equipo.Id) .FirstOrDefaultAsync(); inventario.Stock += item.Cantidad; } sn.Delete(string.Format("FROM AsignacionEquipoItem WHERE IdAsignacionEquipo = {0}", id)); foreach (var item in asignacionEquipo.Items) { InventarioEquipo inventario = await sn.Query <InventarioEquipo>() .Where(x => x.IdAlmacen == asignacionEquipo.Almacen.Id && x.IdEquipo == item.Equipo.Id) .FirstOrDefaultAsync(); if (inventario != null && inventario.Stock >= item.Cantidad) { inventario.Stock -= item.Cantidad; } else { throw new Exception("Sin stock para el equipo: " + item.Equipo.Nombre); } item.IdAsignacionEquipo = id; sn.Save(item); } AsignacionEquipo asignacionEquipoBD = sn.Get <AsignacionEquipo>(id); asignacionEquipoBD.Comentario = asignacionEquipo.Comentario; await tx.CommitAsync(); } catch (Exception ex) { await tx.RollbackAsync(); return(StatusCode(500, ex.Message)); } } } return(Ok(true)); }
/// <summary> /// Listar las Tripulaciones registradas en el sistema. /// </summary> /// <returns>Lista de las Tripulaciones registradas en el sistema</returns> public Tripulacion listarTripulacionRuta(int b, DateTime f) { Tripulacion tripulaciones = new Tripulacion(); SqlCommand comando = _manejador.obtenerProcedimiento("SelectTripulacionesRuta"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@ruta", b, SqlDbType.Int); _manejador.agregarParametro(comando, "@fecha", f, SqlDbType.Date); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { short id_tripulacion = (short)datareader["ID_Tripulacion"]; int ruta = (int)datareader["Ruta"]; string descripcion = (string)datareader["Descripcion"]; string observaciones = (string)datareader["Observaciones"]; int id_chofer = (int)datareader["ID_Chofer"]; string nombre_chofer = (string)datareader["Nombre_Chofer"]; string primer_apellido_chofer = (string)datareader["PrimerApellido_Chofer"]; string segundo_apellido_chofer = (string)datareader["SegundoApellido_Chofer"]; string identificacion_chofer = (string)datareader["Identificacion_Chofer"]; int id_custodio = (int)datareader["ID_Custodio"]; string nombre_custodio = (string)datareader["Nombre_Custodio"]; string primer_apellido_custodio = (string)datareader["PrimerApellido_Custodio"]; string segundo_apellido_custodio = (string)datareader["SegundoApellido_Custodio"]; string identificacion_custodio = (string)datareader["Identificacion_Custodio"]; int id_portavalor = (int)datareader["ID_Portavalor"]; string nombre_portavalor = (string)datareader["Nombre_Portavalor"]; string primer_apellido_portavalor = (string)datareader["PrimerApellido_Portavalor"]; string segundo_apellido_portavalor = (string)datareader["SegundoApellido_Portavalor"]; string identificacion_portavalor = (string)datareader["Identificacion_Portavalor"]; int id_usuario = (int)datareader["ID_Usuario"]; string nombre_usuario = (string)datareader["Nombre_Usuario"]; string primer_apellido_usuario = (string)datareader["PrimerApellido_Usuario"]; string segundo_apellido_usuario = (string)datareader["SegundoApellido_Usuario"]; string identificacion_usuario = (string)datareader["Identificacion_Usuario"]; Colaborador chofer = new Colaborador(id_chofer, nombre_chofer, primer_apellido_chofer, segundo_apellido_chofer, identificacion_chofer); Colaborador custodio = new Colaborador(id_custodio, nombre_custodio, primer_apellido_custodio, segundo_apellido_custodio, identificacion_custodio); Colaborador portavalor = new Colaborador(id_portavalor, nombre_portavalor, primer_apellido_portavalor, segundo_apellido_portavalor, identificacion_portavalor); Colaborador usuario = new Colaborador(id_usuario, nombre_usuario, primer_apellido_usuario, segundo_apellido_usuario, identificacion_usuario); short id_atm = (short)datareader["ID_Vehiculo"]; string modelo = (string)datareader["Modelo"]; string placa = (string)datareader["Placa"]; int numeroasoc = (Int32)datareader["NumeroAsociado"]; int ordensalida = (Int32)datareader["OrdenSalida"]; int id_dispositivo = (Int32)datareader["ID_Dispositivo"]; string serial = (string)datareader["Serial"]; string descripcion_dispositivo = (string)datareader["Descripcion_Dispositivo"]; Vehiculo vehiculo = new Vehiculo(placa: placa, modelo: modelo, numeroasociado: numeroasoc, id: id_atm); Dispositivo dispositivo = new Dispositivo(nombre: serial, id: id_dispositivo, descripcion: descripcion_dispositivo); AsignacionEquipo asignacion = null; if (datareader["ID_Asignacion"] != DBNull.Value) { int idasignacion = (int)datareader["ID_Asignacion"]; asignacion = new AsignacionEquipo(id: idasignacion); } Tripulacion tripulacion = new Tripulacion(nombre: descripcion, ruta: ruta, chofer: chofer, custodio: custodio, portavalor: portavalor, id: id_tripulacion, usuario: usuario, observaciones: observaciones, v: vehiculo, ordenSalida: ordensalida, disp: dispositivo); tripulacion.Asignaciones = asignacion; tripulaciones = tripulacion; } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } return(tripulaciones); }