コード例 #1
0
        //Buscar empresa por más que esté inactiva
        public Empresa BuscarEmpresaTodos(int codEmp, Usuario usuLogueado)
        {
            Conexion      con        = new Conexion();
            SqlConnection cnn        = new SqlConnection(con.cnnUsu(usuLogueado));
            Empresa       unaEmpresa = null;

            SqlCommand cmd = new SqlCommand("BuscarEmpresaTodos", cnn);

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@codEmpresa", codEmp);

            try
            {
                cnn.Open();
                SqlDataReader lector = cmd.ExecuteReader();
                if (lector.HasRows)
                {
                    lector.Read();
                    unaEmpresa = new Empresa((int)lector["codEmpresa"], (string)lector["rut"], (string)lector["dirFiscal"], (string)lector["telefono"]);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                cnn.Close();
            }
            return(unaEmpresa);
        }
コード例 #2
0
        //Altar usuario Gerente
        public void AltaGerente(Gerente unGerente, Usuario usuLogueado)
        {
            Conexion      con = new Conexion();
            SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado));

            SqlCommand cmd = new SqlCommand("AltaGerente", cnn);

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@cedula", unGerente.Cedula);
            cmd.Parameters.AddWithValue("@nomUsu", unGerente.NomUsu);
            cmd.Parameters.AddWithValue("@pass", unGerente.Pass);
            cmd.Parameters.AddWithValue("@nomCompleto", unGerente.NomCompleto);

            cmd.Parameters.AddWithValue("@correo", unGerente.Correo);

            SqlParameter retorno = new SqlParameter("@Retorno", SqlDbType.Int);

            retorno.Direction = ParameterDirection.ReturnValue;
            cmd.Parameters.Add(retorno);


            try
            {
                cnn.Open();
                cmd.ExecuteNonQuery();
                if ((int)retorno.Value == -1)
                {
                    throw new Exception("La cedula ingresada ya existe en el sistema.");
                }
                if ((int)retorno.Value == -2)
                {
                    throw new Exception("La cedula ingresada ya existe como Gerente");
                }
                if ((int)retorno.Value == -3 || (int)retorno.Value == -4)
                {
                    throw new Exception("Error al crear usuario");
                }
                if ((int)retorno.Value == -5)
                {
                    throw new Exception("Error al crear el usuario de Servidor");
                }
                if ((int)retorno.Value == -6)
                {
                    throw new Exception("Error al crear el usuario de Base de datos");
                }
                if ((int)retorno.Value == -7 || (int)retorno.Value == -8)
                {
                    throw new Exception("Error al asignar permisos");
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                cnn.Close();
            }
        }
コード例 #3
0
        //Buscar cajero por más que esté desactivado
        public Cajero BuscarCajeroTodos(int cedula, Usuario usuLogueado)
        {
            Conexion      con = new Conexion();
            SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado));

            Cajero unCajero = null;

            SqlCommand cmd = new SqlCommand("BuscarCajeroTodos", cnn);

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@cedula", cedula);

            try
            {
                cnn.Open();
                SqlDataReader lector = cmd.ExecuteReader();
                if (lector.HasRows)
                {
                    lector.Read();
                    unCajero = new Cajero((int)lector["cedula"], (string)lector["nomUsu"], (string)lector["pass"], (string)lector["nomCompleto"], Convert.ToDateTime(lector["horaIni"]), Convert.ToDateTime(lector["horaFin"]));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                cnn.Close();
            }
            return(unCajero);
        }
コード例 #4
0
        //Buscar usuario Gerente
        public Gerente BuscarGerente(int cedula, Usuario usuLogueado)
        {
            Conexion      con = new Conexion();
            SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado));

            Gerente unGerente = null;

            SqlCommand cmd = new SqlCommand("BuscarGerente", cnn);

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@cedula", cedula);

            try
            {
                cnn.Open();
                SqlDataReader lector = cmd.ExecuteReader();
                if (lector.HasRows)
                {
                    lector.Read();
                    unGerente = new Gerente((int)lector["cedula"], (string)lector["nomUsu"], (string)lector["pass"], (string)lector["nomCompleto"], (string)lector["Correo"]);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                cnn.Close();
            }
            return(unGerente);
        }
コード例 #5
0
        //Dar de baja un cajero
        public void BajaCajero(Cajero unCajero, Usuario usuLogueado)
        {
            Conexion      con = new Conexion();
            SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado));

            SqlCommand cmd = new SqlCommand("BajaCajero", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@cedula", unCajero.Cedula);

            SqlParameter retorno = new SqlParameter("@Retorno", SqlDbType.Int);

            retorno.Direction = ParameterDirection.ReturnValue;
            cmd.Parameters.Add(retorno);

            try
            {
                cnn.Open();
                cmd.ExecuteNonQuery();
                if ((int)retorno.Value == -1)
                {
                    throw new Exception("La cedula no existe.");
                }
                if ((int)retorno.Value == -2)
                {
                    throw new Exception("La cedula pertenece a un Usuario tipo Gerente");
                }
                if ((int)retorno.Value == -3)
                {
                    throw new Exception("Error al eliminar horas extras del usuario");
                }
                if ((int)retorno.Value == -4)
                {
                    throw new Exception("Error al eliminar el usuario de acceso al servidor");
                }
                if ((int)retorno.Value == -5)
                {
                    throw new Exception("Error al eliminar el usuario de acceso a Base de datos ");
                }
                if ((int)retorno.Value == -6)
                {
                    throw new Exception("Error al dar de baja el usuario");
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                cnn.Close();
            }
        }
コード例 #6
0
        //Listar Todas Las facturas, todos los contratos y todas las empresas
        internal static List <Factura> ListarFacturaTodos(int pIdPago, Usuario usuLogueado)
        {
            Conexion      con = new Conexion();
            SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado));
            SqlCommand    cmd = new SqlCommand("CargarFacturaDeUnPago", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@idPago", pIdPago);

            List <Factura> _ListaFacturas = new List <Factura>();
            int            codCli;
            DateTime       fechaVto;
            int            monto;
            int            codEmpresa;
            int            codContrato;
            int            idPago;

            try
            {
                cnn.Open();

                SqlDataReader _lector = cmd.ExecuteReader();

                if (_lector.HasRows)
                {
                    while (_lector.Read())
                    {
                        idPago      = (int)_lector["idPago"];
                        codContrato = (int)_lector["codContrato"];
                        codEmpresa  = (int)_lector["codEmp"];
                        monto       = (int)_lector["monto"];
                        codCli      = Convert.ToInt32(_lector["codCli"]);
                        fechaVto    = (DateTime)_lector["fechaVto"];

                        Factura fac = new Factura(monto, codCli, fechaVto, TipoContratoPersistencia.GetInstancia().BuscarContratoTodos(codEmpresa, codContrato, usuLogueado));
                        _ListaFacturas.Add(fac);
                    }
                }
                _lector.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                cnn.Close();
            }

            return(_ListaFacturas);
        }
コード例 #7
0
        //Cambiar Contraseña
        public void CambioPass(Usuario unGerente, Usuario usuLogueado)
        {
            Conexion      con = new Conexion();
            SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado));

            SqlCommand cmd = new SqlCommand("CambioPass", cnn);

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@cedula", unGerente.Cedula);
            cmd.Parameters.AddWithValue("@antiguaPass", usuLogueado.Pass);
            cmd.Parameters.AddWithValue("@nuevaPass", unGerente.Pass);
            cmd.Parameters.AddWithValue("@nomUsu", usuLogueado.NomUsu);

            SqlParameter retorno = new SqlParameter("@Retorno", SqlDbType.Int);

            retorno.Direction = ParameterDirection.ReturnValue;
            cmd.Parameters.Add(retorno);

            try
            {
                cnn.Open();
                cmd.ExecuteNonQuery();
                if ((int)retorno.Value == -1)
                {
                    throw new Exception("La cedula no existe.");
                }
                if ((int)retorno.Value == -2)
                {
                    throw new Exception("La cedula pertenece a un usuario inactivo.");
                }
                if ((int)retorno.Value == -3)
                {
                    throw new Exception("Error al actualizar el usuario");
                }
                if ((int)retorno.Value == -4)
                {
                    throw new Exception("Error al actualizar contraseña en servidor");
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                cnn.Close();
            }
        }
コード例 #8
0
        public void AltaTipoContrato(TipoContrato unTipoContrato, Usuario usuLogueado)
        {
            Conexion      con = new Conexion();
            SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado));

            SqlCommand cmd = new SqlCommand("AltaTipoContrato", cnn);

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@codContrato", unTipoContrato.CodContrato);
            cmd.Parameters.AddWithValue("@codEmp", unTipoContrato.UnaEmp.Codigo);
            cmd.Parameters.AddWithValue("@nombre", unTipoContrato.Nombre);

            SqlParameter retorno = new SqlParameter("@Retorno", SqlDbType.Int);

            retorno.Direction = ParameterDirection.ReturnValue;
            cmd.Parameters.Add(retorno);

            try
            {
                cnn.Open();
                cmd.ExecuteNonQuery();
                if ((int)retorno.Value == -1)
                {
                    throw new Exception("No existe la empresa");
                }
                else if ((int)retorno.Value == -2)
                {
                    throw new Exception("La empresa esta inactiva");
                }
                else if ((int)retorno.Value == -3)
                {
                    throw new Exception("Ya existe el Tipo de Contrato");
                }
                else if ((int)retorno.Value == -4)
                {
                    throw new Exception("Error en la base de datos");
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                cnn.Close();
            }
        }
コード例 #9
0
        //Modificar una empresa
        public void ModificarEmpresa(Empresa unaEmpresa, Usuario usuLogueado)
        {
            Conexion      con = new Conexion();
            SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado));

            SqlCommand cmd = new SqlCommand("ModificarEmpresa", cnn);

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@codEmp", unaEmpresa.Codigo);
            cmd.Parameters.AddWithValue("@rut", unaEmpresa.Rut);
            cmd.Parameters.AddWithValue("@direccion", unaEmpresa.DirFiscal);
            cmd.Parameters.AddWithValue("@telefono", unaEmpresa.Telefono);


            SqlParameter retorno = new SqlParameter("@Retorno", SqlDbType.Int);

            retorno.Direction = ParameterDirection.ReturnValue;
            cmd.Parameters.Add(retorno);

            try
            {
                cnn.Open();
                cmd.ExecuteNonQuery();
                if ((int)retorno.Value == -1)
                {
                    throw new Exception("La Empresa no existe");
                }
                else if ((int)retorno.Value == -2)
                {
                    throw new Exception("La empresa esta inactiva");
                }
                else if ((int)retorno.Value == -3)
                {
                    throw new Exception("Errero en la base de datos");
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                cnn.Close();
            }
        }
コード例 #10
0
        //Cargar Facturas
        internal static List <Factura> CargoFactura(int pIdPago, int codEmp, int codTipoContrato, Usuario usuLogueado)
        {
            Conexion      con  = new Conexion();
            SqlConnection _cnn = new SqlConnection(con.cnnUsu(usuLogueado));


            SqlCommand comando = new SqlCommand("CargarFacturaDeUnPago", _cnn);

            comando.CommandType = CommandType.StoredProcedure;
            comando.Parameters.AddWithValue("@idPago", pIdPago);

            List <Factura> _ListaFacturas = new List <Factura>();

            try
            {
                _cnn.Open();

                SqlDataReader _lector = comando.ExecuteReader();

                if (_lector.HasRows)
                {
                    while (_lector.Read())
                    {
                        Factura fac = new Factura();

                        fac.FechaVto       = (DateTime)_lector["fechaVto"];
                        fac.CodCli         = (int)_lector["codCli"];
                        fac.Monto          = (int)_lector["monto"];
                        fac.UnTipoContrato = TipoContratoPersistencia.GetInstancia().BuscarContrato(codEmp, codTipoContrato, usuLogueado);

                        _ListaFacturas.Add(fac);
                    }
                }
                _lector.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                _cnn.Close();
            }

            return(_ListaFacturas);
        }
コード例 #11
0
        //Modificar un cajero
        public void ModificarCajero(Cajero unCajero, Usuario usuLogueado)
        {
            Conexion      con = new Conexion();
            SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado));

            SqlCommand cmd = new SqlCommand("ModificarCajero", cnn);

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@cedula", unCajero.Cedula);
            cmd.Parameters.AddWithValue("@nomCompleto", unCajero.NomCompleto);

            cmd.Parameters.AddWithValue("@horaini", unCajero.HoranIni);
            cmd.Parameters.AddWithValue("@horaFin", unCajero.HoranFin);

            SqlParameter retorno = new SqlParameter("@Retorno", SqlDbType.Int);

            retorno.Direction = ParameterDirection.ReturnValue;
            cmd.Parameters.Add(retorno);

            try
            {
                cnn.Open();
                cmd.ExecuteNonQuery();
                if ((int)retorno.Value == -1)
                {
                    throw new Exception("La cedula no existe.");
                }
                if ((int)retorno.Value == -2)
                {
                    throw new Exception("La cedula ingresada ya existe como Gerente");
                }
                if ((int)retorno.Value == -3)
                {
                    throw new Exception("Error al modificar usuario");
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                cnn.Close();
            }
        }
コード例 #12
0
        //Listar Pagos
        public List <Pago> listar(Usuario usuLogueado)
        {
            Conexion      con = new Conexion();
            SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado));

            SqlCommand    cmd = new SqlCommand("ListarPagos", cnn);
            SqlDataReader lector;

            List <Pago> lista = new List <Pago>();
            int         idPago;
            DateTime    fecha;
            // Cajero unCajero;
            int monto;
            int codCajero;

            try
            {
                cnn.Open();
                lector = cmd.ExecuteReader();

                while (lector.Read())
                {
                    idPago    = (int)lector["numeroInt"];
                    fecha     = (DateTime)lector["fecha"];
                    codCajero = (int)lector["cedulaCajero"];
                    monto     = (int)lector["montoTotal"];

                    Pago unPago = new Pago(idPago, fecha, monto, CajeroPersistencia.GetInstancia().BuscarCajeroTodos(codCajero, usuLogueado), FacturaPersistencia.ListarFacturaTodos(idPago, usuLogueado));
                    lista.Add(unPago);
                }
                lector.Close();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                cnn.Close();
            }

            return(lista);
        }
コード例 #13
0
        //Bajar una empresa
        public void BajaEmpresa(Empresa unaEmpresa, Usuario usuLogueado)
        {
            Conexion      con = new Conexion();
            SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado));

            SqlCommand cmd = new SqlCommand("BajaEmpresa", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@codEmp", unaEmpresa.Codigo);

            SqlParameter retorno = new SqlParameter("@Retorno", SqlDbType.Int);

            retorno.Direction = ParameterDirection.ReturnValue;
            cmd.Parameters.Add(retorno);

            try
            {
                cnn.Open();
                cmd.ExecuteNonQuery();
                if ((int)retorno.Value == -1)
                {
                    throw new Exception("La empresa no existe");
                }
                if ((int)retorno.Value == -2)
                {
                    throw new Exception("Error al desactivar Tipo de Contrato y/o Empresa");
                }
                if ((int)retorno.Value == -3)
                {
                    throw new Exception("Error al eliminar Tipo de Contrato y/o Empresa");
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                cnn.Close();
            }
        }
コード例 #14
0
        public TipoContrato BuscarContratoTodos(int codEmp, int codTipoContrato, Usuario usuLogueado)
        {
            Conexion      con = new Conexion();
            SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado));

            TipoContrato unContrato = null;

            SqlCommand cmd = new SqlCommand("BuscarContratoTodos", cnn);

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@codEmp", codEmp);
            cmd.Parameters.AddWithValue("@codContrato", codTipoContrato);

            try
            {
                cnn.Open();
                SqlDataReader lector = cmd.ExecuteReader();
                if (lector.HasRows)
                {
                    lector.Read();
                    Empresa emp = new Empresa();
                    emp        = EmpresaPersistencia.GetInstancia().BuscarEmpresaTodos((int)lector["codEmp"], usuLogueado);
                    unContrato = new TipoContrato(emp, (int)lector["codContrato"], (string)lector["nombre"]);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                cnn.Close();
            }
            return(unContrato);
        }
コード例 #15
0
        //Altar pago
        public void AltaPago(Pago unPago, Usuario usuLogueado)
        {
            Conexion      con = new Conexion();
            SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado));

            SqlCommand oComando = new SqlCommand("AltaPago", cnn);

            oComando.CommandType = CommandType.StoredProcedure;

            SqlParameter _Fecha        = new SqlParameter("@fecha", unPago.Fecha);
            SqlParameter _MontoTotal   = new SqlParameter("@montoTotal", unPago.MontoTotal);
            SqlParameter _CedulaCajero = new SqlParameter("@cedulaCajero", unPago.UsuCajero.Cedula);
            SqlParameter _Retorno      = new SqlParameter("@Retorno", SqlDbType.Int);

            _Retorno.Direction = ParameterDirection.ReturnValue;

            oComando.Parameters.Add(_Fecha);
            oComando.Parameters.Add(_MontoTotal);
            oComando.Parameters.Add(_CedulaCajero);
            oComando.Parameters.Add("@numInterno", SqlDbType.Int).Direction = ParameterDirection.Output;
            oComando.Parameters.Add(_Retorno);

            int            afectados      = -1;
            SqlTransaction _miTransaccion = null;

            try
            {
                //conecto a la bd
                cnn.Open();

                //determino que voy a trabajar en una unica transaccion
                _miTransaccion = cnn.BeginTransaction();

                //ejecuto comando de alta del servicio en la transaccion
                oComando.Transaction = _miTransaccion;
                oComando.ExecuteNonQuery();

                //verifico si hay errores
                afectados = (int)oComando.Parameters["@Retorno"].Value;
                if (afectados == -1)
                {
                    throw new Exception("No existe el cajero");
                }
                else if (afectados == -3)
                {
                    throw new Exception("El Cajero no está activo");
                }
                else if (afectados == -2)
                {
                    throw new Exception("Error en la base de datos al insertar pago");
                }

                //Obtengo id de pago
                int idPago = Convert.ToInt32(oComando.Parameters["@numInterno"].Value.ToString());

                //si llego hasta aca es xq pude dar de alta el pago

                //genero alta para las facturas
                foreach (Factura unaFactura in unPago.LasFacturas)
                {
                    FacturaPersistencia.AgregarFactura(idPago, unaFactura.UnTipoContrato.CodContrato, unaFactura.UnTipoContrato.UnaEmp.Codigo, unaFactura.Monto, unaFactura.CodCli, unaFactura.FechaVto, _miTransaccion);
                }

                //si llegue aca es xq no hubo problemas con las facturas
                _miTransaccion.Commit();
            }

            catch (Exception ex)
            {
                _miTransaccion.Rollback();
                throw ex;
            }

            finally
            {
                cnn.Close();
            }
        }
コード例 #16
0
        //Altar un cajero
        public void AltaCajero(Cajero unCajero, Usuario usuLogueado)
        {
            Conexion      con = new Conexion();
            SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado));

            SqlCommand cmd = new SqlCommand("AltaCajero", cnn);

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@cedula", unCajero.Cedula);
            cmd.Parameters.AddWithValue("@nomUsu", unCajero.NomUsu);
            cmd.Parameters.AddWithValue("@pass", unCajero.Pass);
            cmd.Parameters.AddWithValue("@nomCompleto", unCajero.NomCompleto);

            cmd.Parameters.AddWithValue("@horaini", unCajero.HoranIni);
            cmd.Parameters.AddWithValue("@horaFin", unCajero.HoranFin);

            SqlParameter retorno = new SqlParameter("@Retorno", SqlDbType.Int);

            retorno.Direction = ParameterDirection.ReturnValue;
            cmd.Parameters.Add(retorno);

            try
            {
                cnn.Open();
                cmd.ExecuteNonQuery();
                if ((int)retorno.Value == -1)
                {
                    throw new Exception("La cedula ingresada ya existe en el sistema.");
                }
                if ((int)retorno.Value == -2)
                {
                    throw new Exception("La cedula ingresada pertenece a un cajero");
                }
                if ((int)retorno.Value == -3 || (int)retorno.Value == -4)
                {
                    throw new Exception("Error al actualizar usuario inactivo");
                }
                if ((int)retorno.Value == -5)
                {
                    throw new Exception("Error al crear el usuario de servidor");
                }
                if ((int)retorno.Value == -6)
                {
                    throw new Exception("Error al crear el usuario de Base de datos");
                }
                if ((int)retorno.Value == -7)
                {
                    throw new Exception("Error al asignar permisos");
                }
                if ((int)retorno.Value == -8)
                {
                    throw new Exception("Error al crear el usuario");
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                cnn.Close();
            }
        }