コード例 #1
0
        public String ElaborarContrato(int id_requerimiento, int id_solicitud, int id_empresa, int id_centro_Costo, int id_sub_cc, String ciudad,
            int ID_SERVICIO_RESPECTIVO, int servicio, int id_ARP, int id_caja_c, int id_EPS, int id_Pensiones, Decimal riesgo, String pensionado,
            String Clase_Contrato, String Tipo_Contrato, String Tipo_Pago, DateTime fecha_Inicia, DateTime fecha_termina, String sal_int,
            Decimal Salario, String vigente, String activo, String liquidado, String pago_Liquidacion, int id_entidad, String Num_Cuenta, String Forma_pago,
            String PAGO_DIAS_PRODUCTIVIDAD, String SENA_PRODICTIVO, String SENA_ELECTIVO, String PRACTICANTE_UNIVERSITARIO, Decimal VALOR_NOMINA, Decimal VALOR_CONTRATO,
            DateTime FECHA_INICIO_PERIODO, DateTime FECHA_FIN_PERIODO, String Periodo_Pago, String tipo_Cuenta, string descripcion_salario, decimal idPerfil)
        {
            String datosG = "";
            int id_perfil = 0;
            Conexion conexion = new Conexion(Empresa);
            conexion.IniciarTransaccion();

            try
            {
                requisicion _req = new requisicion(Empresa, Usuario);
                DataTable tablaReq = _req.ObtenerComRequerimientoPorIdRequerimiento(Convert.ToDecimal(id_requerimiento), conexion);

                DataRow filaReq = tablaReq.Rows[0];
                id_perfil = Convert.ToInt32(filaReq["REGISTRO_PERFIL"].ToString());
                usuario _empleado = new usuario(Empresa);
                radicacionHojasDeVida _sol = new radicacionHojasDeVida(Empresa, Usuario);

                Decimal idEmpleado = _empleado.AdicionarNomEmpleados(0, id_solicitud, id_empresa, id_centro_Costo, id_sub_cc, fecha_Inicia, Salario,
                    pensionado, activo, liquidado, riesgo, id_ARP, id_caja_c, id_EPS, id_Pensiones, "C", id_entidad, Num_Cuenta, sal_int, ciudad, id_perfil, tipo_Cuenta, descripcion_salario, Forma_pago, conexion);

                if (idEmpleado <= 0)
                {
                    _mensaje_error = "\n El empleado no fue creado, " + _empleado.MensajeError;
                    conexion.DeshacerTransaccion();
                }
                else
                {
                    registroContrato _contrato = new registroContrato(Empresa, Usuario);

                    Decimal id_Contrato = 0;
                    /* revisado por cambio en riesgo */
                    id_Contrato = _contrato.AdicionarConRegContratos(Convert.ToInt32(idEmpleado), id_requerimiento, id_solicitud, id_centro_Costo,
                        id_sub_cc, Clase_Contrato, fecha_Inicia, fecha_termina, vigente, pago_Liquidacion, sal_int, Tipo_Contrato,
                        ID_SERVICIO_RESPECTIVO, ciudad, servicio, conexion, PAGO_DIAS_PRODUCTIVIDAD, SENA_PRODICTIVO, SENA_ELECTIVO, PRACTICANTE_UNIVERSITARIO,
                        VALOR_NOMINA, VALOR_CONTRATO, FECHA_INICIO_PERIODO, FECHA_FIN_PERIODO, Periodo_Pago);

                    if (String.IsNullOrEmpty(_contrato.MensajeError))
                    {
                        _empleado.ActualizarNomEmpleados(Convert.ToInt32(idEmpleado), Convert.ToInt32(id_Contrato), id_solicitud, id_empresa, id_centro_Costo, id_sub_cc, fecha_Inicia, Salario,
                        pensionado, activo, liquidado, riesgo, id_ARP, id_caja_c, id_EPS, id_Pensiones, "C", id_entidad, Num_Cuenta, sal_int, ciudad, id_perfil, Forma_pago, conexion);

                        if (String.IsNullOrEmpty(_empleado.MensajeError))
                        {

                            if (_sol.ActualizarEstadoProcesoRegSolicitudesIngreso(id_requerimiento, id_solicitud, "CONTRATADO", Usuario, conexion))
                            {
                                if (_sol.ActualizarEstadoRegSolicitudesIngreso(id_requerimiento, id_solicitud, "CONTRATADO", conexion))
                                {
                                    datosG = id_Contrato + "," + idEmpleado;

                                    try
                                    {
                                        conexion.ExecuteNonQuery("usp_ESC_CRT_ENTREGAS_SC_adicionar " + idEmpleado + ", '" + Usuario + "'");
                                        conexion.ExecuteNonQuery("usp_empleado_clausulas_contratar " + idEmpleado + ", " + idPerfil + ", '" + Usuario + "'");

                                        Int32 requerimientoActualizado = Convert.ToInt32(conexion.ExecuteScalar("usp_comprobar_cierre_requisicion_por_sistema " + id_requerimiento.ToString() + ", '" + Usuario + "'"));

                                        if (requerimientoActualizado <= 0)
                                        {
                                            conexion.DeshacerTransaccion();
                                            MensajeError = "El empleado no fue creado, Ocurrio un error al momento de determinar si la requisición debe ser cuplida por sistema.";
                                        }
                                        else
                                        {
                                            conexion.AceptarTransaccion();
                                        }
                                    }
                                    catch
                                    {
                                        _mensaje_error += "\n No fue posible registrar los servicios complementarios o clausulas para el perfil contratado " + _sol.MensajeError;
                                        conexion.AceptarTransaccion();
                                    }
                                }
                                else
                                {
                                    _mensaje_error += "\n No fue posible actualizar el estado de la solicitud: " + _sol.MensajeError;
                                    conexion.DeshacerTransaccion();
                                }
                            }
                            else
                            {
                                _mensaje_error += "\n No fue posible actualizar el estado del proceso de la soliciutd: " + _sol.MensajeError;
                                conexion.DeshacerTransaccion();
                            }

                        }
                        else
                        {
                            _mensaje_error += "\n Se presentó el siguiente error en la actualización del empleado: " + _empleado.MensajeError;
                            conexion.DeshacerTransaccion();
                        }
                    }
                    else
                    {
                        _mensaje_error += "\n Se presentó el siguiente error en la creación del contrato: " + _contrato.MensajeError;
                        conexion.DeshacerTransaccion();
                    }
                }
            }
            catch (Exception e)
            {
                MensajeError = e.Message;
                conexion.DeshacerTransaccion();
            }
            finally
            {
                conexion.Desconectar();
            }

            return datosG;
        }
コード例 #2
0
        protected void Button_ACEPTAR_Click(object sender, EventArgs e)
        {
            Decimal ID_EMPRESA;

            Boolean verificador = true;

            Session.Add("idEmpresa", "1");

            ID_EMPRESA = 1;

            if (verificador == true)
            {
                String LOGON_USER = Request.ServerVariables["LOGON_USER"].ToString();
                String REMOTE_USER = Request.ServerVariables["REMOTE_USER"].ToString();
                String LOCAL_ADDR = Request.ServerVariables["LOCAL_ADDR"].ToString();
                String REMOTE_ADDR = Request.ServerVariables["REMOTE_ADDR"].ToString();
                String REMOTE_HOST = Request.ServerVariables["REMOTE_HOST"].ToString();
                String HTTP_USER_AGENT = Request.ServerVariables["HTTP_USER_AGENT"].ToString();

                usuario usuario = new usuario(ID_EMPRESA.ToString());

                if (usuario.IniciarSesion(TextBox_NombreUsuario.Text, TextBox_Pasword.Text, LOGON_USER, REMOTE_USER, LOCAL_ADDR, REMOTE_ADDR, REMOTE_HOST, HTTP_USER_AGENT) == false)
                {
                    String[] mensajeError = usuario.MensajeError.Split(':');
                    if (mensajeError[0] == "8")
                    {
                        Ocultar(Acciones.Inicio);
                        Mostrar(Acciones.CambioPassword);
                        Cargar(Acciones.CambioPassword);

                        //Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, mensajeError[1], Proceso.Advertencia);
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "openpopup();", true);
                    }
                    else
                    {
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "openpopup();", true);
                        //Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, mensajeError[1], Proceso.Error);
                    }
                }
                else
                {
                    Session.Remove("USU_LOG");
                    Session.Remove("USU_ID");
                    Session.Remove("USU_TIPO");
                    Session.Add("USU_LOG", TextBox_NombreUsuario.Text);
                    Session.Add("USU_TIPO", usuario.TipoUsuario);
                    Session.Remove("NOM_EMPLEADO");
                    Session.Add("NOM_EMPLEADO", usuario.NombreUsuario);

                    if (usuario.TipoUsuario == "PUBLICO")
                    {
                        tools _tools = new tools();
                        SecureQueryString QueryStringSeguro_seleccion;
                        QueryStringSeguro_seleccion = new SecureQueryString(_tools.byteParaQueryStringSeguro());

                        QueryStringSeguro_seleccion["img_area"] = "seleccion";
                        QueryStringSeguro_seleccion["nombre_area"] = "RECLUTAMIENTO, SELECCIÓN Y REQUISICIONES";
                        QueryStringSeguro_seleccion["nombre_modulo"] = "HOJA TRABAJO SELECCIÓN";
                        QueryStringSeguro_seleccion["accion"] = "inicial";

                        Response.Redirect("~/seleccionCliente/hojaTrabajoSeleccion.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro_seleccion.ToString()));
                    }
                    else
                    {
                        EnviarNotificaciones();
                        //Response.Redirect("~/areas/areas.aspx");
                        Response.Redirect("~/WebForms/MenuPrincipal.aspx");
                    }
                }
            }
        }
コード例 #3
0
        public Decimal guardarCierreInventario(DateTime FECHA_INICIO, DateTime FECHA_FIN)
        {
            Decimal idCierre = 0;
            Decimal idDetalle = 0;
            int idCierreActivo = 0;
            DataTable tablaCierres = new DataTable();
            Boolean correcto = true;
            bool ejecuta;

            Conexion _dates = new Conexion(Empresa);
            _dates.IniciarTransaccion();

            try
            {

                if (FECHA_INICIO < FECHA_FIN)
                {
                    MensajeError = null;
                    tablaCierres = ObtenerInvCierreTodos(_dates);

                    if (MensajeError != null)
                    {
                        correcto = false;
                        ejecuta = false;
                        _dates.DeshacerTransaccion();
                    }
                    else
                    {
                        if (tablaCierres.Rows.Count == 0)
                        {
                            if (FECHA_FIN <= System.DateTime.Today)
                            {
                                ejecuta = true;
                            }
                            else
                            {
                                ejecuta = false;
                                correcto = false;
                                _dates.DeshacerTransaccion();
                                MensajeError += "La fecha final no debe ser mayor a la fecha de hoy. Valide por favor";
                            }
                        }
                        else
                        {
                            DataRow filaCierres = tablaCierres.Rows[0];

                            DateTime FECHA_CORTE = Convert.ToDateTime(filaCierres["FECHA_CORTE"].ToString());
                            idCierreActivo = Convert.ToInt32(filaCierres["ID_CIERRE"].ToString());

                            if (FECHA_INICIO > FECHA_CORTE)
                            {
                                if (FECHA_FIN <= System.DateTime.Today)
                                {
                                    ejecuta = true;
                                }
                                else
                                {
                                    ejecuta = false;
                                    correcto = false;
                                    _dates.DeshacerTransaccion();
                                    MensajeError += "La fecha final no debe ser mayor a la fecha de hoy. Valide por favor";
                                }
                            }
                            else
                            {
                                MensajeError = "ADVERTENCIA: La fecha de inicio está contenida en el último cierre. Valide por favor.";
                                ejecuta = false;
                                correcto = false;
                                _dates.DeshacerTransaccion();
                            }
                        }
                    }
                }
                else
                {
                    MensajeError += "La fecha de fin debe ser mayor que la fecha de inicio. Valide por favor.";
                    correcto = false;
                    ejecuta = false;
                    _dates.DeshacerTransaccion();
                }

                if (ejecuta)
                {
                    Inventario _inventario = new Inventario(Empresa, Usuario);
                    DataTable tablaInventario = _inventario.ObtenerAlmInventarioPorPeriodo(FECHA_INICIO, FECHA_FIN, _dates);

                    if (_inventario.MensajeError != null)
                    {
                        ejecuta = false;
                        correcto = false;
                        MensajeError = _inventario.MensajeError;
                        _dates.DeshacerTransaccion();
                    }
                    else
                    {
                        DataTable tablaCierre = new DataTable();

                        tablaCierre.Columns.Add("ID_PRODUCTO", typeof(Decimal));
                        tablaCierre.Columns.Add("ID_BODEGA", typeof(Decimal));
                        tablaCierre.Columns.Add("TALLA", typeof(String));
                        tablaCierre.Columns.Add("CANTIDAD", typeof(Int32));
                        tablaCierre.Columns.Add("COSTO", typeof(Decimal));

                        if (idCierreActivo != 0)
                        {
                            DataTable tablaDetalles = ObtenerInvDetalleCierrePorIdCierre(idCierreActivo, _dates);

                            foreach (DataRow filac in tablaDetalles.Rows)
                            {
                                DataRow filan = tablaCierre.NewRow();

                                filan["ID_PRODUCTO"] = Convert.ToDecimal(filac["ID_PRODUCTO"]);
                                filan["ID_BODEGA"] = Convert.ToDecimal(filac["ID_BODEGA"]);
                                filan["TALLA"] = filac["TALLA"];
                                filan["CANTIDAD"] = Convert.ToInt32(filac["CANTIDAD_INVENTARIO"]);
                                filan["COSTO"] = Convert.ToDecimal(filac["COSTO_PROMEDIO"]);
                                tablaCierre.Rows.Add(filan);
                            }
                        }

                        DataRow filam;
                        usuario _usuario = new usuario(Empresa);
                        DataTable tablaUsuario = _usuario.ObtenerUsuarioPorUsuLog(Usuario, _dates);

                        if (_usuario.MensajeError != null)
                        {
                            ejecuta = false;
                            correcto = false;
                            MensajeError = _usuario.MensajeError;
                            _dates.DeshacerTransaccion();
                        }
                        else
                        {
                            DataRow filaUsuario = tablaUsuario.Rows[0];

                            /*
                             * ES MUY IMPORTANTE ESTO,
                             * EN LA UTLIMA REUNION SE DECLARO QUE EL BOTON DE CIERRE FISICO NO SERVIA
                             * POR LO TANTO AUTOMATICAMENTE EL ACREAR EL CIERRE DE UNA LO DEJAMOS EN ESTADO 'ACTIVO',
                             * ANTES SE GUARDABA EN ESTADO 'ABIERTO'
                            */
                            idCierre = AdicionarInvCierre(Convert.ToInt32(filaUsuario["ID_USUARIO"]), System.DateTime.Today, FECHA_FIN, FECHA_INICIO, "", "ACTIVO", _dates);

                            if (idCierre != 0)
                            {
                                foreach (DataRow fila in tablaInventario.Rows)
                                {
                                    if (tablaCierre.Rows.Count <= 0)
                                    {
                                        filam = tablaCierre.NewRow();

                                        filam["ID_PRODUCTO"] = fila["ID_PRODUCTO"];
                                        filam["ID_BODEGA"] = fila["ID_BODEGA"];
                                        filam["TALLA"] = fila["TALLA"];

                                        if (fila["MOVIMIENTO"].Equals("ENTRADA"))
                                        {
                                            filam["CANTIDAD"] = Convert.ToInt32(fila["CANTIDAD"]);
                                            filam["COSTO"] = Convert.ToDecimal(fila["COSTO"]);
                                        }
                                        else if (fila["MOVIMIENTO"].Equals("SALIDA"))
                                        {
                                            filam["CANTIDAD"] = -Convert.ToInt32(fila["CANTIDAD"]);
                                            filam["COSTO"] = 1;
                                        }

                                        tablaCierre.Rows.Add(filam);
                                    }
                                    else
                                    {

                                        DataRow[] filasCoinciden = tablaCierre.Select("ID_PRODUCTO = '" + fila["ID_PRODUCTO"].ToString() + "' AND ID_BODEGA = '" + fila["ID_BODEGA"].ToString() + "' AND TALLA = '" + fila["TALLA"].ToString() + "' AND COSTO = '" + fila["COSTO"].ToString() + "'");

                                        if (filasCoinciden.Length <= 0)
                                        {
                                            filam = tablaCierre.NewRow();

                                            filam["ID_PRODUCTO"] = fila["ID_PRODUCTO"];
                                            filam["ID_BODEGA"] = fila["ID_BODEGA"];
                                            filam["TALLA"] = fila["TALLA"];

                                            if (fila["MOVIMIENTO"].Equals("ENTRADA"))
                                            {
                                                filam["CANTIDAD"] = Convert.ToInt32(fila["CANTIDAD"]);
                                                filam["COSTO"] = Convert.ToDecimal(fila["COSTO"]);
                                            }
                                            else if (fila["MOVIMIENTO"].Equals("SALIDA"))
                                            {
                                                filam["CANTIDAD"] = -Convert.ToInt32(fila["CANTIDAD"]);
                                                filam["COSTO"] = 1;
                                            }

                                            tablaCierre.Rows.Add(filam);
                                        }
                                        else
                                        {
                                            DataRow filaCoincide = filasCoinciden[0];

                                            Decimal costoN = 0;
                                            Int32 cantidadN = 0;
                                            Decimal CostoA = 0;
                                            Int32 cantidadA = 0;

                                            if (!(String.IsNullOrEmpty(fila["CANTIDAD"].ToString())))
                                            {
                                                cantidadN = Convert.ToInt32(fila["CANTIDAD"]);
                                            }

                                            if (!(String.IsNullOrEmpty(fila["COSTO"].ToString())))
                                            {
                                                costoN = Convert.ToDecimal(fila["COSTO"]);
                                            }

                                            if (!(String.IsNullOrEmpty(filaCoincide["CANTIDAD"].ToString())))
                                            {
                                                cantidadA = Convert.ToInt32(filaCoincide["CANTIDAD"]);
                                            }

                                            if (!(String.IsNullOrEmpty(filaCoincide["COSTO"].ToString())))
                                            {
                                                CostoA = Convert.ToDecimal(filaCoincide["COSTO"]);
                                            }

                                            if (fila["MOVIMIENTO"].Equals("ENTRADA"))
                                            {
                                                filaCoincide["CANTIDAD"] = cantidadA + cantidadN;

                                                if (cantidadA < 0)
                                                {
                                                    cantidadA = cantidadA * (-1);
                                                }

                                                if (cantidadN < 0)
                                                {
                                                    cantidadN = cantidadN * (-1);
                                                }

                                                filaCoincide["COSTO"] = (((cantidadA * CostoA) + (cantidadN * costoN)) / (cantidadA + cantidadN));
                                            }
                                            else if (fila["MOVIMIENTO"].Equals("SALIDA"))
                                            {
                                                filaCoincide["CANTIDAD"] = cantidadA - cantidadN;
                                            }
                                        }
                                    }
                                }

                                if (correcto == true)
                                {

                                    int x = 0;

                                    if (tablaCierre.Rows.Count != 0)
                                    {
                                        foreach (DataRow filax in tablaCierre.Rows)
                                        {
                                            Decimal costo = 0;

                                            if (!(String.IsNullOrEmpty(filax["COSTO"].ToString())))
                                            {
                                                costo = Convert.ToDecimal(filax["COSTO"]);
                                            }

                                            /*
                                             * ACA TAMBIEN ES IMPORTANTE ACLARAR
                                             * QUE DESPUES DE LA ULTIMA REUNION EL BOTON DE CIERRE FISICO SE DEBIA QUITAR
                                             * ENTONCES LOS DETALLES DEL CIERRE DE UNA VEZ SE DEJAN EN ESTADO 'COMPLETADO'
                                             * ADEMAS EL VALOR DE LA  CANTIDAD FISICA SE DEJA IGUAL QUE LA CANTIDAD INVENTARIO
                                             * ANTES SE CREABA EL REGISTRO EN ESTADO 'ABIERTO' Y LA CANTIDAD FISICA EN CERO
                                             * PARA QUE DESPUES POR CIERRE FISICO SE VALIDARA DICHA CANTIDAD
                                             *
                                            */
                                            idDetalle = AdicionarInvDetalleCierre(Convert.ToInt32(idCierre), Convert.ToInt32(filax["ID_PRODUCTO"]), Convert.ToInt32(filax["CANTIDAD"]), Convert.ToInt32(filax["CANTIDAD"]), Convert.ToInt32(filax["ID_BODEGA"]), filax["TALLA"].ToString(), costo, "COMPLETADO", _dates);
                                            if (idDetalle != 0)
                                            {
                                                x++;
                                            }
                                            else
                                            {
                                                _dates.DeshacerTransaccion();
                                                correcto = false;
                                                ejecuta = false;
                                                idCierre = 0;
                                                break;
                                            }
                                        }
                                    }
                                    else
                                    {
                                        MensajeError += "No hay detalles en el cierre.";
                                        idCierre = 0;
                                        correcto = false;
                                        ejecuta = false;
                                        _dates.DeshacerTransaccion();
                                    }
                                }
                            }
                            else
                            {
                                _dates.DeshacerTransaccion();
                                correcto = false;
                                ejecuta = false;
                                idCierre = 0;
                            }
                        }
                    }
                }

                if (correcto == true)
                {
                    _dates.AceptarTransaccion();
                }
            }
            catch (Exception ex)
            {
                MensajeError = ex.Message;
                correcto = false;
                ejecuta = false;
                _dates.DeshacerTransaccion();
            }
            finally
            {
                _dates.Desconectar();
            }

            if (correcto == true)
            {
                return idCierre;
            }
            else
            {
                return 0;
            }
        }
コード例 #4
0
ファイル: usuario.cs プロジェクト: jquirogadesarrollador/Varu
        public Decimal AdicionarUsuarioSistema(String USU_LOG,
            String USU_PSW,
            String Usu_Obs,
            String USU_CRE,
            Decimal ID_EMPLEADO,
            String USU_MAIL,
            String USU_TIPO,
            Boolean usuExternoCreado,
            usuario usuarioExterno,
            String nivelAcceso,
            String nivelAccesoRegionales,
            List<UsuarioEmpresaCiudad> listaUsuarioEmpresasCiudades,
            Decimal ID_ROL,
            String ID_CIUDAD_TRABAJADOR,
            String NIVEL_ACCESO_EMPRESAS)
        {
            Decimal ID_USUARIO = 0;

            Boolean correcto = true;

            Conexion conexion = new Conexion(Empresa);
            conexion.IniciarTransaccion();

            try
            {
                if (USU_TIPO == "PLANTA")
                {
                    ID_USUARIO = AdicionarCrtUsuario(USU_LOG, USU_PSW, Usu_Obs, USU_CRE, ID_EMPLEADO, USU_MAIL, USU_TIPO, nivelAcceso, nivelAccesoRegionales, ID_ROL, ID_CIUDAD_TRABAJADOR, NIVEL_ACCESO_EMPRESAS, conexion);

                    if (ID_USUARIO <= 0)
                    {
                        conexion.DeshacerTransaccion();
                        ID_USUARIO = 0;
                        correcto = false;
                    }
                }
                else
                {
                    if (usuExternoCreado == true)
                    {
                        ID_USUARIO = AdicionarCrtUsuario(USU_LOG, USU_PSW, Usu_Obs, USU_CRE, ID_EMPLEADO, USU_MAIL, USU_TIPO, nivelAcceso, nivelAccesoRegionales, ID_ROL, ID_CIUDAD_TRABAJADOR, NIVEL_ACCESO_EMPRESAS, conexion);

                        if (ID_USUARIO <= 0)
                        {
                            conexion.DeshacerTransaccion();
                            ID_USUARIO = 0;
                            correcto = false;
                        }
                    }
                    else
                    {
                        ID_EMPLEADO = AdicionarCrtRegUsuariosNoPlanta(usuarioExterno.ApellidosExterno, usuarioExterno.NombresExterno, usuarioExterno.TipDocIdentidadExterno, usuarioExterno.NumDocIdentidadExterno, usuarioExterno.DireccionExterno, usuarioExterno.TelefonoExterno, usuarioExterno.CelularExterno, USU_CRE, conexion);

                        if (ID_EMPLEADO > 0)
                        {
                            ID_USUARIO = AdicionarCrtUsuario(USU_LOG, USU_PSW, Usu_Obs, USU_CRE, ID_EMPLEADO, USU_MAIL, USU_TIPO, nivelAcceso, nivelAccesoRegionales, ID_ROL, ID_CIUDAD_TRABAJADOR, NIVEL_ACCESO_EMPRESAS, conexion);

                            if (ID_USUARIO <= 0)
                            {
                                conexion.DeshacerTransaccion();
                                ID_USUARIO = 0;
                                correcto = false;
                            }
                        }
                        else
                        {
                            conexion.DeshacerTransaccion();
                            ID_USUARIO = 0;
                            correcto = false;
                        }
                    }
                }

                if (correcto == true)
                {
                    if (InactivarRelacionesEmpresaCiudadesActualesDeUnUsuario(ID_USUARIO, USU_CRE, conexion) == false)
                    {
                        conexion.DeshacerTransaccion();
                        ID_USUARIO = 0;
                        correcto = false;
                    }
                    else
                    {
                        foreach (UsuarioEmpresaCiudad uec in listaUsuarioEmpresasCiudades)
                        {
                            if (AsignarRelacionEmpresaCiudadAUnUsuario(ID_USUARIO, uec.ID_EMPRESA, uec.ID_CIUDAD, USU_CRE, conexion) == false)
                            {
                                conexion.DeshacerTransaccion();
                                ID_USUARIO = 0;
                                correcto = false;
                                break;
                            }
                        }
                    }
                }

                if (correcto == true)
                {
                    conexion.AceptarTransaccion();
                }
            }
            catch
            {
                conexion.DeshacerTransaccion();
                ID_USUARIO = 0;
                correcto = false;
            }
            finally
            {
                conexion.Desconectar();
            }

            return ID_USUARIO;
        }
コード例 #5
0
ファイル: usuario.cs プロジェクト: jquirogadesarrollador/Varu
        public Boolean ActualizarUsuario(Decimal Id_Usuario,
            String USU_LOG,
            String Usu_Obs,
            String USU_MOD,
            Decimal ID_EMPLEADO,
            String USU_MAIL,
            String USU_TIPO,
            String USU_PSW,
            Boolean usuExternoCreado,
            usuario usuarioExterno,
            String ESTADO,
            String USU_NIVEL_ACCESO,
            String USU_NIVEL_ACCESO_REGIONALES,
            Decimal ID_ROL,
            List<UsuarioEmpresaCiudad> listaUsuarioEmpresasCiudades,
            String ID_CIUDAD_TRABAJADOR,
            String USU_NIVEL_ACCESO_EMPRESAS)
        {
            Conexion conexion = new Conexion(Empresa);
            conexion.IniciarTransaccion();

            Boolean correcto = true;
            try
            {
                if (USU_TIPO == "PLANTA")
                {
                    if (ActualizarCrtUsuario(Id_Usuario, USU_LOG, Usu_Obs, USU_MOD, ID_EMPLEADO, USU_MAIL, USU_TIPO, ESTADO, USU_NIVEL_ACCESO, USU_NIVEL_ACCESO_REGIONALES, ID_ROL, ID_CIUDAD_TRABAJADOR, USU_NIVEL_ACCESO_EMPRESAS, conexion) == false)
                    {
                        conexion.DeshacerTransaccion();
                        correcto = false;
                    }
                }
                else
                {
                    if (usuExternoCreado == true)
                    {
                        if (ActualizarCrtUsuario(Id_Usuario, USU_LOG, Usu_Obs, USU_MOD, ID_EMPLEADO, USU_MAIL, USU_TIPO, ESTADO, USU_NIVEL_ACCESO, USU_NIVEL_ACCESO_REGIONALES, ID_ROL, ID_CIUDAD_TRABAJADOR, USU_NIVEL_ACCESO_EMPRESAS, conexion) == false)
                        {
                            conexion.DeshacerTransaccion();
                            correcto = false;
                        }
                    }
                    else
                    {
                        ID_EMPLEADO = AdicionarCrtRegUsuariosNoPlanta(usuarioExterno.ApellidosExterno, usuarioExterno.NombresExterno, usuarioExterno.TipDocIdentidadExterno, usuarioExterno.NumDocIdentidadExterno, usuarioExterno.DireccionExterno, usuarioExterno.TelefonoExterno, usuarioExterno.CelularExterno, USU_MOD, conexion);

                        if (ID_EMPLEADO > 0)
                        {
                            if (ActualizarCrtUsuario(Id_Usuario, USU_LOG, Usu_Obs, USU_MOD, ID_EMPLEADO, USU_MAIL, USU_TIPO, ESTADO, USU_NIVEL_ACCESO, USU_NIVEL_ACCESO_REGIONALES, ID_ROL, ID_CIUDAD_TRABAJADOR, USU_NIVEL_ACCESO_EMPRESAS, conexion) == false)
                            {
                                conexion.DeshacerTransaccion();
                                correcto = false;
                            }
                        }
                        else
                        {
                            conexion.DeshacerTransaccion();
                            correcto = false;
                        }
                    }
                }

                if (correcto == true)
                {
                    if (String.IsNullOrEmpty(USU_PSW) == false)
                    {
                        if (ActualizarClaveUsuarioDesdeAdministracion(USU_LOG, USU_PSW, USU_MOD, conexion) == false)
                        {
                            conexion.DeshacerTransaccion();
                            correcto = false;
                        }
                    }
                }

                if (correcto == true)
                {
                    if (InactivarRelacionesEmpresaCiudadesActualesDeUnUsuario(Id_Usuario, USU_MOD, conexion) == false)
                    {
                        conexion.DeshacerTransaccion();
                        correcto = false;
                    }
                    else
                    {
                        foreach (UsuarioEmpresaCiudad uec in listaUsuarioEmpresasCiudades)
                        {
                            if (AsignarRelacionEmpresaCiudadAUnUsuario(Id_Usuario, uec.ID_EMPRESA, uec.ID_CIUDAD, USU_MOD, conexion) == false)
                            {
                                conexion.DeshacerTransaccion();
                                correcto = false;
                                break;
                            }
                        }
                    }
                }

                if (correcto == true)
                {
                    conexion.AceptarTransaccion();
                }
            }
            catch (Exception ex)
            {
                conexion.DeshacerTransaccion();
                correcto = false;
                MensajeError = ex.Message;
            }
            finally
            {
                conexion.Desconectar();
            }

            return correcto;
        }
コード例 #6
0
        public Boolean ActualizarRestriccionesEmpresas(Decimal Id_Usuario,
            String USU_LOG,
            Decimal ID_ROL,
            Boolean RESTRICCION_EMPRESAS,
            List<seguridad> listaRestricciones)
        {
            Decimal ID_EMPRESA_USUARIO_GENERADO = 0;

            Conexion conexion = new Conexion(Empresa);
            conexion.IniciarTransaccion();

            Boolean verificador = true;
            try
            {
                usuario _usuario = new usuario(Empresa);

                if (_usuario.ActualizarRolUsuario(USU_LOG, ID_ROL, Usuario, conexion) == false)
                {
                    conexion.DeshacerTransaccion();
                    MensajeError = _usuario.MensajeError;
                    verificador = false;
                }
                else
                {
                    if (RESTRICCION_EMPRESAS == true)
                    {
                        DataTable tablaRestriccionesActuales = ObtenerRestriccionEmpresasPorUsuLogIdRol(USU_LOG, ID_ROL, conexion);
                        Boolean existeEmpresa = false;

                        if (tablaRestriccionesActuales.Rows.Count > 0)
                        {
                            foreach (DataRow fila in tablaRestriccionesActuales.Rows)
                            {
                                existeEmpresa = false;

                                foreach (seguridad empresa in listaRestricciones)
                                {
                                    if (empresa.ID_EMPRESA == Convert.ToDecimal(fila["ID_EMPRESA"]))
                                    {
                                        existeEmpresa = true;
                                        break;
                                    }
                                }

                                if (existeEmpresa == false)
                                {
                                    if (DesactivarRestriccionEmpresa(USU_LOG, ID_ROL, Convert.ToDecimal(fila["ID_EMPRESA"]), conexion) == false)
                                    {
                                        conexion.DeshacerTransaccion();
                                        verificador = false;
                                        break;
                                    }
                                }
                            }
                        }

                        if (verificador == true)
                        {
                            foreach (seguridad empresa in listaRestricciones)
                            {
                                if (empresa.ID_EMPRESA_USUARIO == 0)
                                {
                                    ID_EMPRESA_USUARIO_GENERADO = AdicinarRegistroCRT_EMPRESAS_POR_USUARIO(empresa.id_Usuario, empresa.USU_LOG, empresa.ID_ROL, empresa.ID_EMPRESA, conexion);

                                    if (ID_EMPRESA_USUARIO_GENERADO <= 0)
                                    {
                                        conexion.DeshacerTransaccion();
                                        verificador = false;
                                        break;
                                    }
                                }
                            }
                        }
                    }

                    if (verificador == true)
                    {
                        conexion.AceptarTransaccion();
                    }
                }
            }
            catch (Exception ex)
            {
                conexion.DeshacerTransaccion();
                verificador = false;
                MensajeError = ex.Message;
            }
            finally
            {
                conexion.Desconectar();
            }

            return verificador;
        }