public void guardarSuceso(object sender,EventArgs e) {
     sucesoBean suceso = new sucesoBean();
     suceso.codigo_usuario_reporta = GlobalSistema.sistema.obtenerDatosUsuario(lblUsuarioReporta.Text,true).getCodigoUsuario();
     suceso.codigo_usuario = Int16.Parse(lsBxUsuarios.SelectedValue);
     suceso.codigoIncidente = txbxCodigoIncidente.Text;
     UsuarioBean usrTmp = new UsuarioBean();
     usrTmp.setCodigoUsuario(0);
     List<SucesoReporteBean> lsSuceso = GlobalSistema.sistema.obtenerIncidentesReportePorUsuario(txbxCodigoIncidente.Text, usrTmp);
     if (lsSuceso.Count > 0)
     {
         lblMensaje.Text = "Suceso ya registrado ";
         return;
     }
     DateTime fechaRegistro = DateTime.ParseExact("01/01/1900", "MM/dd/yyyy", CultureInfo.CreateSpecificCulture("en-US"));
     suceso.registroIncidente = DateTime.Now;
     suceso.reporteIncidente = fechaRegistro;
     suceso.fechaCierre = fechaRegistro;
     suceso.primerInteraccion = fechaRegistro;
     suceso.etiqueta = txbxDescripcion.Text;
     suceso.pais = "";
     suceso.descripcionincidente = "";
     suceso.codigoGrupoAsignado = 1;
     lblMensaje.Text = GlobalSistema.sistema.insertarActualizarSucesoUsuario(suceso);
 }
        public string insertarActulizarSuceso(sucesoBean suceso, bool insertar)
        {
            SqlCommand cmd = null;
            string mensaje = "";
            if (insertar)
            {//True inseertar
                mensaje = "inserto";
                cmd = new SqlCommand("insertar_incidente_sp", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@codigo_usuario", suceso.codigo_usuario);
                cmd.Parameters.AddWithValue("@codigo_incidente", suceso.codigoIncidente.Trim());
                cmd.Parameters.AddWithValue("@recibido_sistemas", suceso.recibidoSistemas);
                cmd.Parameters.AddWithValue("@codigo_tipo_sistemas", suceso.codigoTipoSistemas);
                cmd.Parameters.AddWithValue("@fecha_reporte_incidente", suceso.reporteIncidente);
                cmd.Parameters.AddWithValue("@fecha_primera_interaccion", suceso.primerInteraccion);
                cmd.Parameters.AddWithValue("@codigo_grupo_asignado", suceso.codigoGrupoAsignado);
                cmd.Parameters.AddWithValue("@codigo_dato_seleccion", suceso.codigoDato);
                cmd.Parameters.AddWithValue("@codigo_sop", suceso.codigoSop);
                cmd.Parameters.AddWithValue("@codigo_estado_incidente", suceso.estadoIncidente);
                cmd.Parameters.AddWithValue("@codigo_tier_uno", suceso.codigoTierUno);
                cmd.Parameters.AddWithValue("@codigo_tier_dos", suceso.codigoTierDos);
                cmd.Parameters.AddWithValue("@codigo_tier_tres", suceso.codigoTierTres);
                cmd.Parameters.AddWithValue("@enviado_sistemas", suceso.enviadoSistmas);
                cmd.Parameters.AddWithValue("@fecha_cierra", suceso.fechaCierre);
                cmd.Parameters.AddWithValue("@descripcion_incidente", suceso.descripcionincidente);
                cmd.Parameters.AddWithValue("@pais", suceso.pais);
                cmd.Parameters.AddWithValue("@estadistica", suceso.estadistica);
                cmd.Parameters.AddWithValue("@usuario_asigna", suceso.codigo_usuario_reporta);
                cmd.Parameters.AddWithValue("@etiqueta", suceso.etiqueta);
            }
            else
            { //false actuliza
                mensaje = "actualizo";
                cmd = new SqlCommand("actualizar_incidente_sp", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@codigo_usuario", suceso.codigo_usuario);
                cmd.Parameters.AddWithValue("@codigo_incidente", suceso.codigoIncidente.Trim());
                cmd.Parameters.AddWithValue("@recibido_sistemas", suceso.recibidoSistemas);
                cmd.Parameters.AddWithValue("@codigo_tipo_sistemas", suceso.codigoTipoSistemas);
                cmd.Parameters.AddWithValue("@fecha_reporte_incidente", suceso.reporteIncidente);
                cmd.Parameters.AddWithValue("@fecha_primera_interaccion", suceso.primerInteraccion);
                cmd.Parameters.AddWithValue("@codigo_grupo_asignado", suceso.codigoGrupoAsignado);
                cmd.Parameters.AddWithValue("@codigo_dato_seleccion", suceso.codigoDato);
                cmd.Parameters.AddWithValue("@codigo_sop", suceso.codigoSop);
                cmd.Parameters.AddWithValue("@codigo_estado_incidente", suceso.estadoIncidente);
                cmd.Parameters.AddWithValue("@codigo_tier_uno", suceso.codigoTierUno);
                cmd.Parameters.AddWithValue("@codigo_tier_dos", suceso.codigoTierDos);
                cmd.Parameters.AddWithValue("@codigo_tier_tres", suceso.codigoTierTres);
                cmd.Parameters.AddWithValue("@enviado_sistemas", suceso.enviadoSistmas);
                cmd.Parameters.AddWithValue("@fecha_cierra", suceso.fechaCierre);
                cmd.Parameters.AddWithValue("@descripcion_incidente", suceso.descripcionincidente);
                cmd.Parameters.AddWithValue("@pais", suceso.pais);
                cmd.Parameters.AddWithValue("@estadistica", suceso.estadistica);
                cmd.Parameters.AddWithValue("@usuario_asigna", suceso.codigo_usuario_reporta);
                cmd.Parameters.AddWithValue("@etiqueta", suceso.etiqueta);
            }

            try
            {
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable tb = new DataTable("insertarActualizar");
                da.Fill(tb);
                mensaje = tb.Rows[0][0].ToString();
                return mensaje;    
                /*int i = cmd.ExecuteNonQuery();
                if (i == 0)
                {

                    throw new ExInsertarRegistro("Usuario " + suceso.codigoIncidente + ", No se " + mensaje + " revise datos");
                }
                else
                {
                    return i;
                }*/

            }
            catch (ArgumentException ex)
            {
                logs.escritura_archivo_string_ex(ex);
                throw new ExInsertarRegistro("Error en  procesos");
            }
            catch (InvalidOperationException ex)
            {
                logs.escritura_archivo_string_ex(ex);
                throw new ExConexionBase(ex.Message);
            }
            catch (SqlException ex)
            {
                logs.escritura_archivo_string_ex(ex);
                throw new ExConexionBase(ex.Message);
            }
            catch (Exception ex)
            {
                logs.escritura_archivo_string_ex(ex);
                throw new ExConexionBase(ex.Message);
            }
        }
 public List<sucesoBean> obtenerListaSuceso(string codigoIncidente,UsuarioBean usuario)
 {
     SqlCommand cmd = null;
     cmd = new SqlCommand("obtener_registro_incidente_sp", conn);
     cmd.CommandType = CommandType.StoredProcedure;
     cmd.Parameters.AddWithValue("@codigo_incidente", codigoIncidente);
     cmd.Parameters.AddWithValue("@codigo_usuario", usuario.getCodigoUsuario());
     cmd.Parameters.AddWithValue("@nivel_acceso", usuario.getNivelAcceso());
     List<sucesoBean> selecciones = new List<sucesoBean>();
     try
     {
         SqlDataAdapter da = new SqlDataAdapter(cmd);
         DataTable tb = new DataTable("SucesoBean");
         da.Fill(tb);
         for (int i = 0; i < tb.Rows.Count; i++)
         {
             sucesoBean seleccion = new sucesoBean();
             seleccion.codigo_usuario = Convert.ToInt16(tb.Rows[i][0].ToString());
             seleccion.codigoIncidente = tb.Rows[i][1].ToString();
             seleccion.recibidoSistemas = bool.Parse(tb.Rows[i][2].ToString());
             seleccion.codigoTipoSistemas = Convert.ToInt16(tb.Rows[i][3].ToString());
             seleccion.registroIncidente = DateTime.Parse(tb.Rows[i][4].ToString());
             seleccion.reporteIncidente = DateTime.Parse(tb.Rows[i][5].ToString());
             seleccion.primerInteraccion = DateTime.Parse(tb.Rows[i][6].ToString());
             seleccion.codigoGrupoAsignado = Convert.ToInt16(tb.Rows[i][7].ToString());
             seleccion.codigoDato = Convert.ToInt16(tb.Rows[i][8].ToString());
             seleccion.codigoSop = Convert.ToInt16(tb.Rows[i][9].ToString());
             seleccion.estadoIncidente = Convert.ToInt16(tb.Rows[i][10].ToString());
             seleccion.codigoTierUno = Convert.ToInt16(tb.Rows[i][11].ToString());
             seleccion.codigoTierDos = Convert.ToInt16(tb.Rows[i][12].ToString());
             seleccion.codigoTierTres = Convert.ToInt16(tb.Rows[i][13].ToString());
             seleccion.enviadoSistmas = bool.Parse(tb.Rows[i][14].ToString());
             seleccion.fechaCierre = DateTime.Parse(tb.Rows[i][15].ToString());
             seleccion.descripcionincidente = tb.Rows[i][16].ToString();
             seleccion.pais = tb.Rows[i][17].ToString();
             seleccion.estadistica = bool.Parse(tb.Rows[i][18].ToString());
             seleccion.codigo_usuario_reporta = Convert.ToInt16(tb.Rows[i][19].ToString());
             seleccion.etiqueta = tb.Rows[i][20].ToString();
             selecciones.Add(seleccion);
         } return selecciones;
     }
     catch (IndexOutOfRangeException ex)
     {
         logs.escritura_archivo_string_ex(ex);
         throw new ExpObtenerRegistro(ex.Message);
     }
     catch (ArgumentNullException ex)
     {
         logs.escritura_archivo_string_ex(ex);
         throw new ExpObtenerRegistro(ex.Message);
     }
     catch (Exception ex)
     {
         logs.escritura_archivo_string_ex(ex);
         throw new Exception(ex.Message);
     }
 }
        public void guardar_suceso_sistema(object sender, EventArgs e)
        {
            if (suceso == null) {
                suceso = new sucesoBean();
            }
            
            //Buscar  si código de suceso fue ingresado anteriormente
            UsuarioBean usrTmp = new UsuarioBean();
            usrTmp.setCodigoUsuario(0);
            List<SucesoReporteBean> lsSuceso = GlobalSistema.sistema.obtenerIncidentesReportePorUsuario(txbxNumIncidente.Text,usrTmp);
            //if (lsSuceso.Count > 0 && sesionUsuario.getNivelAcceso() != 0)
            //{
            suceso.codigo_usuario = GlobalSistema.sistema.obtenerDatosUsuario(lblUsuarioRegistra.Text, true).getCodigoUsuario();
            //    if (!sesionUsuario.getNumeroDocumento().Equals(lsSuceso[0].documento))
            //    {
            //        lblMensajeError.Text = "Suceso registrado, con usuario " + lsSuceso[0].codigo_usuario + " solo este usuario puede editar";
            //        return;
            //    }
            //}
            //else {
            suceso.codigo_usuario = sesionUsuario.getCodigoUsuario();
            //}
            //DateTime fechaRegistro = Convert.ToDateTime(this.txbxFechaIncidente.Text);
            DateTime fechaRegistro = System.DateTime.Now;
            try
            {
                if (txbxFechaIncidente.Text.EndsWith("AM") || txbxFechaIncidente.Text.EndsWith("PM"))
                {
                    fechaRegistro = DateTime.ParseExact(this.txbxFechaIncidente.Text, GlobalSistema.formatoFecha, CultureInfo.CreateSpecificCulture("en-US"));
                }
                else
                {
                    fechaRegistro = DateTime.ParseExact(this.txbxFechaIncidente.Text, "MM/dd/yyyy HH:mm", CultureInfo.CreateSpecificCulture("en-US"));
                }
                suceso.reporteIncidente = fechaRegistro;
                //DateTime fechaPrimeraInteraccion = Convert.ToDateTime("1900-01-01");
                DateTime fechaPrimeraInteraccion = DateTime.ParseExact("01/01/1900", "MM/dd/yyyy", CultureInfo.CreateSpecificCulture("en-US"));
                //DateTime fechaFin = Convert.ToDateTime("1900-01-01");
                DateTime fechaFin = DateTime.ParseExact("01/01/1900", "MM/dd/yyyy", CultureInfo.CreateSpecificCulture("en-US"));

                if (!string.IsNullOrEmpty(this.txbxFechaInicio.Text))
                {
                    //fechaPrimeraInteraccion = Convert.ToDateTime(this.txbxFechaInicio.Text);
                    if (txbxFechaInicio.Text.EndsWith("AM") || txbxFechaInicio.Text.EndsWith("PM"))
                    {
                        fechaPrimeraInteraccion = DateTime.ParseExact(this.txbxFechaInicio.Text, GlobalSistema.formatoFecha, CultureInfo.CreateSpecificCulture("en-US"));
                    }
                    else
                    {
                        fechaPrimeraInteraccion = DateTime.ParseExact(this.txbxFechaInicio.Text, "MM/dd/yyyy HH:mm", CultureInfo.CreateSpecificCulture("en-US"));
                    }
                    if (DateTime.Compare(fechaPrimeraInteraccion, fechaRegistro) < 0)
                    {
                        this.lblMensajeError.Text = "Fecha de Primera Interacción debe ser mayor que la fecha registro";
                        return;
                    }
                    suceso.primerInteraccion = fechaPrimeraInteraccion;
                }
                else
                {
                    suceso.primerInteraccion = fechaPrimeraInteraccion;
                }
                if (!string.IsNullOrEmpty(this.txbxFechaFin.Text))
                {
                    //fechaFin = Convert.ToDateTime(this.txbxFechaFin.Text);
                    if (txbxFechaFin.Text.EndsWith("AM") || txbxFechaFin.Text.EndsWith("PM"))
                    {
                        fechaFin = DateTime.ParseExact(this.txbxFechaFin.Text, GlobalSistema.formatoFecha, CultureInfo.CreateSpecificCulture("en-US"));
                    }
                    else
                    {
                        fechaFin = DateTime.ParseExact(this.txbxFechaFin.Text, "MM/dd/yyyy HH:mm", CultureInfo.CreateSpecificCulture("en-US"));
                    }

                    if (DateTime.Compare(fechaPrimeraInteraccion, Convert.ToDateTime("1900-01-01")) == 0)
                    {
                        this.lblMensajeError.Text = "Seleccione una fecha de primera iteracción para cerrar";
                        return;
                    }
                    if (DateTime.Compare(fechaPrimeraInteraccion, fechaFin) > 0)
                    {
                        this.lblMensajeError.Text = "Fecha de cierre debe ser mayor que la Primera Interacción";
                        return;
                    }
                    suceso.fechaCierre = fechaFin;
                }
                else
                {
                    suceso.fechaCierre = fechaFin;
                }
            
            suceso.codigoIncidente = this.txbxNumIncidente.Text;
            suceso.descripcionincidente = this.txbxObservacion.Text;
            suceso.etiqueta = this.txbxEtiqueta.Text;
            suceso.pais = this.txbxPais.Text;
            suceso.codigoDato = Convert.ToInt16(this.lsBxDatoSeleccionado.SelectedValue);
            suceso.estadoIncidente = Convert.ToInt16(this.lsBxEstadoIncidente.SelectedValue);
            suceso.codigoGrupoAsignado = Convert.ToInt16(this.lsBxGrupoAsignado.SelectedValue);
            suceso.codigoSop = Convert.ToInt16(this.lsBxSOP.SelectedValue);
            suceso.codigoTierUno = Convert.ToInt16(this.lsBxTierUno.SelectedValue);
            suceso.codigoTierDos = Convert.ToInt16(this.lsBxTierII.SelectedValue);
            suceso.codigoTierTres = Convert.ToInt16(this.lsBxTierIII.SelectedValue);
            suceso.codigoTipoSistemas = Convert.ToInt16(this.lsBxTipoSistemas.SelectedValue);
            suceso.codigo_usuario_reporta = GlobalSistema.sistema.obtenerDatosUsuario(lblUsuarioAsigna.Text, true).getCodigoUsuario();
            suceso.enviadoSistmas = chBxEnviado.Checked;
            suceso.recibidoSistemas = chbxRebido.Checked;
            suceso.estadistica = chbxEstadistica.Checked;
            lblMensajeError.Text = GlobalSistema.sistema.insertarActualizarSucesoUsuario(suceso);
                } catch(FormatException ex) {
                    lblMensajeError.Text = ex.Message;
                    lblMensajeError.Text = "Debe ingresar formato de fecha Remedy";
            }
        }
 public void cargar_datos_sesion() {
     suceso = (sucesoBean)Session[GlobalSistema.incidenteSesion];
     
     if (suceso != null) {
         
         if (suceso.fechaCierre != null)
         {
             this.txbxFechaFin.Text = suceso.fechaCierre.ToString(GlobalSistema.formatoFecha, CultureInfo.InvariantCulture);
             if (txbxFechaFin.Text.Contains("1900"))
             {
                 this.txbxFechaFin.Text = "";
             }
         }
         if (suceso.reporteIncidente != null)
         {
             this.txbxFechaIncidente.Text = suceso.reporteIncidente.ToString(GlobalSistema.formatoFecha, CultureInfo.InvariantCulture);
             if (txbxFechaIncidente.Text.Contains("1900"))
             {
                 this.txbxFechaIncidente.Text = "";
             }
         }
         if (suceso.primerInteraccion != null)
         {
             this.txbxFechaInicio.Text = suceso.primerInteraccion.ToString(GlobalSistema.formatoFecha, CultureInfo.InvariantCulture);
             if (this.txbxFechaInicio.Text.Contains("1900"))
             {
                 this.txbxFechaInicio.Text = "";
             }
         }
         UsuarioBean usuarioAtiende = GlobalSistema.sistema.obtenerDatosUsuario(suceso.codigo_usuario.ToString(),false);
         UsuarioBean usuarioAsigna = GlobalSistema.sistema.obtenerDatosUsuario(suceso.codigo_usuario_reporta.ToString(), false);
         this.lblUsuarioRegistra.Text = usuarioAtiende.getNumeroDocumento();
         this.lblUsuarioAsigna.Text = usuarioAsigna.getNumeroDocumento();
         this.txbxNumIncidente.Text = suceso.codigoIncidente;
         this.txbxObservacion.Text = suceso.descripcionincidente;
         this.txbxPais.Text = suceso.pais;
         this.lsBxDatoSeleccionado.SelectedValue = suceso.codigoDato.ToString();
         this.lsBxEstadoIncidente.SelectedValue = suceso.estadoIncidente.ToString();
         this.lsBxGrupoAsignado.SelectedValue = suceso.codigoGrupoAsignado.ToString();
         this.lsBxSOP.SelectedValue = suceso.codigoSop.ToString();
         this.lsBxTierUno.SelectedValue = suceso.codigoTierUno.ToString();
         cargar_datos_tier_dos(suceso.codigoTierUno);
         this.lsBxTierII.SelectedValue = suceso.codigoTierDos.ToString();
         cargar_datos_tier_tres(suceso.codigoTierDos);
         this.lsBxTierIII.SelectedValue = suceso.codigoTierTres.ToString();
         this.lsBxTipoSistemas.SelectedValue = suceso.codigoTipoSistemas.ToString();
         this.chbxRebido.Checked = suceso.recibidoSistemas;
         this.chbxEstadistica.Checked = suceso.estadistica;
         this.chBxEnviado.Checked = suceso.enviadoSistmas;
         chBox_analisis();
     }      
 }
 public string insertarActualizarSucesoUsuario(sucesoBean sucesoUsr) {
     mibase.abrir_conexion_base();
     UsuarioBean usr = new UsuarioBean();
     usr.setCodigoUsuario(0);
     string mensaje = string.Empty;
     try
     {
         List<sucesoBean> sucesos = mibase.obtenerListaSuceso(sucesoUsr.codigoIncidente, usr);
         if (sucesos.Count > 0)
         {
             //actualizamos
             mensaje = mibase.insertarActulizarSuceso(sucesoUsr, false);
         }
         else
         {
             // insertamos
             sucesoUsr.etiqueta = "";
             mensaje =mibase.insertarActulizarSuceso(sucesoUsr, true);
         }
         //mensaje = "Proceso realizado con éxito";
     }
     catch (ExInsertarRegistro ex)
     {
         mensaje = ex.Message;
     }
     catch (ExConexionBase ex)
     {
         mensaje = ex.Message;
     }
     finally { 
     mibase.cerrar_conexion_base();
     }
     return mensaje;
 }