Esempio n. 1
0
        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/>";
            }
        }