protected void Page_Load(object sender, EventArgs e) { //Para el boton de regresar op = Request.QueryString["op"]; if (!IsPostBack) { ListItem itemDefault = new ListItem("--Selecione--", ""); if (op != null) { #region Valores Predeterminados //padre divAsiganado.Visible = false; cmbAsignado.DataSource = null; //municipio divMunicipio.Visible = false; cmbMunicipio.DataSource = null; //suplente divSuplente.Visible = false; cmbSuplente.DataSource = null; //seccion divSeccion.Visible = false; cmbSeccion.DataSource = null; //casilla divCasilla.Visible = false; cmbCasilla.DataSource = null; //tipo de usuario (solo en admin, monitor y capturista) cmbTipoUsuario.Visible = false; cmbTipoUsuario.DataSource = null; #endregion #region 100 Representante general if (op == "100") { //Si es general, no tiene padre. no tiene suplente. no tiene seccion ni casilla txtTipoUsuario.Visible = true; txtTipoUsuario.Text = "REPRESENTANTE GENERAL"; Session["idtipouser"] = 100; } #endregion #region 101 Suplente de representante general else if (op == "101") { //es suplente divSuplente.Visible = true; //LlenarCombo llenarComboRepresentanteSinCasilla(100, op); //padre divAsiganado.Visible = false; cmbAsignado.DataSource = null; txtTipoUsuario.Text = "SUPLENTE DE REPRESENTANTE GENERAL"; Session["idtipouser"] = 101; } #endregion #region 200 representante de seccion else if (op == "200") { txtTipoUsuario.Text = "REPRESENTANTE DE SECCIÓN"; Session["idtipouser"] = 200; //seccion txtTipoUsuario.Visible = true; //padre divAsiganado.Visible = true; cmbAsignado.DataSource = null; llenarComboRepresentanteSinCasilla(100, op); //municipio divMunicipio.Visible = true; llenarComboMunicipios(); cmbMunicipio.AutoPostBack = true; //seccion divSeccion.Visible = true; cmbSeccion.Items.Insert(0, itemDefault); } #endregion #region 201 suplente de representante de seccion else if (op == "201") { //es suplente divSuplente.Visible = true; llenarComboRepresentanteSinCasilla(200, op); cmbSuplente.AutoPostBack = true; divSeccion.Visible = true; cmbSeccion.DataSource = null; cmbSeccion.Items.Insert(0, itemDefault); txtTipoUsuario.Text = "SUPLENTE DE REPRESENTANTE DE SECCIÓN"; Session["idtipouser"] = 201; } #endregion #region 300 representante de casilla else if (op == "300") { txtTipoUsuario.Visible = true; //padre divAsiganado.Visible = true; llenarComboRepresentanteSinCasilla(200, op); cmbAsignado.AutoPostBack = true; //se llena segun el asignado divSeccion.Visible = true; cmbSeccion.DataSource = null; cmbSeccion.Items.Insert(0, itemDefault); //OBTENER LAS CASILLAS DE ACUERDO AL REPRESENTANTE DE SECCION divCasilla.Visible = true; cmbCasilla.DataSource = null; cmbCasilla.Items.Insert(0, itemDefault); txtTipoUsuario.Text = "REPRESENTANTE DE CASILLA"; Session["idtipouser"] = 300; } #endregion #region 301 suplente de representante de casilla else if (op == "301") { //es suplente divSuplente.Visible = true; llenarComboSuplente(300); cmbSuplente.AutoPostBack = true; //seccion y casilla se toma del padre divSeccion.Visible = true; cmbSeccion.DataSource = null; cmbSeccion.Items.Insert(0, itemDefault); divCasilla.Visible = true; cmbCasilla.DataSource = null; cmbCasilla.Items.Insert(0, itemDefault); txtTipoUsuario.Text = "SUPLENTE DE REPRESENTANTE DE CASILLA"; Session["idtipouser"] = 301; } #endregion #region 400 operador politico else if (op == "400") { //operador txtTipoUsuario.Visible = true; divAsiganado.Visible = true; //llenar combo a partir de casilla al parecer llenarComboPadre(300, op); cmbAsignado.AutoPostBack = true; //seccion y casilla se toma del padre, seria del jefe de casilla, solo para efecto de muestra divSeccion.Visible = true; cmbSeccion.DataSource = null; cmbSeccion.Items.Insert(0, itemDefault); //Para efecto de muestra divCasilla.Visible = true; cmbCasilla.DataSource = null; cmbCasilla.Items.Insert(0, itemDefault); txtTipoUsuario.Text = "OPERADOR POLÍTICO"; Session["idtipouser"] = 400; } #endregion #region 1-10-11 administrador, secretaria y monitor //administrador, secretaria y monitor else if (op == "1" || op == "10" || op == "11") { //escondemos el input tipo de usuario txtTipoUsuario.Visible = false; txtTipoUsuario.Text = ""; divTipoUsuario.Visible = false; //cambiamos a dropdown cmbTipoUsuario.Visible = true; //llenarCombo this.CargarComboTipoUsuario(); Session["idtipouser"] = null; } #endregion } } if (!IsPostBack) { this.CargarComboGenero(); if (Request.QueryString["opW"] != null) {//MODIFICAR if (Request.QueryString["opW"] == "2") { if (Request.QueryString["id"] != null) { string ID = Request.QueryString["id"].ToString(); if (Request.QueryString["id"].ToString() == ID) { //Obtener los datos y dibujarlos. EM_CatColaborador DatosAux = new EM_CatColaborador { Conexion = Comun.Conexion, IDColaborador = ID }; EM_CatalagosNegocio CN = new EM_CatalagosNegocio(); CN.ObtenerDetalleColaboradoresXID(DatosAux); if (DatosAux.Completado) { this.CargarDatos(DatosAux); #region 101 Asignar valores Suplente Representante General if (DatosAux.IDTipoUsu == 101) { ListItem listItemSuplente = cmbSuplente.Items.FindByValue(DatosAux.Sumplente); if (listItemSuplente != null) { cmbSuplente.SelectedValue = listItemSuplente.Value; } else { cmbSuplente.SelectedIndex = -1; } } #endregion #region 200 Asignar valores Representante de seccion if (DatosAux.IDTipoUsu == 200) { cmbAsignado.SelectedIndex = -1; cmbMunicipio.SelectedIndex = -1; cmbSeccion.SelectedIndex = -1; ListItem listItemPadre = cmbAsignado.Items.FindByValue(DatosAux.Padre); if (listItemPadre != null) { cmbAsignado.SelectedValue = listItemPadre.Value; } else { cmbAsignado.SelectedIndex = -1; } ListItem listItemMunicipio = cmbMunicipio.Items.FindByValue(DatosAux.Municipio.ToString()); if (listItemMunicipio != null) { cmbMunicipio.SelectedValue = listItemMunicipio.Value; } else { cmbMunicipio.SelectedIndex = -1; } llenarComboSeccionesXMunicipio(DatosAux.Municipio); cmbSeccion.SelectedIndex = -1; ListItem listItemSeccion = cmbSeccion.Items.FindByValue(DatosAux.Seccion.ToString()); if (listItemMunicipio != null) { cmbSeccion.SelectedValue = listItemSeccion.Value; } else { cmbSeccion.SelectedIndex = -1; } } #endregion #region 201 Asignar valores Suplente de Representante de seccion else if (DatosAux.IDTipoUsu == 201) { ListItem listItemSuplente = cmbSuplente.Items.FindByValue(DatosAux.Sumplente); if (listItemSuplente != null) { cmbSuplente.SelectedValue = listItemSuplente.Value; } else { cmbSuplente.SelectedIndex = -1; } llenarComboSeccionesXMunicipio(DatosAux.Municipio); cmbSeccion.SelectedIndex = -1; cmbSeccion.Items.Insert(0, new ListItem(DatosAux.Seccion.ToString(), DatosAux.Seccion.ToString())); } #endregion #region 300 Asignar valores Representante de casilla else if (DatosAux.IDTipoUsu == 300) { cmbAsignado.SelectedIndex = -1; cmbSeccion.SelectedIndex = -1; cmbCasilla.SelectedIndex = -1; ListItem listItemAsignado = cmbAsignado.Items.FindByValue(DatosAux.Padre); if (listItemAsignado != null) { cmbAsignado.SelectedValue = listItemAsignado.Value; } else { cmbAsignado.SelectedIndex = -1; } //la seccion se llena directo ya que es el mismo id y nombre, es único cmbSeccion.Items.Insert(0, new ListItem(DatosAux.Seccion.ToString(), DatosAux.Seccion.ToString())); llenarComboCasillas(DatosAux.Seccion.ToString()); cmbCasilla.SelectedIndex = -1; ListItem listItemCasilla = cmbCasilla.Items.FindByValue(DatosAux.Casilla.ToString()); if (listItemCasilla != null) { cmbCasilla.SelectedValue = listItemCasilla.Value; } else { cmbCasilla.SelectedIndex = -1; } } #endregion #region 301 Asignar Valores Suplente de casilla else if (DatosAux.IDTipoUsu == 301) { cmbSuplente.SelectedIndex = -1; cmbSeccion.SelectedIndex = -1; cmbCasilla.SelectedIndex = -1; ListItem listItemSuplente = cmbSuplente.Items.FindByValue(DatosAux.Sumplente); if (listItemSuplente != null) { cmbSuplente.SelectedValue = listItemSuplente.Value; } else { cmbSuplente.SelectedIndex = -1; } //la seccion se llena directo ya que es el mismo id y nombre, es único cmbSeccion.Items.Insert(0, new ListItem(DatosAux.Seccion.ToString(), DatosAux.Seccion.ToString())); cmbCasilla.Items.Insert(0, new ListItem(DatosAux.NomCasilla, DatosAux.Casilla.ToString())); } #endregion #region 400 Operador político else if (DatosAux.IDTipoUsu == 400) { cmbAsignado.SelectedIndex = -1; cmbSeccion.SelectedIndex = -1; cmbCasilla.SelectedIndex = -1; ListItem listItemAsignado = cmbAsignado.Items.FindByValue(DatosAux.Padre); if (listItemAsignado != null) { cmbAsignado.SelectedValue = listItemAsignado.Value; } else { cmbAsignado.SelectedIndex = -1; } //la seccion se llena directo ya que es el mismo id y nombre cmbSeccion.Items.Insert(0, new ListItem(DatosAux.Seccion.ToString(), DatosAux.Seccion.ToString())); cmbCasilla.Items.Insert(0, new ListItem(DatosAux.NomCasilla, DatosAux.Casilla.ToString())); } #endregion else if (DatosAux.IDTipoUsu == 1 || DatosAux.IDTipoUsu == 10 || DatosAux.IDTipoUsu == 11) { cmbTipoUsuario.SelectedIndex = -1; ListItem listItemTipoUsuario = cmbTipoUsuario.Items.FindByValue(DatosAux.IDTipoUsu.ToString()); if (listItemTipoUsuario != null) { cmbTipoUsuario.SelectedValue = listItemTipoUsuario.Value; } else { cmbTipoUsuario.SelectedIndex = -1; } } } else { //Ocurrió un error Response.Redirect("frmColaboradores.aspx?error=" + "Error al cargar los datos&nError=1", false); } } else { Response.Redirect("frmColaboradores.aspx", false); } } else { Response.Redirect("frmColaboradores.aspx", false); } } else { Response.Redirect("frmColaboradores.aspx", false); } } else {//NUEVO this.IniciarDatos(); } } else { //al parecer c sera null si es evento del boton submit Control c = GetPostBackControl(this.Page); if (c == null) { try { string imagen = string.Empty; string sBandImgServer = Request.Form["ctl00$cph_MasterBody$inputImgServer"].ToString(); bool bandImgServer = (sBandImgServer == "False") ? false : true; CultureInfo esMX = new CultureInfo("es-MX"); int IDGenero, IDTipoUsuario = -1; DateTime txtFechaNac; if (imgImagen.HasFile) //Hay cambio de imagen { #region Obtener datos de la imagen int size = imgImagen.PostedFile.ContentLength; byte[] ImagenOriginal = new byte[size]; imgImagen.PostedFile.InputStream.Read(ImagenOriginal, 0, size); Bitmap ImagenOriginalBinaria = new Bitmap(imgImagen.PostedFile.InputStream); #endregion #region Insertar imagen en la base de datos imagen = ZM_ConversionBS.ToBase64String(ImagenOriginalBinaria, ImageFormat.Jpeg); #endregion bandImgServer = true; } //obtener tipo de usuario if (Session["idtipouser"] != null) { IDTipoUsuario = Convert.ToInt32(Session["idtipouser"].ToString()); } else { IDTipoUsuario = Convert.ToInt32(cmbTipoUsuario.SelectedValue.ToString()); } //Valores predeterminados, tanto para el representante general como el administrador string padre = "X", suplente = "X", id_poligono = "X"; int seccion = 0, municipio = 0, casilla = 0; //regla de los nuevos campos //checamos el suplente del representante general if (IDTipoUsuario == 101) { suplente = cmbSuplente.SelectedValue.ToString(); } //representante de seccion else if (IDTipoUsuario == 200) { padre = cmbAsignado.SelectedValue.ToString(); municipio = Int32.Parse(cmbMunicipio.SelectedValue.ToString()); seccion = Int32.Parse(cmbSeccion.SelectedValue.ToString()); } //suplente de representante de seccion else if (IDTipoUsuario == 201) { suplente = cmbSuplente.SelectedValue.ToString(); seccion = Convert.ToInt32(cmbSeccion.SelectedValue.ToString()); } //representate de casilla else if (IDTipoUsuario == 300) { padre = cmbAsignado.SelectedValue.ToString(); seccion = Convert.ToInt32(cmbSeccion.SelectedValue.ToString()); int.TryParse(cmbCasilla.SelectedValue.ToString(), out casilla); } //suplente representante de casilla else if (IDTipoUsuario == 301) { suplente = cmbSuplente.SelectedValue.ToString(); seccion = Convert.ToInt32(cmbSeccion.SelectedValue.ToString()); int.TryParse(cmbCasilla.SelectedValue.ToString(), out casilla); } //operador politico else if (IDTipoUsuario == 400) { padre = cmbAsignado.SelectedValue.ToString(); seccion = Int32.Parse(cmbSeccion.SelectedValue.ToString()); int.TryParse(cmbCasilla.SelectedValue.ToString(), out casilla); } //Administrador | capturista | monitor else if (IDTipoUsuario == 1 || IDTipoUsuario == 10 || IDTipoUsuario == 11) { } int estado = 0; string txtNomb = Request.Form["ctl00$cph_MasterBody$txtNombre"].ToString(); string txtApPaterno = Request.Form["ctl00$cph_MasterBody$txtApPaterno"].ToString(); string txtApMaterno = Request.Form["ctl00$cph_MasterBody$txtApMaterno"].ToString(); string txtCorreo = Request.Form["ctl00$cph_MasterBody$txtCorreo"].ToString(); string txtTelefono = Request.Form["ctl00$cph_MasterBody$txtTelefono"].ToString(); string txtPassword = Request.Form["ctl00$cph_MasterBody$id_password"].ToString(); string txtPasswordConfi = Request.Form["ctl00$cph_MasterBody$id_password_again"].ToString(); string FechaNacimi = string.IsNullOrEmpty(Request.Form["ctl00$cph_MasterBody$txtFechaNac"]) ? string.Empty : Request.Form["ctl00$cph_MasterBody$txtFechaNac"]; DateTime.TryParseExact(FechaNacimi, "dd-MM-yyyy", esMX, System.Globalization.DateTimeStyles.None, out txtFechaNac); string txtCP = Request.Form["ctl00$cph_MasterBody$txtCodigoPostal"].ToString(); string direccion = Request.Form["ctl00$cph_MasterBody$txtDireccion"].ToString(); string numExt = Request.Form["ctl00$cph_MasterBody$txtNumeroExt"].ToString(); string numInt = Request.Form["ctl00$cph_MasterBody$txtNumeroInt"].ToString(); string colonia = Request.Form["ctl00$cph_MasterBody$txtColonia"].ToString(); string clvElector = Request.Form["ctl00$cph_MasterBody$txtClavElector"].ToString(); IDGenero = Int32.Parse(cmbGenero.SelectedValue.ToString()); string IDColaborador = Request.Form["ctl00$cph_MasterBody$hf"].ToString(); bool bandPassServer = bool.Parse(Request.Form["ctl00$cph_MasterBody$inputPassServer"].ToString()); this.Guardar( IDColaborador, IDTipoUsuario, txtNomb, txtApPaterno, txtApMaterno, estado, municipio, id_poligono, direccion, numExt, numInt, colonia, txtCP, clvElector, txtCorreo, txtTelefono, txtPassword, IDGenero, txtFechaNac, imagen, bandPassServer, padre, suplente, casilla, bandImgServer, seccion ); } catch (Exception ex) { Response.Redirect("ErrorPage.aspx?msjError=" + ex.Message, false); } } } }