public List <ParametrosSalidaResult> Post(datos Datos)
        {
            try
            {
                string usuariodesencripta = Seguridad.DesEncriptar(Datos.Usuario);

                SqlCommand comando = new SqlCommand("AutorizaInformes");
                comando.CommandType = CommandType.StoredProcedure;

                //Declaracion de parametros
                comando.Parameters.Add("@i_id", SqlDbType.Int);
                comando.Parameters.Add("@Usuario", SqlDbType.VarChar);
                comando.Parameters.Add("@comentario", SqlDbType.VarChar);


                //Asignacion de valores a parametros
                comando.Parameters["@i_id"].Value       = Datos.idinforme;
                comando.Parameters["@Usuario"].Value    = usuariodesencripta;
                comando.Parameters["@comentario"].Value = Datos.comentario;

                comando.Connection     = new SqlConnection(VariablesGlobales.CadenaConexion);
                comando.CommandTimeout = 0;
                comando.Connection.Open();
                //DA.SelectCommand = comando;
                // comando.ExecuteNonQuery();

                DataTable      DT = new DataTable();
                SqlDataAdapter DA = new SqlDataAdapter(comando);
                comando.Connection.Close();
                DA.Fill(DT);

                List <ParametrosSalidaResult> lista = new List <ParametrosSalidaResult>();

                if (DT.Rows.Count > 0)
                {
                    foreach (DataRow row in DT.Rows)
                    {
                        string mensaje           = Convert.ToString(row["msn"]);
                        string titulo            = Convert.ToString(row["titulo"]);
                        string autorizador       = Convert.ToString(row["a_uautoriza"]);
                        int    autorizador_final = Convert.ToInt16(row["a_autorizador_final"]);
                        if (autorizador_final == 1)
                        {
                            titulo = "Respuesta de solicitud para autorización para el descuento vía nómina de la requisición #" + Datos.idrequisicion;
                            string body_mensaje = Mensaje(autorizador, Datos.idrequisicion, Datos.comentario_respuesta, Datos.usuario_fecha_responde);
                            EnvioCorreosELE.Envio(usuariodesencripta, "", "", autorizador, "", titulo, body_mensaje, 0);
                        }
                        else
                        {
                            EnvioCorreosELE.Envio(usuariodesencripta, "", "", autorizador, "", titulo, mensaje, 0);
                        }
                    }
                    ParametrosSalidaResult ent = new ParametrosSalidaResult
                    {
                        Resultado = 1,
                        Mensaje   = "OK"
                    };

                    lista.Add(ent);
                }
                else
                {
                    ParametrosSalidaResult ent = new ParametrosSalidaResult
                    {
                        Resultado = 0,
                        Mensaje   = "Error al autorizar Informe"
                    };

                    lista.Add(ent);
                }


                return(lista);
            }
            catch (Exception ex)
            {
                List <ParametrosSalidaResult> lista = new List <ParametrosSalidaResult>();

                ParametrosSalidaResult ent = new ParametrosSalidaResult
                {
                    Resultado = 0,
                    Mensaje   = ex.ToString()
                };

                lista.Add(ent);

                return(lista);
            }
        }
Exemplo n.º 2
0
        public string PostInsertGasto(ParametrosGastos Datos)
        {
            SqlCommand comando = new SqlCommand("EnviaAutorizacion");

            comando.CommandType = CommandType.StoredProcedure;

            //Declaracion de parametros

            comando.Parameters.Add("@idinforme", SqlDbType.Int);
            comando.Parameters.Add("@ualterno", SqlDbType.VarChar);

            //Asignacion de valores a parametros
            comando.Parameters["@idinforme"].Value = Datos.idinforme;
            comando.Parameters["@ualterno"].Value  = "";

            comando.Connection     = new SqlConnection(VariablesGlobales.CadenaConexion);
            comando.CommandTimeout = 0;
            comando.Connection.Open();
            //DA.SelectCommand = comando;
            // comando.ExecuteNonQuery();

            DataTable      DT = new DataTable();
            SqlDataAdapter DA = new SqlDataAdapter(comando);

            comando.Connection.Close();
            DA.Fill(DT);


            if (DT.Rows.Count > 0)
            {
                foreach (DataRow row in DT.Rows)
                {
                    string usuarioResponsable = Convert.ToString(row["usuarioResponsable"]);
                    string usuarioAutoriza    = Convert.ToString(row["usuarioAutoriza"]);
                    string mensaje            = Convert.ToString(row["msn"]);
                    string titulo             = Convert.ToString(row["titulo"]);
                    int    idgasto            = Convert.ToInt32(row["idgasto"]);

                    //agregar altenerno del autorizador
                    try
                    {
                        var    ResultadoAlterno = GetUsuarioAlterno.UsuarioAlterno(usuarioAutoriza);
                        string consulta         = "";
                        if (ResultadoAlterno.Estatus == 1)
                        {
                            consulta = "UPDATE autorizarinforme SET a_ualterno = '" + ResultadoAlterno.Resultado + "' " +
                                       "WHERE a_idinforme = " + Datos.idinforme + " AND a_nivel = 1 AND a_uautoriza = '" + usuarioAutoriza + "'";
                        }
                        else
                        {
                            consulta = "UPDATE autorizarinforme SET a_ualterno = '" + usuarioAutoriza + "' " +
                                       "WHERE a_idinforme = " + Datos.idinforme + " AND a_nivel = 1 AND a_uautoriza = '" + usuarioAutoriza + "'";
                        }
                        DA = new SqlDataAdapter(consulta, VariablesGlobales.CadenaConexion);
                        DA.Fill(DT);
                    }
                    catch (Exception ex)
                    {
                        //ex
                    }



                    EnvioCorreosELE.Envio(usuarioResponsable, "", "", usuarioAutoriza, "", titulo, mensaje, 0);

                    try
                    {
                        DocumentoEntrada entrada = new DocumentoEntrada
                        {
                            Usuario     = usuarioResponsable,
                            Origen      = "AdminWeb",
                            Transaccion = 120090,
                            Operacion   = 13
                        };
                        entrada.agregaElemento("FiGasId", idgasto);
                        entrada.agregaElemento("Accion", 5);//5 = envio (validacion/aprobación)

                        DocumentoSalida respuesta = PeticionCatalogo(entrada.Documento);
                    }
                    catch (Exception)
                    {
                        //throw;
                    }
                }

                return("");
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 3
0
        public string Post(ParametrosVOBO Datos)
        {
            try
            {
                SqlCommand comando = new SqlCommand("EnviaVoBo");
                comando.CommandType = CommandType.StoredProcedure;

                //Declaracion de parametros
                comando.Parameters.Add("@usuarioActual", SqlDbType.VarChar);
                comando.Parameters.Add("@usuariovobo", SqlDbType.VarChar);
                comando.Parameters.Add("@idinforme", SqlDbType.VarChar);
                comando.Parameters.Add("@comentariosValidacion", SqlDbType.VarChar);
                comando.Parameters.Add("@ualterno", SqlDbType.VarChar);

                string ususariodesencripta = Seguridad.DesEncriptar(Datos.usuarioActual);

                string UAlterno = GetUsuarioAlterno.UsuarioAlterno(Datos.usuariovobo).Resultado;

                //Asignacion de valores a parametros
                comando.Parameters["@usuarioActual"].Value         = ususariodesencripta;
                comando.Parameters["@usuariovobo"].Value           = Datos.usuariovobo;
                comando.Parameters["@idinforme"].Value             = Datos.idinforme;
                comando.Parameters["@comentariosValidacion"].Value = Datos.comentariosValidacion;
                comando.Parameters["@ualterno"].Value = UAlterno;


                comando.Connection     = new SqlConnection(VariablesGlobales.CadenaConexion);
                comando.CommandTimeout = 0;
                comando.Connection.Open();

                DataTable      DT = new DataTable();
                SqlDataAdapter DA = new SqlDataAdapter(comando);
                comando.Connection.Close();
                DA.Fill(DT);


                if (DT.Rows.Count > 0)
                {
                    foreach (DataRow row in DT.Rows)
                    {
                        string mensaje       = Convert.ToString(row["msn"]);
                        string titulo        = Convert.ToString(row["titulo"]);
                        string usuarioActual = Convert.ToString(row["usuarioActual"]);
                        string usuariovobo   = Convert.ToString(row["usuariovobo"]);
                        string correo        = Convert.ToString(row["correo"]);

                        //Mensaje(usuariovobo);

                        EnvioCorreosELE.Envio(usuarioActual, correo, "", usuariovobo, "", titulo, mensaje, 0);
                    }

                    return("OK");
                }
                else
                {
                    return("Error");
                }
            }
            catch (System.Exception ex)
            {
                return(ex.ToString());
            }
        }
Exemplo n.º 4
0
        public ListResult Post(Parametros Datos)
        {
            SqlDataAdapter DA;
            DataTable      DT = new DataTable();

            SqlConnection Conexion = new SqlConnection
            {
                ConnectionString = VariablesGlobales.CadenaConexion
            };
            string consulta = "UPDATE informe " +
                              "SET i_conciliacionbancos = 1 " +
                              "WHERE i_id = " + Datos.IdInforme + "; " +
                              "UPDATE gastos " +
                              "SET g_conciliacionbancos = IIF(ISNULL(g_idmovbanco, 0) > 0, 1, 0) " +
                              "WHERE g_idinforme = " + Datos.IdInforme + "; " +
                              "SELECT TOP(1) *, " +
                              " (SElECT TOP(1) i_uresponsable FROM informe WHERE i_id=" + Datos.IdInforme + ") AS usuario, " +
                              " (SElECT TOP(1) i_ninforme FROM informe WHERE i_id=" + Datos.IdInforme + ") AS ninforme, " +
                              " (SElECT TOP(1) r_idrequisicion FROM informe WHERE i_id=" + Datos.IdInforme + ") AS idrequisicion " +
                              "FROM AutorizaOpcional WHERE administrador = 1;";

            try
            {
                DA = new SqlDataAdapter(consulta, Conexion);
                DA.Fill(DT);

                if (DT.Rows.Count > 0)
                {
                    foreach (DataRow row in DT.Rows)
                    {
                        string UsuarioSolicita = Convert.ToString(row["usuario"]);
                        string UsuarioId       = Convert.ToString(row["uautoriza"]);
                        string EmpleadoId      = Convert.ToString(row["idempleado"]);
                        int    ninforme        = Convert.ToInt32(row["ninforme"]);
                        int    idrequisicion   = Convert.ToInt32(row["idrequisicion"]);

                        string mensaje = "Confrontación Generada de la Requisición de Viaje (Informe) #" + ninforme + " Requisición " + idrequisicion + ". \n" +
                                         " Importe confrontado: $ " + Datos.ImporteMovBanco + "\n" +
                                         " Importe requisición: $ " + Datos.ImporteRequisicion + "\n" +
                                         " Importe gastado: $ " + Datos.ImporteGastado + "\n " +
                                         " Importe a retirar: $ " + Datos.ImporteFondeo + " (solo en caso necesario). \n";

                        EnvioCorreosELE.Envio(UsuarioSolicita, "", EmpleadoId, UsuarioId, "",
                                              "Confrontación Generada de Requisición de Viaje (Informe) #" + ninforme + " Requisición " + idrequisicion + ".",
                                              mensaje, 0);
                    }
                }

                ListResult resultado = new ListResult
                {
                    ConfrontacionOk = true,
                    Descripcion     = "Informe confrontado."
                };
                return(resultado);
            }
            catch (Exception err)
            {
                var        error     = Convert.ToString(err);
                ListResult resultado = new ListResult
                {
                    ConfrontacionOk = false,
                    Descripcion     = "Error al confrontar informe. " + error
                };
                return(resultado);
            }
        }
        public string Post(Datos Datos)
        {
            string UsuarioDesencripta = Seguridad.DesEncriptar(Datos.Usuario);
            int    nAutorizadores     = Datos.Autorizadores.Count();
            int    i = 2;

            foreach (var item in Datos.Autorizadores)
            {
                string autorizador = item;
                string UAlterno    = GetUsuarioAlterno.UsuarioAlterno(autorizador).Resultado;

                SqlCommand comando = new SqlCommand("EnviaAutorizadores");
                comando.CommandType = CommandType.StoredProcedure;

                //Declaracion de parametros
                comando.Parameters.Add("@idinforme", SqlDbType.Int);
                comando.Parameters.Add("@a_uautoriza", SqlDbType.VarChar);
                comando.Parameters.Add("@nivel", SqlDbType.Int);
                comando.Parameters.Add("@NumeroNiveles", SqlDbType.Int);
                comando.Parameters.Add("@usuario_actual", SqlDbType.VarChar);
                comando.Parameters.Add("@comentario", SqlDbType.VarChar);
                comando.Parameters.Add("@ualterno", SqlDbType.VarChar);

                //Asignacion de valores a parametros
                comando.Parameters["@idinforme"].Value      = Datos.idinforme;
                comando.Parameters["@a_uautoriza"].Value    = autorizador;
                comando.Parameters["@nivel"].Value          = 0;
                comando.Parameters["@NumeroNiveles"].Value  = 0;                // (nAutorizadores + 1);
                comando.Parameters["@usuario_actual"].Value = UsuarioDesencripta;
                comando.Parameters["@comentario"].Value     = Datos.comentario;
                comando.Parameters["@ualterno"].Value       = UAlterno;

                comando.Connection     = new SqlConnection(VariablesGlobales.CadenaConexion);
                comando.CommandTimeout = 0;
                comando.Connection.Open();
                //DA.SelectCommand = comando;
                //comando.ExecuteNonQuery();

                DataTable      DT = new DataTable();
                SqlDataAdapter DA = new SqlDataAdapter(comando);
                comando.Connection.Close();
                DA.Fill(DT);

                if (DT.Rows.Count > 0 && i == 2)
                {
                    foreach (DataRow row in DT.Rows)
                    {
                        string mensaje       = Convert.ToString(row["msn"]);
                        string titulo        = Convert.ToString(row["titulo"]);
                        int    idrequisicion = Convert.ToInt32(row["idrequisicion"]);
                        string responsable   = Convert.ToString(row["responsable"]);

                        //mensaje
                        string body_mensaje = Mensaje(autorizador, mensaje, idrequisicion, responsable, Datos.comentario);

                        EnvioCorreosELE.Envio(UsuarioDesencripta, "", "", autorizador, "", titulo, body_mensaje, 0);                        //mensaje
                    }
                }

                i++;
            }
            return("OK");
        }
Exemplo n.º 6
0
        public string Post(datos Datos)
        {
            string UsuarioDesencripta = Seguridad.DesEncriptar(Datos.usuario);

            SqlCommand comando = new SqlCommand("RegresarInforme");

            comando.CommandType = CommandType.StoredProcedure;

            //Declaracion de parametros
            comando.Parameters.Add("@idinforme", SqlDbType.Int);
            comando.Parameters.Add("@comentarioaut", SqlDbType.VarChar);
            comando.Parameters.Add("@usuario", SqlDbType.VarChar);


            //Asignacion de valores a parametros
            comando.Parameters["@idinforme"].Value     = Datos.idinforme;
            comando.Parameters["@comentarioaut"].Value = Datos.comentarioaut;
            comando.Parameters["@usuario"].Value       = UsuarioDesencripta;

            comando.Connection     = new SqlConnection(VariablesGlobales.CadenaConexion);
            comando.CommandTimeout = 0;
            comando.Connection.Open();
            //DA.SelectCommand = comando;

            DataTable      DT = new DataTable();
            SqlDataAdapter DA = new SqlDataAdapter(comando);

            comando.Connection.Close();
            DA.Fill(DT);

            //ObtieneInformeResult items;

            if (DT.Rows.Count > 0)
            {
                foreach (DataRow row in DT.Rows)
                {
                    string mensaje            = Convert.ToString(row["msn"]);
                    string titulo             = Convert.ToString(row["titulo"]);
                    string usuarioResponsable = Convert.ToString(row["usuarioResponsable"]);
                    string autorizador        = Convert.ToString(row["autorizador"]);
                    int    idgasto            = Convert.ToInt32(row["idgasto"]);
                    int    estatus            = Convert.ToInt32(row["estatus"]);

                    try
                    {
                        if (estatus == 2)
                        {
                            DocumentoEntrada entrada = new DocumentoEntrada
                            {
                                Usuario     = usuarioResponsable,
                                Origen      = "AdminWeb",
                                Transaccion = 120090,
                                Operacion   = 13
                            };
                            entrada.agregaElemento("FiGasId", idgasto);
                            entrada.agregaElemento("Accion", 6);//6 = rechazo

                            DocumentoSalida respuesta = PeticionCatalogo(entrada.Documento);
                        }
                    }
                    catch (Exception)
                    {
                        //throw;
                    }

                    if (autorizador != "")
                    {
                        EnvioCorreosELE.Envio(UsuarioDesencripta, "", "", autorizador, "", titulo, mensaje, 0);
                    }
                    else
                    {
                        EnvioCorreosELE.Envio(UsuarioDesencripta, "", "", usuarioResponsable, "", titulo, mensaje, 0);
                    }
                }
            }

            return("");
        }