protected void btnUsuarioGuardar_Click(object sender, EventArgs e) { try { Funciones f = new Funciones(); this.lblUsuarioError.Visible = true; int invalido = 0; string rol = this.txtUsuarioRol.Text; if ((EsNumero(rol) == true && (Int32.Parse(rol) < 1000000 || Int32.Parse(rol) > 99999999)) || (EsNumero(rol) == false)) { invalido = 1; } string dv = this.txtUsuarioDV.Text; if ((EsNumero(dv) == true && (Int32.Parse(dv) < 0 || Int32.Parse(dv) > 9)) || (EsNumero(dv) == false && dv != "k" && dv != "K")) { invalido = 1; } if (f.ValidarRUN(rol, Convert.ToChar(dv)) == false) { invalido = 2; } string nombre = this.txtUsuarioNombre.Text; string apellido = this.txtUsuarioApellido.Text; DateTime fecha_nac = this.clrUsuarioFechaNacimiento.SelectedDate; string email = this.txtUsuarioCorreo.Text; string telefono = this.txtUsuarioTelefono.Text; if ((EsNumero(telefono) == true && (Int32.Parse(telefono) < 900000000 || Int32.Parse(telefono) > 999999999)) || (EsNumero(telefono) == false)) { invalido = 1; } string direccion = this.txtUsuarioDireccion.Text; bool administrador = this.chkUsuarioAdministrador.Checked; int id_sexo = Int32.Parse(this.ddlUsuarioSexo.SelectedValue); int id_cargo = Int32.Parse(this.ddlUsuarioCargo.SelectedValue); string usuario = this.txtUsuarioUser.Text; string password = this.txtUsuarioPassword.Text; string passwordRepetir = this.txtUsuarioPasswordRepetir.Text; string nombre_imagen = this.FileUpload1.FileName; string extension_imagen = Path.GetExtension(nombre_imagen); if (f.ValidarExtension(extension_imagen) == false && !extension_imagen.Equals("")) { invalido = 1; this.lblUsuarioError.Text += "El archivo no es de tipo imagen, solo se admiten .jpg .jpeg y .png.<br/>"; } this.FileUpload1.SaveAs(MapPath("~/images/Perfil/default-avatar.jpg")); if (invalido == 0) { if (password == passwordRepetir && !password.Equals("")) { if (!nombre.Equals("") && !usuario.Equals("") && !email.Equals("")) { List <int> selectedNacionalidad = this.lstUsuarioNacionalidad.GetSelectedIndices().ToList(); if ((selectedNacionalidad.Count > 1 && !selectedNacionalidad[0].Equals(0)) || (selectedNacionalidad.Count == 1)) { password = f.Encriptar(password); CatalogUsuario cu = new CatalogUsuario(); string imagenString = ""; //Setea una imagen por defecto si el usuario no asigna una if (!extension_imagen.Equals("")) { imagenString = Convert.ToBase64String(FileUpload1.FileBytes); } Project.BusinessRules.Usuario u = new Project.BusinessRules.Usuario(Int32.Parse(rol), dv, id_cargo, id_sexo, nombre, apellido, fecha_nac, direccion, email, Int32.Parse(telefono), usuario, password, administrador, imagenString); //Agrega Usuario y Persona cu.AddUsuario(u); for (int i = 0; i < selectedNacionalidad.Count; i++) { string id_nacionalidad = this.lstUsuarioNacionalidad.Items[selectedNacionalidad[i]].Value; //Agrega Nacionalidad cu.AddNacionalidad(Int32.Parse(id_nacionalidad), Int32.Parse(rol)); } } else { this.lblUsuarioError.Text += "No puede seleccionar sin información y países a la vez.<br/>"; } Response.Redirect("Usuario.aspx"); } else { this.lblUsuarioError.Text += "El nombre, usuario o email no pueden estar vacíos.<br/>"; } } else { this.lblUsuarioError.Text += "Error al ingresar, Las contraseñas deben ser iguales.<br/>"; } } else { if (invalido == 1) { this.lblUsuarioError.Text += "Error al ingresar, Revise los parámetros indicados y modifiquelos.<br/>"; } if (invalido == 2) { this.lblUsuarioError.Text += "El RUN ingresado no es valido.<br/>"; } } } catch (Exception ex) { this.lblUsuarioError.Text += "ERROR CRÍTICO, NO SE HA PODIDO INGRESAR EL USUARIO, ARREGLE LOS PARÁMETROS E INTENTELO NUEVAMENTE.<br/>"; } }
protected void btnUsuarioGuardar_Click(object sender, EventArgs e) { try { Funciones f = new Funciones(); this.lblUsuarioError.Visible = true; int invalido = 0; string rol = this.txtUsuarioRol.Text; string nombre = this.txtUsuarioNombre.Text; string apellido = this.txtUsuarioApellido.Text; DateTime fecha_nac = this.clrUsuarioFechaNacimiento.SelectedDate; string email = this.txtUsuarioCorreo.Text; if (email.Equals("")) { invalido = 1; } string telefono = this.txtUsuarioTelefono.Text; if ((EsNumero(telefono) == true && (Int32.Parse(telefono) < 900000000 || Int32.Parse(telefono) > 999999999)) || (EsNumero(telefono) == false)) { invalido = 1; } string direccion = this.txtUsuarioDireccion.Text; bool administrador = this.chkUsuarioAdministrador.Checked; int id_sexo = Int32.Parse(this.ddlUsuarioSexo.SelectedValue); int id_cargo = Int32.Parse(this.ddlUsuarioCargo.SelectedValue); string nombre_imagen = this.FileUpload1.FileName; string extension_imagen = Path.GetExtension(nombre_imagen); if (f.ValidarExtension(extension_imagen) == false && !extension_imagen.Equals("")) { invalido = 1; this.lblUsuarioError.Text += "El archivo no es de tipo imagen, solo se admiten .jpg .jpeg y .png.<br/>"; } if (invalido == 0) { CatalogUsuario cu = new CatalogUsuario(); string imagenString = ""; //Setea una imagen por defecto si el usuario no asigna una if (!extension_imagen.Equals("")) { imagenString = Convert.ToBase64String(FileUpload1.FileBytes); } Project.BusinessRules.Usuario u = new Project.BusinessRules.Usuario(Int32.Parse(rol), id_cargo, id_sexo, nombre, apellido, fecha_nac, direccion, email, Int32.Parse(telefono), administrador, imagenString); //Agrega Usuario y Persona cu.UpdateUsuario(u); //Agrega Nacionalidad cu.DeleteNacionalidad(Int32.Parse(rol)); List <int> selectedNacionalidad = this.lstUsuarioNacionalidad.GetSelectedIndices().ToList(); if ((selectedNacionalidad.Count > 1 && !selectedNacionalidad[0].Equals(0)) || (selectedNacionalidad.Count == 1)) { for (int i = 0; i < selectedNacionalidad.Count; i++) { string id_nacionalidad = this.lstUsuarioNacionalidad.Items[selectedNacionalidad[i]].Value; cu.AddNacionalidad(Int32.Parse(id_nacionalidad), Int32.Parse(rol)); } } else { this.lblUsuarioError.Text += "No puede seleccionar sin información y países a la vez.<br/>"; } Response.Redirect("Menu.aspx"); } else { this.lblUsuarioError.Text += "Error al ingresar, Revise los parámetros indicados y modifiquelos.<br/>"; } } catch (Exception ex) { this.lblUsuarioError.Text += "ERROR CRÍTICO, NO SE HA PODIDO INGRESAR EL USUARIO, ARREGLE LOS PARÁMETROS E INTENTELO NUEVAMENTE.<br/>"; } }