public static string UpdateIncidencia(Int32 parIdIncidencia, Int32 parIdTipoRegistro, string parDescRegistro, string parRegistrable, string parFIncidencia, string parDescEmpleado, string parIdZona, string parDescZona, string parDescProyecto, string parDescPuesto, string parDescArea, string parLugarIncidencia, Int32 parDiasIncapacidad, Int32 parIdCentroAtencion, string parACR, string parStatus, string parUserAlta, string parIdProyecto, string parIdPuesto, string parIdArea, Int32 parIdEmpleado, string parFmod)
        {
            EntidadIncidencias inc = new EntidadIncidencias();

            inc.IdIncidencia = parIdIncidencia;
            inc.IdTipoRegistro = parIdTipoRegistro;
            inc.DescRegistro = parDescRegistro;
            inc.Registrable = parRegistrable;
            inc.FIncidencia = parFIncidencia;
            //inc.IdEmpleado = parIdEmpleado;
            inc.DescEmpleado = parDescEmpleado;
            inc.IdZona = parIdZona;
            inc.DescZona = parDescZona;
            inc.DescProyecto = parDescProyecto;
            inc.DescPuesto = parDescPuesto;
            inc.DescArea = parDescArea;
            inc.LugarIncidencia = parLugarIncidencia;
            inc.DiasIncapacidad = parDiasIncapacidad;
            inc.IdCentroAtencion = parIdCentroAtencion;
            inc.Acr = parACR;
            inc.Status = parStatus;
            inc.UserAlta = parUserAlta;
            //inc.FAlta = DateTime.Now.ToString();
            inc.FAlta = parFmod;
            inc.IdProyecto = parIdProyecto;
            inc.IdPuesto = parIdPuesto;
            inc.IdArea = parIdArea;

            inc.IdEmpleado = parIdEmpleado;

            NegocioIncidencias nInc = new NegocioIncidencias(inc);
            bool bander = nInc.UpdateIncidencias();

            //actualizo el numero de seguimiento de incidencia si se subio archivo

            //------------------------------------ guarda en BD del Directorio -------------------------
            //para actualizar el no de incidencia en caso de que haya subido algun archivo
            string id_incidencia = "";
            string connectionString = ConfigurationManager.ConnectionStrings["conexionAPPS"].ConnectionString;
            using (SqlConnection cnx = new SqlConnection(connectionString))
            {
                cnx.Open();
                string query = " SELECT ID_INC_DOC, ID_INCIDENCIA, INC_RUTA_DOC, INC_STATUS, INC_USER_ALTA, INC_FECHA " +
                               " FROM      INC_DOCUMENTOS " +
                               " WHERE  (ID_INCIDENCIA = '0') AND (INC_USER_ALTA = '" + parUserAlta + "') AND (INC_STATUS = 'MODIFICACION') AND " +
                               " (CONVERT(VARCHAR(10), INC_FECHA, 103) = CONVERT(nvarchar(10), GETDATE(), 103)) AND " +
                               " dateadd(HOUR, datediff(HOUR, 0, INC_FECHA), 0) = dateadd(HOUR, datediff(HOUR, 0, GETDATE()), 0) " +
                               " ORDER BY ID_INC_DOC DESC ";
                SqlCommand cmd = new SqlCommand(query, cnx);
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        id_incidencia = dr["ID_INCIDENCIA"].ToString();

                        //sino esta vacia la incidencia insertamos el no de incidencia al archivo subido
                        if (id_incidencia != "")
                        {
                            using (SqlConnection cnxUp = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
                            {
                                cnxUp.Open();
                                string qUpdate = " UPDATE INC_DOCUMENTOS set ID_INCIDENCIA= " + parIdIncidencia + " " +
                                                 " WHERE  (ID_INCIDENCIA = '0') AND (INC_USER_ALTA ='" + parUserAlta + "') AND (INC_STATUS = 'MODIFICACION') AND " +
                                                 " (CONVERT(VARCHAR(10), INC_FECHA,103) = CONVERT(nvarchar(10), GETDATE(), 103)) AND " +
                                                 " dateadd(HOUR, datediff(HOUR, 0, INC_FECHA), 0) = dateadd(HOUR, datediff(HOUR, 0, GETDATE()), 0) ";
                                SqlCommand cmdUp = new SqlCommand(qUpdate, cnxUp);
                                SqlDataReader dr2 = cmdUp.ExecuteReader();
                            }
                        }

                    }
                }
            }

            
            
            return "Add";
        }
        public static List<EntidadIncidencias> ConsultaIncidencias(Int32 parNoIncidencia, Int32 parIdTipoRegistro, String parRegistrable, String parFIncidencia, String parZona, String parStatus)
        {
            EntidadIncidencias incidencia = new EntidadIncidencias();
            incidencia.IdTipoRegistro = parIdTipoRegistro;
            incidencia.Registrable = parRegistrable;
            incidencia.FIncidencia = parFIncidencia;
            incidencia.IdZona = parZona;
            incidencia.IdIncidencia = parNoIncidencia;
            incidencia.Status = parStatus;

            NegocioIncidencias INCIDENCIAS = new NegocioIncidencias(incidencia);
            List<EntidadIncidencias> listaINCIDENCIAS = INCIDENCIAS.ConsultaIncidencias();
            if (listaINCIDENCIAS != null)
            {
                return listaINCIDENCIAS;

            }
            else
            {
                return null;
            }

        }
        public static string InsertarIncidencia(Int32 parIdTipoRegistro, string parDescRegistro, string parRegistrable, string parFIncidencia, string parDescEmpleado, string parIdZona, string parDescZona, string parDescProyecto, string parDescPuesto, string parDescArea, string parLugarIncidencia, Int32 parDiasIncapacidad, Int32 parIdCentroAtencion, string parACR, string parStatus, string parUserAlta, string parIdProyecto, string parIdPuesto, string parIdArea, Int32 parIdEmpleado, string parFaseCodJde)
        {
            EntidadIncidencias inc = new EntidadIncidencias();

            inc.IdTipoRegistro = parIdTipoRegistro;
            inc.DescRegistro = parDescRegistro;
            inc.Registrable = parRegistrable;
            inc.FIncidencia = parFIncidencia;
            //inc.IdEmpleado = parIdEmpleado;
            inc.DescEmpleado = parDescEmpleado;
            inc.IdZona = parIdZona;
            inc.DescZona = parDescZona;
            inc.DescProyecto = parDescProyecto;
            inc.DescPuesto = parDescPuesto;
            inc.DescArea = parDescArea;
            inc.LugarIncidencia = parLugarIncidencia;
            inc.DiasIncapacidad = parDiasIncapacidad;
            inc.IdCentroAtencion = parIdCentroAtencion;
            inc.Acr = parACR;
            inc.Status = "ABIERTO";
            inc.UserAlta = parUserAlta;
            inc.FAlta =  DateTime.Now.ToString();

            inc.IdProyecto = parIdProyecto;
            inc.IdPuesto = parIdPuesto;
            inc.IdArea = parIdArea;

            inc.IdEmpleado = parIdEmpleado;
            inc.FaseCodJde = parFaseCodJde;
            

            NegocioIncidencias nInc = new NegocioIncidencias(inc);
            bool bander = nInc.InsertaIncidencias();

            string descripcionreg = "";
            string no_ticket = "";
            ////Busco los valores 
            string connectionString = ConfigurationManager.ConnectionStrings["conexionAPPS"].ConnectionString;
            using (SqlConnection cnx = new SqlConnection(connectionString))
            {
                cnx.Open();
                string query = " SELECT  ID_DESC_REGISTRO " +
                               " FROM    INC_TIPO_REGISTRO " +
                               " WHERE   (ID_TIPO_REGISTRO = " + parIdTipoRegistro + " ) ";
                SqlCommand cmd = new SqlCommand(query, cnx);

                SqlDataReader dr = cmd.ExecuteReader();

                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        descripcionreg = dr["ID_DESC_REGISTRO"].ToString();
                    }
                }
            }
            //para sacar el no de ticket
            using (SqlConnection cnx = new SqlConnection(connectionString))
            {
                cnx.Open();
                string query = " SELECT  MAX(ID_INCIDENCIA) AS ultimo_ticket " +
                               " FROM    INC_REGISTRO_INCIDENCIAS ";
                SqlCommand cmd = new SqlCommand(query, cnx);
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        no_ticket = dr["ultimo_ticket"].ToString();
                    }
                }
            }

            //------------------------------------ guarda en BD del Directorio -------------------------
            //para actualizar el no de incidencia en caso de que haya subido algun archivo
            string id_incidencia = "";
            using (SqlConnection cnx = new SqlConnection(connectionString))
            {
                cnx.Open();
                string query = " SELECT ID_INC_DOC, ID_INCIDENCIA, INC_RUTA_DOC, INC_STATUS, INC_USER_ALTA, INC_FECHA " +
                               " FROM      INC_DOCUMENTOS " +
                               " WHERE  (ID_INCIDENCIA = '0') AND (INC_USER_ALTA = '" + parUserAlta + "') AND (INC_STATUS = 'ALTA') AND " +
                               " (CONVERT(VARCHAR(10), INC_FECHA, 103) = CONVERT(nvarchar(10), GETDATE(), 103)) AND " +
                               " dateadd(HOUR, datediff(HOUR, 0, INC_FECHA), 0) = dateadd(HOUR, datediff(HOUR, 0, GETDATE()), 0) " +
                               " ORDER BY ID_INC_DOC DESC ";
                SqlCommand cmd = new SqlCommand(query, cnx);
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        id_incidencia = dr["ID_INCIDENCIA"].ToString();

                        //sino esta vacia la incidencia insertamos el no de incidencia al archivo subido
                        if (id_incidencia != "")
                        {
                            using (SqlConnection cnxUp = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
                            {
                                cnxUp.Open();
                                string qUpdate = " UPDATE INC_DOCUMENTOS set ID_INCIDENCIA= " + no_ticket + " " +
                                                 " WHERE  (ID_INCIDENCIA = '0') AND (INC_USER_ALTA ='" + parUserAlta + "') AND (INC_STATUS = 'ALTA') AND " +
                                                 " (CONVERT(VARCHAR(10), INC_FECHA,103) = CONVERT(nvarchar(10), GETDATE(), 103)) AND " +
                                                 " dateadd(HOUR, datediff(HOUR, 0, INC_FECHA), 0) = dateadd(HOUR, datediff(HOUR, 0, GETDATE()), 0) ";
                                SqlCommand cmdUp = new SqlCommand(qUpdate, cnxUp);
                                SqlDataReader dr2 = cmdUp.ExecuteReader();
                            }
                        }

                    }
                }
            }

            
            
            //-==================================== ENVIA CORREO A RH y COORDINACION de ALTA DE INCIDENCIA ==============================
            string mensaje1 = " <table class=style1 font-family=calibri> " +
                                     " <tr><td colspan=8 align=center><strong>   INCIDENCIAS  </strong></td></tr> " +
                                     " <tr>  " +
                                     " <td style=background-color: #C0C0C0 > " +
                                     " <strong>NO TICKET</strong></td> " +
                                     " <td style=background-color: #C0C0C0> " +
                                     " <strong>CATEGORIA</strong></td> " +
                                     " <td style=background-color: #C0C0C0> " +
                                     " <strong>DESCRIPCION</strong></td> " +
                                     " <td style=background-color: #C0C0C0> " +
                                     " <strong>EMPLEADO</strong></td>  " +
                                     " <td style=background-color: #C0C0C0>  " +
                                     " <strong>FECHA DE INCIDENCIA</strong></td>  " +
                                     " <td style=background-color: #C0C0C0> " +
                                     " <strong>ZONA</strong></td> " +
                                     " <td style=background-color: #C0C0C0>  " +
                                     " <strong>ESTATUS</strong></td> " +
                                     " </tr> " +
                                     " <tr> " +
                                          "  <td> " + no_ticket + " </td> " + 
                                          "  <td> " + parIdTipoRegistro + " - "  + descripcionreg + " </td> " +
                                          "  <td> " + parRegistrable + " </td> " +
                                          "  <td> " + parIdEmpleado + " " + parDescEmpleado + " </td> " +
                                          "  <td> " + inc.FIncidencia + " </td> " +
                                          "  <td> " + parDescZona + " </td> " +
                                          "  <td> " + inc.Status + " </td> " +
                                      "  </tr> " +
                              " </table> ";
           
            //correoDO enviarCorreo = new correoDO();
            //enviarCorreo.EnviaMail("ALTA DE INCIDENCIA", mensaje1, "*****@*****.**");
            string email1 = "";
            using (SqlConnection cnx = new SqlConnection(connectionString))
            {
                cnx.Open();
                string query = " SELECT usr_username, usr_passwd, usr_nombre, usr_apellido_pat, usr_apellido_mat, usr_email, " +
                               "        usr_id_JDE, usr_id_JDE_AB " +
                               " FROM   SYS_USR_USERS " +
                               " WHERE  (usr_username = '******') ";
                SqlCommand cmd = new SqlCommand(query, cnx);
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        email1 = dr["usr_email"].ToString();
                    }
                }
            }
            string listaemail = "";
            if (email1 == "")
            {
                listaemail = "[email protected], [email protected], [email protected], [email protected], [email protected]";
            }
            listaemail = email1 + ", [email protected], [email protected], [email protected], [email protected], [email protected]";
            //envio el correo a la lista de empleados y el que capturo la incidencia
            correoDO enviarCorreo = new correoDO();
            enviarCorreo.EnviaMail("ALTA DE INCIDENCIA", mensaje1, listaemail);
           
            return "Add";
        }