/// <summary>
        /// Busca entidades (o alguno de sus derivados) que cumplan con un parámetro de búsqueda.
        /// </summary>
        /// <param name="p_mod_entidad">modelo con variable a buscar inicializada con algún valor</param>
        /// <param name="p_paramentroBusqueda">Constante dentro de LibreriaClasesCompartidas.Constantes.ParametrosBusqueda</param>
        /// <returns>Lista de modeloEntidad (o alguno de sus derivados)</returns>
        public static List <ModeloEntidad> buscar(ModeloEntidad p_mod_entidad, string p_paramentroBusqueda)
        {
            Type T = p_mod_entidad.GetType();
            CatalogoEntidades lcl_catalogo;

            if (T == typeof(ModeloCliente))
            {
                lcl_catalogo = new CatalogoClientes();
            }
            else if (T == typeof(ModeloUsuario))
            {
                lcl_catalogo = new CatalogoUsuarios();
            }
            else if (T == typeof(ModeloContactoProveedor))
            {
                lcl_catalogo = new CatalogoContactoProveedores();
            }
            else if (T == typeof(ModeloProveedor))
            {
                lcl_catalogo = new CatalogoProveedores();
            }
            else if (T == typeof(ModeloPersonas))
            {
                lcl_catalogo = new CatalogoPersonas();
            }
            else
            {
                lcl_catalogo = new CatalogoEntidades();
            }

            return(lcl_catalogo.buscar(p_mod_entidad, p_paramentroBusqueda).ToList());
        }
示例#2
0
        private bool validarExistencia(ModeloEntidad p_mod_entidad)
        {
            //Revisa que no exista CUIT
            if (!string.IsNullOrEmpty(p_mod_entidad.cuit))
            {
                List <ModeloEntidad> lcl_lst_mod_entidades = ControladorBusqueda.buscar(p_mod_entidad, LibreriaClasesCompartidas.Constantes.ParametrosBusqueda.Entidades.Cuit);
                foreach (ModeloEntidad e in lcl_lst_mod_entidades)
                {
                    if (e.codigo != p_mod_entidad.codigo)
                    {
                        errorActual = "El CUIT indicado ya existe";
                        return(false);
                    }
                }
            }
            //Revisa que no exista DNI
            if (p_mod_entidad.GetType() != typeof(ModeloProveedor))
            {
                List <ModeloPersonas> lcl_lst_mod_personas = ControladorBusqueda.buscar(p_mod_entidad as ModeloPersonas, LibreriaClasesCompartidas.Constantes.ParametrosBusqueda.Entidades.Personas.Dni);
                foreach (ModeloPersonas p in lcl_lst_mod_personas)
                {
                    if (p.codigo != p_mod_entidad.codigo)
                    {
                        errorActual = "El DNI indicado ya existe";
                        return(false);
                    }
                }
            }
            //Revisa que no exista Razón Social
            if (p_mod_entidad.GetType() == typeof(ModeloProveedor))
            {
                //Se hace una búsqueda con el resultado porque la busqueda por razón social retorna proveedores con razon social parecida, no unicamente igual
                List <ModeloProveedor> lcl_lst_mod_proveedores = ControladorBusqueda.buscar(p_mod_entidad as ModeloProveedor, LibreriaClasesCompartidas.Constantes.ParametrosBusqueda.Entidades.Proveedores.RazonSocial);
                foreach (ModeloProveedor p in lcl_lst_mod_proveedores)
                {
                    if (p.razonSocial == (p_mod_entidad as ModeloProveedor).razonSocial && p.codigo != p_mod_entidad.codigo)
                    {
                        errorActual = "La Razón Social indicada ya existe";
                        return(false);
                    }
                }
            }
            //Revisa que no exista Usuario
            if (p_mod_entidad.GetType() == typeof(ModeloUsuario))
            {
                List <ModeloUsuario> lcl_lst_mod_usuarios = ControladorBusqueda.buscar(p_mod_entidad as ModeloUsuario, LibreriaClasesCompartidas.Constantes.ParametrosBusqueda.Entidades.Personas.Usuarios.Usuario);
                foreach (ModeloUsuario u in lcl_lst_mod_usuarios)
                {
                    if (u.codigo != p_mod_entidad.codigo)
                    {
                        errorActual = "El usuario indicado ya existe";
                        return(false);
                    }
                }
            }

            return(true);
        }
        //Como buscar(object,parametroBusqueda), pero en vez de una lista devuelve un solo objeto
        public static ModeloEntidad getOne(ModeloEntidad p_mod_entidad, string p_parametroBusqueda)
        {
            List <ModeloEntidad> lcl_lst_mod_entidad = ControladorBusqueda.buscar(p_mod_entidad, p_parametroBusqueda);

            if (lcl_lst_mod_entidad.Count > 0)
            {
                return(lcl_lst_mod_entidad[0]);
            }
            else
            {
                return(null);
            }
        }
示例#4
0
        public static List <Vehiculo> FillDDLVehiculo()
        {
            ModeloEntidad   db        = new ModeloEntidad();
            List <Vehiculo> vehiculos = null;

            try
            {
                vehiculos = db.Vehiculo.OrderBy(c => c.Placa).ToList();
            }
            catch (Exception exception)
            {
                throw new Exception(exception.Message);
            }
            return(vehiculos);
        }
示例#5
0
        public static Vehiculo ConsultarVehiculo(Vehiculo dataVehiculo)
        {
            ModeloEntidad db       = new ModeloEntidad();
            Vehiculo      vehiculo = null;

            try
            {
                vehiculo = db.Vehiculo.First(c => c.Placa == dataVehiculo.Placa);
            }
            catch (Exception exception)
            {
                throw new Exception(exception.Message);
            }
            return(vehiculo);
        }
示例#6
0
 public static void Ingresar(Vehiculo dataVehiculo)
 {
     using (ModeloEntidad db = new ModeloEntidad())
     {
         try
         {
             Vehiculo vehiculo = db.Vehiculo.Add(dataVehiculo);
             db.SaveChanges();
         }
         catch (Exception exception)
         {
             throw new Exception(exception.Message);
         }
     }
 }
        public static List <Servicios> FillDDLServicio()
        {
            ModeloEntidad    db        = new ModeloEntidad();
            List <Servicios> servicios = null;

            try
            {
                servicios = db.Servicios.OrderBy(c => c.Descripción).ToList();
            }
            catch (Exception exception)
            {
                throw new Exception(exception.Message);
            }
            return(servicios);
        }
示例#8
0
        public static Servicios ConsultarServicio(Servicios dataServicio)
        {
            ModeloEntidad db       = new ModeloEntidad();
            Servicios     servicio = null;

            try
            {
                servicio = db.Servicios.First(c => c.Descripción == dataServicio.Descripción);
            }
            catch (Exception exception)
            {
                throw new Exception(exception.Message);
            }
            return(servicio);
        }
        public static List <Vehiculo_Servicio> GetVehiculosServicios(string servicioID)
        {
            ModeloEntidad            db = new ModeloEntidad();
            List <Vehiculo_Servicio> vehiculo_Servicios = null;

            try
            {
                vehiculo_Servicios = db.Vehiculo_Servicio.Where(c => c.ID_Servicio.ToString() == servicioID).ToList();
            }
            catch (Exception exception)
            {
                throw new Exception(exception.Message);
            }
            return(vehiculo_Servicios);
        }
示例#10
0
 public static void Ingresar(Servicios dataServicios)
 {
     using (ModeloEntidad db = new ModeloEntidad())
     {
         try
         {
             Servicios servicios = db.Servicios.Add(dataServicios);
             db.SaveChanges();
         }
         catch (Exception exception)
         {
             throw new Exception(exception.Message);
         }
     }
 }
示例#11
0
 public static void Modificar(Servicios dataServicios)
 {
     using (ModeloEntidad db = new ModeloEntidad())
     {
         try
         {
             Servicios servicios = db.Servicios.First(c => c.Descripción == dataServicios.Descripción);
             servicios.Descripción = dataServicios.Descripción;
             servicios.Monto       = dataServicios.Monto;
             db.SaveChanges();
         }
         catch (Exception exception)
         {
             throw new Exception(exception.Message);
         }
     }
 }
示例#12
0
 public static void Modificar(Vehiculo dataVehiculo)
 {
     using (ModeloEntidad db = new ModeloEntidad())
     {
         try
         {
             Vehiculo vehiculo = db.Vehiculo.First(c => c.Placa == dataVehiculo.Placa);
             vehiculo.Placa = dataVehiculo.Placa;
             vehiculo.Dueño = dataVehiculo.Dueño;
             vehiculo.Marca = dataVehiculo.Marca;
             db.SaveChanges();
         }
         catch (Exception exception)
         {
             throw new Exception(exception.Message);
         }
     }
 }
示例#13
0
 public static void Eliminar(Vehiculo dataVehiculo)
 {
     using (ModeloEntidad db = new ModeloEntidad())
     {
         try
         {
             Vehiculo vehiculo = db.Vehiculo.First(c => c.Placa == dataVehiculo.Placa);
             if (vehiculo != null)
             {
                 db.Vehiculo.Remove(vehiculo);
                 db.SaveChanges();
             }
         }
         catch (Exception exception)
         {
             throw new Exception(exception.Message);
         }
     }
 }
示例#14
0
 public static void Eliminar(Servicios dataServicios)
 {
     using (ModeloEntidad db = new ModeloEntidad())
     {
         try
         {
             Servicios servicios = db.Servicios.First(c => c.Descripción == dataServicios.Descripción);
             if (servicios != null)
             {
                 db.Servicios.Remove(servicios);
                 db.SaveChanges();
             }
         }
         catch (Exception exception)
         {
             throw new Exception(exception.Message);
         }
     }
 }
 /// <summary>
 /// Retorna entidades (o alguno de sus derivados) en base a los valores inicializados en los atributos del modelo
 /// </summary>
 /// <param name="p_mod_entidad"></param>
 /// <returns>Lista de entidades (o alguno de sus derivados)</returns>
 public static List <ModeloEntidad> buscar(ModeloEntidad p_mod_entidad)
 {
     return(ControladorBusqueda.buscar(p_mod_entidad, Constantes.ParametrosBusqueda.Any));
 }
示例#16
0
        public bool modificar(ModeloEntidad p_mod_entidad)
        {
            Type T = p_mod_entidad.GetType();
            CatalogoEntidades lcl_catalogo;

            if (T == typeof(ModeloCliente))
            {
                lcl_catalogo = new CatalogoClientes();
            }
            else if (T == typeof(ModeloUsuario))
            {
                lcl_catalogo = new CatalogoUsuarios();
            }
            else if (T == typeof(ModeloContactoProveedor))
            {
                lcl_catalogo = new CatalogoContactoProveedores();
            }
            else if (T == typeof(ModeloProveedor))
            {
                lcl_catalogo = new CatalogoProveedores();
            }
            else if (T == typeof(ModeloPersonas))
            {
                lcl_catalogo = new CatalogoPersonas();
            }
            else
            {
                lcl_catalogo = new CatalogoEntidades();
            }

            if (!this.validarExistencia(p_mod_entidad))
            {
                return(false);
            }
            bool respuesta = false;

            errorActual = "No se ha podido realizar la modificación.";
            try
            {
                ModeloEntidad lcl_m = lcl_catalogo.getOne(p_mod_entidad.codigo);
                if (lcl_m == null)//en el caso que no exista la entidad que se esta buscando
                {
                    errorActual = "Ha surgido un error inesperado";
                    return(false);
                }
                using (TransactionScope scope = new TransactionScope())
                {
                    respuesta = lcl_catalogo.update(lcl_m, p_mod_entidad);
                    scope.Complete();
                }
            }
            catch (TransactionAbortedException ex)
            {
                errorActual = "TransactionAbortedException Message: " + ex.Message;
            }
            catch (ApplicationException ex)
            {
                errorActual = "ApplicationException Message: " + ex.Message;
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                errorActual = "SQLexception Message: " + ex.Message;
            }
            catch (Exception ex)
            {
                errorActual = ex.Message;
            }
            return(respuesta);
        }
示例#17
0
        public bool eliminar(ModeloEntidad p_mod_entidad)
        {
            Type T = p_mod_entidad.GetType();
            CatalogoEntidades lcl_catalogo;

            if (T == typeof(ModeloCliente))
            {
                lcl_catalogo = new CatalogoClientes();
            }
            else if (T == typeof(ModeloUsuario))
            {
                lcl_catalogo = new CatalogoUsuarios();
            }
            else if (T == typeof(ModeloContactoProveedor))
            {
                lcl_catalogo = new CatalogoContactoProveedores();
            }
            else if (T == typeof(ModeloProveedor))
            {
                lcl_catalogo = new CatalogoProveedores();
            }
            else if (T == typeof(ModeloPersonas))
            {
                lcl_catalogo = new CatalogoPersonas();
            }
            else
            {
                lcl_catalogo = new CatalogoEntidades();
            }
            bool respuesta = false;

            errorActual = "No se ha podido realizar la eliminación.";
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    respuesta = lcl_catalogo.remove(p_mod_entidad);
                    scope.Complete();
                }
            }
            catch (TransactionAbortedException ex)
            {
                errorActual = "TransactionAbortedException Message: " + ex.Message;
            }
            catch (ApplicationException ex)
            {
                errorActual = "ApplicationException Message: " + ex.Message;
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                switch (ex.Number)
                {
                case 547:
                    if (T == typeof(ModeloCliente))
                    {
                        errorActual = "No es posible eliminar cliente ya que tiene pedidos asociados.";
                    }
                    else if (T == typeof(ModeloContactoProveedor))
                    {
                        errorActual = "No es posible eliminar contacto de proveedor ya que tiene pedidos asociados.";
                    }
                    else if (T == typeof(ModeloProveedor))
                    {
                        errorActual = "No es posible eliminar proveedor ya que tiene artículos asociados.";
                    }
                    else
                    {
                        errorActual = "No es posible realizar la eliminación.";
                    }

                    break;

                default:
                    errorActual = "SQLexception Message: " + ex.Message;
                    break;
                }
            }
            catch (Exception ex)
            {
                errorActual = ex.Message;
            }
            return(respuesta);
        }
示例#18
0
        /// <summary>
        /// Se comunica con la capa de datos para realizar INSERT en la base de datos. Acepta modeloEntidad o cualquiera de sus descendientes.
        /// </summary>
        /// <param name="p_mod_entidad"></param>
        /// <returns>true si se ha insertado, false y excepción si ha habido fallo</returns>
        public bool agregar(ModeloEntidad p_mod_entidad)
        {
            Type T = p_mod_entidad.GetType();
            CatalogoEntidades lcl_catalogo;

            if (T == typeof(ModeloCliente))
            {
                lcl_catalogo = new CatalogoClientes();
            }
            else if (T == typeof(ModeloUsuario))
            {
                lcl_catalogo = new CatalogoUsuarios();
            }
            else if (T == typeof(ModeloContactoProveedor))
            {
                lcl_catalogo = new CatalogoContactoProveedores();
            }
            else if (T == typeof(ModeloProveedor))
            {
                lcl_catalogo = new CatalogoProveedores();
            }
            else if (T == typeof(ModeloPersonas))
            {
                lcl_catalogo = new CatalogoPersonas();
            }
            else
            {
                lcl_catalogo = new CatalogoEntidades();
            }
            if (!this.validarExistencia(p_mod_entidad))
            {
                return(false);
            }
            bool respuesta = false;

            //errorActual = "No se ha podido realizar al operación.";
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    respuesta = lcl_catalogo.add(ref p_mod_entidad);
                    scope.Complete();
                }
            }
            catch (TransactionAbortedException ex)
            {
                errorActual = "TransactionAbortedException Message: " + ex.Message;
            }
            catch (ApplicationException ex)
            {
                errorActual = "ApplicationException Message: " + ex.Message;
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                errorActual = "SQLexception Message: " + ex.Message;
            }
            catch (Exception ex)
            {
                errorActual = ex.Message;
            }
            return(respuesta);
        }