Exemplo n.º 1
0
        void BtnGrabar_Click(object sender, EventArgs e)
        {
            DivErrGrabar.Visible  = false;
            LblErrGrabar.Text     = "";
            DivGoodGrabar.Visible = false;
            LblGoodGrabar.Text    = "";
            if (TxtUsuarioId.Text != "")
            {
                if (ValidaDatosMod() == true)
                {
                    ClUsuario.Actualiza_DatosUsuario(Convert.ToInt32(TxtUsuarioId.Text), TxtUsuario.Text, TxtCorreo.Text, Convert.ToInt32(CboPerfil.SelectedValue), Convert.ToDateTime(string.Format("{0:dd/MM/yyyy}", "01/01/2000")), 0, 0);
                    ClUsuario.Elimina_Modulo_Usuario(Convert.ToInt32(TxtUsuarioId.Text));
                    ClUsuario.Elimina_SubRegion_Usuario(Convert.ToInt32(TxtUsuarioId.Text));
                    for (int i = 0; i < GrdRel_Region.Items.Count; i++)
                    {
                        ClUsuario.Insert_Usuario_Subregion(Convert.ToInt32(TxtUsuarioId.Text), Convert.ToInt32(GrdRel_Region.Items[i].OwnerTableView.DataKeyValues[i]["SubRegionId"]));
                    }
                    for (int i = 0; i < GrdModulos.Items.Count; i++)
                    {
                        CheckBox Modulo;
                        Modulo = (CheckBox)GrdModulos.Items[i].FindControl("ChkModulo");
                        if (Modulo.Checked == true)
                        {
                            ClUsuario.Insert_Usuario_Modulo(Convert.ToInt32(TxtUsuarioId.Text), Convert.ToInt32(GrdModulos.Items[i].OwnerTableView.DataKeyValues[i]["ModuloId"]));
                        }
                    }
                    DivGoodGrabar.Visible = true;
                    LblGoodGrabar.Text    = "Usuario Modificado";

                    if ((CboPerfil.SelectedValue == "10") || (CboPerfil.SelectedValue == "11"))
                    {
                        if (CboPerfil.SelectedValue == "10")
                        {
                            for (int i = 0; i < GrdRel_Region.Items.Count; i++)
                            {
                                ClRegiones.Actualiza_Regional(Convert.ToInt32(GrdRel_Region.Items[i].OwnerTableView.DataKeyValues[i]["RegionId"]), ClPersona.GetPersonaId(Convert.ToInt32(TxtUsuarioId.Text)));
                            }
                        }
                        else if (CboPerfil.SelectedValue == "11")
                        {
                            for (int i = 0; i < GrdRel_Region.Items.Count; i++)
                            {
                                ClRegiones.SP_Actualiza_SubRegional(Convert.ToInt32(GrdRel_Region.Items[i].OwnerTableView.DataKeyValues[i]["SubRegionId"]), ClPersona.GetPersonaId(Convert.ToInt32(TxtUsuarioId.Text)));
                            }
                        }
                    }
                    Limpiar();
                    GrdUsuarios.Rebind();
                }
                else
                {
                    DivErrGrabar.Visible = true;
                }
            }
            else
            {
                if (ValidaDatos() == true)
                {
                    int    UsuarioId = ClUsuario.UsurioId();
                    int    PersonaId = ClPersona.MaxPersonaId();
                    string Clave     = ClUtilitarios.Encrypt(ClUtilitarios.GenerarPass(6, 10), true);
                    ClPersona.Insertar_Persona(PersonaId, TxtNombre.Text, TxtApellidos.Text, Convert.ToDateTime(string.Format("{0:dd/MM/yyyy}", "01/01/2000")), Convert.ToInt32(TxtGeneroID.Text), TxtDpi.Text.Replace("-", ""), "", "", 0, 1, Convert.ToDateTime(string.Format("{0:dd/MM/yyyy}", "01/01/2000")), 0);
                    ClPersona.Insertar_DatosPersona_INAB(PersonaId, Convert.ToInt32(TxtCodPuesto.Text));
                    ClUsuario.Insertar_Usuario(UsuarioId, TxtUsuario.Text, Convert.ToInt32(CboPerfil.SelectedValue), Clave, PersonaId, Convert.ToInt32(CboTipoContratacion.SelectedValue), Convert.ToInt32(Session["UsuarioId"]), TxtCorreo.Text);
                    ClUsuario.Insertar_Permisos(UsuarioId, Convert.ToInt32(CboPerfil.SelectedValue));
                    for (int i = 0; i < GrdRel_Region.Items.Count; i++)
                    {
                        ClUsuario.Insert_Usuario_Subregion(UsuarioId, Convert.ToInt32(GrdRel_Region.Items[i].OwnerTableView.DataKeyValues[i]["SubRegionId"]));
                    }
                    for (int i = 0; i < GrdModulos.Items.Count; i++)
                    {
                        CheckBox Modulo;
                        Modulo = (CheckBox)GrdModulos.Items[i].FindControl("ChkModulo");
                        if (Modulo.Checked == true)
                        {
                            ClUsuario.Insert_Usuario_Modulo(UsuarioId, Convert.ToInt32(GrdModulos.Items[i].OwnerTableView.DataKeyValues[i]["ModuloId"]));
                        }
                    }
                    string Asunto  = "Notificacion de creación de Usuario";
                    string Mensaje = "<body><table><tr><td>Le informamos que se ha creado su usuario para poder acceder al sistema: Sistema Electrónico de Gestión Forestal -SEGEFOR- su usuario es: " + TxtUsuario.Text + ", la contraseña: " + ClUtilitarios.Decrypt(Clave, true) + "</td></tr></table>";
                    ClUtilitarios.EnvioCorreo(TxtCorreo.Text, TxtNombre.Text + ' ' + TxtApellidos.Text, Asunto, Mensaje, 0, "", "");
                    DivGoodGrabar.Visible = true;
                    LblGoodGrabar.Text    = "Usuario Agregado";


                    if ((CboPerfil.SelectedValue == "10") || (CboPerfil.SelectedValue == "11"))
                    {
                        if (CboPerfil.SelectedValue == "10")
                        {
                            for (int i = 0; i < GrdRel_Region.Items.Count; i++)
                            {
                                ClRegiones.Actualiza_Regional(Convert.ToInt32(GrdRel_Region.Items[i].OwnerTableView.DataKeyValues[i]["RegionId"]), PersonaId);
                            }
                        }
                        else if (CboPerfil.SelectedValue == "11")
                        {
                            for (int i = 0; i < GrdRel_Region.Items.Count; i++)
                            {
                                ClRegiones.SP_Actualiza_SubRegional(Convert.ToInt32(GrdRel_Region.Items[i].OwnerTableView.DataKeyValues[i]["SubRegionId"]), PersonaId);
                            }
                        }
                    }
                    Limpiar();
                    GrdUsuarios.Rebind();
                }
                else
                {
                    DivErrGrabar.Visible = true;
                }
            }
        }