/Inventario_HardSoft/Inventario_HardSoft/Sisco.LogicaNegocio/EquipoBLL.cs
# · C# · 232 lines · 188 code · 44 blank · 0 comment · 34 complexity · 00d391485c718c307b51118a570fdff7 MD5 · raw file
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
-
- namespace Sisco.LogicaNegocio
- {
- public class EquipoBLL
- {
- public List<AccesoDatos.EQUIPO> Listar()
- {
- AccesoDatos.EquipoDAO equipoDAO = new AccesoDatos.EquipoDAO();
-
- return equipoDAO.Listar();
- }
-
- public List<AccesoDatos.EQUIPO> ListarEquipo(AccesoDatos.USUARIO usuario)
- {
- List<AccesoDatos.EQUIPO> lista = this.Listar();
-
- return lista.Where(x => (x.IDUSUARIO.HasValue ? x.IDUSUARIO.Value : 0) == usuario.ID && x.ELIMINADO == 0).ToList();
- }
-
- public List<AccesoDatos.EQUIPO> ListarEquipo(AccesoDatos.TIPOEQUIPO tipoEquipo)
- {
- List<AccesoDatos.EQUIPO> lista = this.Listar();
-
- return lista.Where(x => (x.IDTIPOEQUIPO.HasValue ? x.IDTIPOEQUIPO.Value : 0) == tipoEquipo.ID && x.ELIMINADO == 0).ToList();
- }
-
- public List<AccesoDatos.EQUIPO> ListarEquiposconProgramas(AccesoDatos.USUARIO usuario)
- {
- List<AccesoDatos.EQUIPO> lista = this.ListarEquipo(usuario);
-
- return lista.Where(x => x.TIPOEQUIPO1.PERMITEPROGRAMA == 1).ToList();
- }
-
- public List<AccesoDatos.EQUIPO> ListarEquiposxEstado(AccesoDatos.TIPOEQUIPO tipoEquipo, AccesoDatos.EQUIPO_ESTADO equipoEstado)
- {
- List<AccesoDatos.EQUIPO> lista = ListarEquipo(tipoEquipo);
-
- return lista.Where(x => (x.IDESTADO.HasValue ? x.IDESTADO.Value : 0) == equipoEstado.ID).ToList();
- }
-
- public List<AccesoDatos.EQUIPO> Buscar(string atributo, string valor)
- {
- List<AccesoDatos.EQUIPO> resultado = new List<AccesoDatos.EQUIPO>();
-
- if (!string.IsNullOrWhiteSpace(valor))
- {
- List<AccesoDatos.EQUIPO> lista = this.Listar();
-
- switch (atributo)
- {
- case "TIPOEQUIPO":
- resultado = lista.Where(x => (x.TIPOEQUIPO1 != null ? x.TIPOEQUIPO1.NOMBRETIPO : string.Empty).Equals(valor) && x.ELIMINADO == 0).ToList();
- break;
- case "MARCA":
- resultado = lista.Where(x => x.MARCA.Equals(valor) && x.ELIMINADO == 0).ToList();
- break;
- case "MODELO":
- resultado = lista.Where(x => x.MODELO.Equals(valor) && x.ELIMINADO == 0).ToList();
- break;
- case "SERIE":
- resultado = lista.Where(x => x.SERIE.Equals(valor) && x.ELIMINADO == 0).ToList();
- break;
- }
- }
- else
- {
- resultado = this.Listar();
- }
-
- return resultado;
- }
-
- public List<AccesoDatos.EQUIPO> BuscarEquipo(int idTipoEquipo, string marca, string serie)
- {
- List<AccesoDatos.EQUIPO> resultado;
- List<AccesoDatos.EQUIPO> lista = this.Listar();
-
- resultado = lista.Where(x => (x.IDTIPOEQUIPO.HasValue ? x.IDTIPOEQUIPO.Value : 0).Equals(idTipoEquipo) && x.MARCA.Equals(marca,StringComparison.CurrentCultureIgnoreCase) && x.SERIE.Equals(serie,StringComparison.CurrentCultureIgnoreCase) && x.ELIMINADO == 0).ToList();
-
- return resultado;
- }
-
- public int Registrar(AccesoDatos.EQUIPO nuevoEquipo, AccesoDatos.USUARIO usuarioSistema)
- {
- AccesoDatos.EquipoDAO equipoDAO = new AccesoDatos.EquipoDAO();
- LogicaNegocio.TipoMotivoBLL tipoMotivoBLL = new TipoMotivoBLL();
- AccesoDatos.TIPOMOTIVO tipoMotivo = tipoMotivoBLL.GetTipoMotivo("MI", "Primer ingreso a almacén");
-
- AccesoDatos.MOVIMIENTO nuevoMovimiento =
- new AccesoDatos.MOVIMIENTO()
- {
- IDTIPOMOTIVO = tipoMotivo != null ? tipoMotivo.ID : 0,
- FECHAREGISTRO = DateTime.Now,
- ELIMINADO = 0,
- IDUSUARIORESPONSABLE = usuarioSistema.ID,
- NOMBREUSUARIORESPONSABLE = usuarioSistema.NOMBRECOMPLETO,
- REGISTRADOPOR = usuarioSistema.NOMBRECOMPLETO,
- OBSERVACION = string.Format("Registro de equipo")
- };
-
- return equipoDAO.Registrar(nuevoEquipo, nuevoMovimiento);
- }
-
- public List<AccesoDatos.EQUIPO> ListarEquiposDisponibles(AccesoDatos.TIPOEQUIPO selectedTipoEquipo)
- {
- List<AccesoDatos.EQUIPO> lista = this.Listar();
-
- return lista.Where(x => (x.TIPOEQUIPO1 != null ? x.TIPOEQUIPO1.NOMBRETIPO : string.Empty).Equals(selectedTipoEquipo.NOMBRETIPO) && x.ASIGNADO == 0 && x.ELIMINADO == 0).ToList();
- }
-
- public int AsignarEquipos(int idUsuario, List<AccesoDatos.EQUIPO> updateEquipos , AccesoDatos.USUARIO usuarioSistema)
- {
- int resultado = 0;
- AccesoDatos.EquipoDAO equipoDAO = new AccesoDatos.EquipoDAO();
-
- LogicaNegocio.EstadoEquipoBLL estadoEquipoBLL;
- LogicaNegocio.TipoMotivoBLL tipoMotivoBLL;
- LogicaNegocio.UsuarioBLL usuarioBLL;
-
- foreach (AccesoDatos.EQUIPO equipo in updateEquipos)
- {
- tipoMotivoBLL = new TipoMotivoBLL();
- usuarioBLL = new UsuarioBLL();
- estadoEquipoBLL = new EstadoEquipoBLL();
-
- AccesoDatos.TIPOMOTIVO tipoMotivo = tipoMotivoBLL.GetTipoMotivo("MF", "Asignación del equipo");
- AccesoDatos.USUARIO usuario = usuarioBLL.GetUsuario(idUsuario);
- AccesoDatos.EQUIPO_ESTADO equipoEstado = estadoEquipoBLL.GetEstadoEquipo("Asignado");
-
- AccesoDatos.MOVIMIENTO nuevoMovimiento = new AccesoDatos.MOVIMIENTO()
- {
- IDTIPOMOTIVO = tipoMotivo != null ? tipoMotivo.ID : 0,
- FECHAREGISTRO = DateTime.Now,
- ELIMINADO = 0,
- IDUSUARIORESPONSABLE = usuarioSistema.ID,
- NOMBREUSUARIORESPONSABLE = usuarioSistema.NOMBRECOMPLETO,
- REGISTRADOPOR = usuarioSistema.NOMBRECOMPLETO,
- OBSERVACION = string.Format("Asignación de equipo. Se asigna a usuario: {0}", (usuario.NOMBRECOMPLETO != null ? usuario.NOMBRECOMPLETO.Trim() : string.Empty))
- };
-
- resultado = resultado + equipoDAO.AsignarEquipo(idUsuario, equipo, equipoEstado, nuevoMovimiento,usuarioSistema);
- }
-
- return resultado;
- }
-
- public object BuscarEquipo(string valMarca, string valModelo, string valSerie, int? valIdTipoEquipo, DateTime? valFechaRegistroDesde, DateTime? valFechaRegistroHasta, int? valEstado)
- {
- AccesoDatos.EquipoDAO equipoDAO = new AccesoDatos.EquipoDAO();
- return equipoDAO.BuscarEquipo(valMarca, valModelo, valSerie, valIdTipoEquipo, valFechaRegistroDesde, valFechaRegistroHasta, valEstado);
- }
-
- public System.Data.DataTable Rep_ListarEquipo(string marca, string modelo, string serie, int? tipoEquipo, int? estadoEquipo)
- {
- AccesoDatos.EquipoDAO equipoDAO = new AccesoDatos.EquipoDAO();
- return equipoDAO.USP_ListarEquipo(marca, modelo, serie, tipoEquipo, estadoEquipo);
- }
-
- public int Modificar(AccesoDatos.EQUIPO selectedEquipo, AccesoDatos.EQUIPO updEquipo)
- {
- AccesoDatos.EquipoDAO equipoDAO = new AccesoDatos.EquipoDAO();
- return equipoDAO.Modificar(selectedEquipo, updEquipo);
- }
-
- public int LiberarEquipo(AccesoDatos.EQUIPO selectedEquipo, AccesoDatos.USUARIO usuarioSistema)
- {
- AccesoDatos.EquipoDAO equipoDAO = new AccesoDatos.EquipoDAO();
-
- LogicaNegocio.TipoMotivoBLL tipoMotivoBLL = new TipoMotivoBLL();
- LogicaNegocio.UsuarioBLL usuarioBLL = new UsuarioBLL();
- LogicaNegocio.EstadoEquipoBLL estadoEquipoBLL = new EstadoEquipoBLL();
-
- AccesoDatos.EQUIPO updEquipo = new AccesoDatos.EQUIPO()
- {
- IDESTADO = estadoEquipoBLL.GetEstadoEquipo("Liberado").ID
- };
-
- AccesoDatos.TIPOMOTIVO tipoMotivo = tipoMotivoBLL.GetTipoMotivo("ME", "Liberación del equipo"); //ME: Movimiento Externo
- AccesoDatos.USUARIO usuario = selectedEquipo.IDUSUARIO.HasValue ? usuarioBLL.GetUsuario(selectedEquipo.IDUSUARIO.Value) : new AccesoDatos.USUARIO();
-
- AccesoDatos.MOVIMIENTO nuevoMovimiento =
- new AccesoDatos.MOVIMIENTO()
- {
- IDTIPOMOTIVO = tipoMotivo != null ? tipoMotivo.ID : 0,
- FECHAREGISTRO = DateTime.Now,
- ELIMINADO = 0,
- IDUSUARIORESPONSABLE = usuarioSistema.ID,
- NOMBREUSUARIORESPONSABLE = usuarioSistema.NOMBRECOMPLETO,
- REGISTRADOPOR = usuarioSistema.NOMBRECOMPLETO,
- OBSERVACION = string.Format("Liberación de equipo. Pertenecía a usuario: {0}", (usuario.NOMBRECOMPLETO != null ? usuario.NOMBRECOMPLETO.Trim() : string.Empty))
- };
-
- return equipoDAO.Liberar(selectedEquipo, updEquipo, nuevoMovimiento, usuarioSistema);
- }
-
- public int DarBajaEquipo(AccesoDatos.EQUIPO selectedEquipo, AccesoDatos.USUARIO usuarioSistema)
- {
- AccesoDatos.EquipoDAO equipoDAO = new AccesoDatos.EquipoDAO();
-
- LogicaNegocio.TipoMotivoBLL tipoMotivoBLL = new TipoMotivoBLL();
- LogicaNegocio.UsuarioBLL usuarioBLL = new UsuarioBLL();
- LogicaNegocio.EstadoEquipoBLL estadoEquipoBLL = new EstadoEquipoBLL();
-
- AccesoDatos.EQUIPO updEquipo = new AccesoDatos.EQUIPO()
- {
- IDESTADO = estadoEquipoBLL.GetEstadoEquipo("Dado de Baja").ID
- };
-
- AccesoDatos.TIPOMOTIVO tipoMotivo = tipoMotivoBLL.GetTipoMotivo("ME", "Dado de Baja equipo");
- AccesoDatos.USUARIO usuario = selectedEquipo.IDUSUARIO.HasValue ? usuarioBLL.GetUsuario(selectedEquipo.IDUSUARIO.Value) : new AccesoDatos.USUARIO();
-
- AccesoDatos.MOVIMIENTO nuevoMovimiento =
- new AccesoDatos.MOVIMIENTO()
- {
- IDTIPOMOTIVO = tipoMotivo != null ? tipoMotivo.ID : 0,
- FECHAREGISTRO = DateTime.Now,
- ELIMINADO = 0,
- IDUSUARIORESPONSABLE = usuarioSistema.ID,
- NOMBREUSUARIORESPONSABLE = usuarioSistema.NOMBRECOMPLETO,
- REGISTRADOPOR = usuarioSistema.NOMBRECOMPLETO,
- OBSERVACION = string.Format("Dado de baja a equipo")
- };
-
- return equipoDAO.DarBajaEquipo(selectedEquipo, updEquipo, nuevoMovimiento, usuarioSistema);
- }
- }
- }