private void InsertarPerfiles(int indxPerfil, int param_idPersona)
 {
     switch (indxPerfil)
     {
         case 1:
             Odontologo odo = new Odontologo();
             odo.IdPersona = param_idPersona;
             odo.Especialidad = "Ingrese Especialidad";
             cliente_odontologo.InsertarOdontologo(odo);
             break;
         case 2:
           Odontologo odonto = new Odontologo();
             odonto.IdPersona = param_idPersona;
             odonto.Especialidad = "Ingrese Especialidad";
             cliente_odontologo.InsertarOdontologo(odonto);
             break;
         case 3:
             Funcionario funcionario = new Funcionario(); 
             funcionario.IdPersona = param_idPersona;
             funcionario.PuestoTrabajo = "Ingrese puesto de trabajo";
             client_fun.InsertarFuncionario(funcionario);
             break;
         case 4:
             Paciente paciente = new Paciente();
             paciente.IdPersona = param_idPersona;
             paciente.FechaIngreso = DateTime.Now;
             cliente_paciente.InsertarPaciente(paciente);
             break;
     }
 }
 public string ModificarOdontologo(Odontologo odontologo)
 {
     string odontologoModificado = string.Empty;
     //{"indice":6,"idOdontologo":2,"idPersona":1,"especialidad":"Cirugia"}
     this.JsonParam = "{\"indice\":6,\"idOdontologo\":" + odontologo.IdOdontologo + ",\"idPersona\":" + odontologo.IdPersona + ",\"especialidad\":\"" + odontologo.Especialidad + "\",\"habilitado\":1}";
     try
     {
         String result = netclient.NetPost("ws-admin-usuario.php", this.JsonParam);
         var jobject = JObject.Parse(result);
         //resultado
         odontologoModificado = jobject.SelectToken("resultado").ToString();
     }
     catch (Exception e)
     {
         throw new Exception(e + "| Error al Modificar Odontologo");
     }
     return odontologoModificado;
 }
        private void btnNuevo_Click(object sender, EventArgs e)
        {
            if (btnNuevo.Text.ToString().Trim() == "Ingresar Odontologo")
            {
                if (cmbxUsuario.SelectedValue.ToString() != "")
                {
                    List<Odontologo> list = this.client_odontologo.ListarOdontologo();
                    int patron = Convert.ToInt32(cmbxUsuario.SelectedValue.ToString());
                    Odontologo result = list.Find(delegate(Odontologo odot) { return odot.IdPersona == patron; });
                    if (result != null)
                    {
                        if (MessageBox.Show("El odontólogo " + result.Nombre + " " + result.ApellidoPaterno + " ya se encuentra registrado en el sistema, ¿Desea modificar su información con la recién ingresada?", "SFH Administración de Usuarios del Sistema - Administración de Odontólogos", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                        {
                            try
                            {
                                if (validaciones.EsSoloTexto(txtesp))
                                {
                                    Odontologo odontologo = new Odontologo();
                                    odontologo.IdOdontologo = result.IdOdontologo;
                                    odontologo.IdPersona = Convert.ToInt32(cmbxUsuario.SelectedValue);
                                    odontologo.Especialidad = txtesp.Text;
                                    if (this.client_odontologo.ModificarOdontologo(odontologo) != "")
                                    {
                                        String deshab = string.Empty;
                                        switch (cmbxestado.SelectedIndex)
                                        {
                                            case 0:
                                                deshab = this.client_odontologo.DesabilitarHabilitarOdontologo(this.Id_odontologo, 0);
                                                break;

                                            case 1:
                                                deshab = this.client_odontologo.DesabilitarHabilitarOdontologo(this.Id_odontologo, 1);
                                                break;
                                        }
                                        this.LimpiarControles();
                                        datagriPersona.DataSource = this.client_odontologo.ListarOdontologo();
                                        MessageBox.Show("Odontólogo modificado correctamente.", "SFH Administración de Usuarios del Sistema - Administración de Odontólogos", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                        if (deshab == string.Empty)
                                        {
                                            MessageBox.Show("Estado del odontólogo NO fue modificado.", "SFH Administración de Usuarios del Sistema - Administración de Odontólogos", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show("Se produjo un error, vuelva a intentarlo.", "SFH Administración de Usuarios del Sistema - Administración de Odontólogos", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                }
                            }
                            catch
                            {
                                MessageBox.Show("Se produjo un error, vuelva a intentarlo.", "SFH Administración de Usuarios del Sistema - Administración de Odontólogos", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                    }
                    else
                    {
                        try
                        {
                            if (validaciones.EsSoloTexto(txtesp))
                            {
                                Odontologo odontologo = new Odontologo();
                                odontologo.IdPersona = Convert.ToInt32(cmbxUsuario.SelectedValue);
                                odontologo.Especialidad = txtesp.Text;
                                String insert_odonto = this.client_odontologo.InsertarOdontologo(odontologo);
                                if (insert_odonto != string.Empty)
                                {
                                    this.LimpiarControles();
                                    datagriPersona.DataSource = this.client_odontologo.ListarOdontologo();
                                    MessageBox.Show("Odontologo ingresado correctamente.", "SFH Administración de Usuarios del Sistema - Administración de Odontólogos", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                }
                                else
                                {
                                    MessageBox.Show("Se produjo un error, vuelva a intentarlo.", "SFH Administración de Usuarios del Sistema - Administración de Odontólogos", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                            }
                        }
                        catch
                        {
                            MessageBox.Show("Se produjo un error, vuelva a intentarlo.", "SFH Administración de Usuarios del Sistema - Administración de Odontólogos", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
                          
            }
            else if (btnNuevo.Text.ToString().Trim() == "Guardar Cambios")
            {
                try
                {
                    if (validaciones.EsSoloTexto(txtesp))
                    {
                        Odontologo odontologo = new Odontologo();
                        odontologo.IdOdontologo = this.Id_odontologo;
                        odontologo.IdPersona = Convert.ToInt32(cmbxUsuario.SelectedValue);
                        odontologo.Especialidad = txtesp.Text;
                        if (this.client_odontologo.ModificarOdontologo(odontologo) != "")
                        {
                            String deshab_odonto = string.Empty;
                            switch (cmbxestado.SelectedIndex)
                            {
                                case 0:
                                    deshab_odonto = this.client_odontologo.DesabilitarHabilitarOdontologo(this.Id_odontologo, 0);
                                    break;

                                case 1:
                                    deshab_odonto = this.client_odontologo.DesabilitarHabilitarOdontologo(this.Id_odontologo, 1);
                                    break;
                            }
                            this.LimpiarControles();
                            datagriPersona.DataSource = this.client_odontologo.ListarOdontologo();
                            MessageBox.Show("Odontologo modificado satisfactoriamente", "SFH Administración de Usuarios del Sistema - Administración de Odontólogos", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            if (deshab_odonto == string.Empty)
                            {
                                MessageBox.Show("Estado del odontólogo NO fue modificado.", "SFH Administración de Usuarios del Sistema - Administración de Odontólogos", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                        else
                        {
                            MessageBox.Show("Se produjo un error, vuelva a intentarlo.", "SFH Administración de Usuarios del Sistema - Administración de Odontólogos", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
                catch
                {
                    MessageBox.Show("Se produjo un error, vuelva a intentarlo.", "SFH Administración de Usuarios del Sistema - Administración de Odontólogos", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        public List<Odontologo> BuscarOdontologoPorNombreApellido(string nombre, string apellido)
        {
            List<Odontologo> list = new List<Odontologo>();
            try
            {
                this.JsonParam = "{\"indice\":8,\"nombre\":\"" + nombre + "\",\"apellido\":\"" + apellido + "\"}";
                String result = netclient.NetPost("ws-admin-usuario-sig.php", this.JsonParam);
                var jobject = JObject.Parse(result);
                var token = jobject.SelectToken("buscarOdontologoNombre").ToList();
                foreach (var item in token)
                {

                    Odontologo odontologo = new Odontologo();
                    //{"idOdontologo":2,"idPersona":1,"especialidad":"Cirugia","odontologoHabilitado":null,"idPerfil":1,"rut":"17231233","dv":"2",
                    //"nombre":"Ada","apellidoPaterno":"Tatus","apellidoMaterno":"Boren","fechaNacimiento":"1991-08-06"}
                    odontologo.IdOdontologo = Convert.ToInt32(item.SelectToken("idOdontologo").ToString());
                    odontologo.IdPersona = Convert.ToInt32(item.SelectToken("idPersona").ToString());
                    odontologo.Especialidad = item.SelectToken("especialidad").ToString();
                    int estado = Convert.ToInt32(item.SelectToken("odontologoHabilitado").ToString());
                    odontologo.IdPerfil = Convert.ToInt32(item.SelectToken("idPerfil").ToString());
                    int num_perfil = odontologo.IdPerfil;
                    switch (num_perfil)
                    {
                        case 1:
                            odontologo.Nomperfil = "Administrador";
                            break;
                        case 2:
                            odontologo.Nomperfil = "Doctor";
                            break;
                        case 3:
                            odontologo.Nomperfil = "Asistente";
                            break;
                        case 4:
                            odontologo.Nomperfil = "Paciente";
                            break;
                    }
                    odontologo.Rut = Convert.ToInt32(item.SelectToken("rut").ToString());
                    odontologo.Dv = item.SelectToken("dv").ToString();
                    odontologo.Nombre = item.SelectToken("nombre").ToString();
                    odontologo.ApellidoPaterno = item.SelectToken("apellidoPaterno").ToString();
                    odontologo.ApellidoMaterno = item.SelectToken("apellidoMaterno").ToString();
                    odontologo.FechaNacimiento = Convert.ToDateTime(item.SelectToken("fechaNacimiento").ToString());

                    if (estado.Equals(0))
                    {
                        odontologo.OdontologoHabilitado = EstadoPersona.DESHABILITADO;
                    }
                    else if (estado.Equals(1))
                    {
                        odontologo.OdontologoHabilitado = EstadoPersona.HABILITADO;
                    }
                    list.Add(odontologo);
                }

            }
            catch (Exception e)
            {
                throw new Exception(e + "| Error al Listar Odontologo");
            }
            return list;
        }
        public List<Odontologo> ListarOdontologo()
        {
            List<Odontologo> list = new List<Odontologo>();
            try
            {
                this.JsonParam = "{\"indice\":17}";
                String result = netclient.NetPost("ws-admin-usuario.php", this.JsonParam);
                var jobject = JObject.Parse(result);
                var token = jobject.SelectToken("listaOdontologoHerencia").ToList();
                foreach (var item in token)
                {

                    Odontologo odontologo = new Odontologo();
                    //{"idOdontologo":2,"idPersona":1,"especialidad":"Cirugia","odontologoHabilitado":null,"idPerfil":1,"rut":"17231233","dv":"2",
                    //"nombre":"Ada","apellidoPaterno":"Tatus","apellidoMaterno":"Boren","fechaNacimiento":"1991-08-06"}
                    odontologo.IdOdontologo = Convert.ToInt32(item.SelectToken("idOdontologo").ToString());
                    odontologo.IdPersona = Convert.ToInt32(item.SelectToken("idPersona").ToString());
                    odontologo.Especialidad = item.SelectToken("especialidad").ToString();
                    int estado = Convert.ToInt32(item.SelectToken("odontologoHabilitado").ToString());
                    odontologo.IdPerfil = Convert.ToInt32(item.SelectToken("idPerfil").ToString());
                    odontologo.Rut = Convert.ToInt32(item.SelectToken("rut").ToString());
                    odontologo.Dv = item.SelectToken("dv").ToString();
                    odontologo.Nombre = item.SelectToken("nombre").ToString();
                    odontologo.ApellidoPaterno = item.SelectToken("apellidoPaterno").ToString();
                    odontologo.ApellidoMaterno = item.SelectToken("apellidoMaterno").ToString();
                    odontologo.FechaNacimiento = Convert.ToDateTime(item.SelectToken("fechaNacimiento").ToString());

                    if (estado.Equals(0))
                    {
                        odontologo.OdontologoHabilitado = EstadoPersona.DESHABILITADO;
                    }
                    else if (estado.Equals(1))
                    {
                        odontologo.OdontologoHabilitado = EstadoPersona.HABILITADO;
                    }
                    list.Add(odontologo);
                }

            }
            catch (Exception e)
            {
                throw new Exception(e + "| Error al Listar Odontologo");
            }
            return list;
        }
        private void btnNuevo_Click(object sender, EventArgs e)
        {
            if (btnNuevo.Text.ToString().Trim() == "Ingresar Odontologo")
            {
                if (cmbxUsuario.SelectedValue.ToString() != "")
                {
                    //datagriPersona.DataSource = 
                    List<Odontologo> list = this.client_odontologo.ListarOdontologo();
                    int patron = Convert.ToInt32(cmbxUsuario.SelectedValue.ToString());
                    Odontologo result = list.Find(delegate(Odontologo odot) { return odot.IdPersona == patron; });
                    if (result != null)
                    {
                        if (MessageBox.Show("El Odontologo " + result.Nombre + " " + result.ApellidoPaterno + " ya se encuentra registrado dentro del sistema, ¿Desea Modificar su información con la recién ingresada?", "SFH Administración de Clínica - Administración de Usuarios", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                        {
                            Odontologo odontologo = new Odontologo();
                            odontologo.IdOdontologo = result.IdOdontologo;
                            odontologo.IdPersona = Convert.ToInt32(cmbxUsuario.SelectedValue);
                            odontologo.Especialidad = txtesp.Text;
                            if (this.client_odontologo.ModificarOdontologo(odontologo) != "")
                            {
                                switch (cmbxestado.SelectedIndex)
                                {
                                    case 0:
                                        this.client_odontologo.DesabilitarHabilitarOdontologo(this.Id_odontologo, 0);
                                        break;

                                    case 1:
                                        this.client_odontologo.DesabilitarHabilitarOdontologo(this.Id_odontologo, 1);
                                        break;
                                }

                            }

                            this.LimpiarControles();
                            datagriPersona.DataSource = this.client_odontologo.ListarOdontologo();
                            MessageBox.Show("Odontologo modificado satisfactoriamente", "SFH Administración de Clínica - Administración de Usuarios", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                    else
                    {
                        Odontologo odontologo = new Odontologo();
                        odontologo.IdPersona = Convert.ToInt32(cmbxUsuario.SelectedValue);
                        odontologo.Especialidad = txtesp.Text;
                        this.client_odontologo.InsertarOdontologo(odontologo);
                        this.LimpiarControles();
                        datagriPersona.DataSource = this.client_odontologo.ListarOdontologo();
                        MessageBox.Show("Odontologo registrado satisfactoriamente", "SFH Administración de Clínica - Administración de Usuarios", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                          
            }
            else if (btnNuevo.Text.ToString().Trim() == "Guardar Cambios")
            {

                Odontologo odontologo = new Odontologo();
                odontologo.IdOdontologo = this.Id_odontologo;
                odontologo.IdPersona = Convert.ToInt32(cmbxUsuario.SelectedValue);
                odontologo.Especialidad = txtesp.Text;
                if (this.client_odontologo.ModificarOdontologo(odontologo) != "")
                {
                    switch (cmbxestado.SelectedIndex)
                    {
                        case 0:
                            this.client_odontologo.DesabilitarHabilitarOdontologo(this.Id_odontologo, 0);
                            break;

                        case 1:
                            this.client_odontologo.DesabilitarHabilitarOdontologo(this.Id_odontologo, 1);
                            break;
                    }

                }

                this.LimpiarControles();
                datagriPersona.DataSource = this.client_odontologo.ListarOdontologo();
                MessageBox.Show("Odontologo modificado satisfactoriamente", "SFH Administración de Clínica - Administración de Usuarios", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }
        }
        private void btnNuevo_Click(object sender, EventArgs e)
        {
            if (btnNuevo.Text.ToString().Trim() == "Ingresar Odontologo")
            {
                Odontologo odontologo = new Odontologo();
                odontologo.IdPersona = Convert.ToInt32(cmbxUsuario.SelectedValue);
                odontologo.Especialidad = txtesp.Text;
                this.client_odontologo.InsertarOdontologo(odontologo);
                this.LimpiarControles();
                datagriPersona.DataSource = this.client_odontologo.ListarOdontologo();
                MessageBox.Show("Odontologo registrado satisfactoriamente", "SFH Administración de Clínica - Administración de Usuarios", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }
            else if (btnNuevo.Text.ToString().Trim() == "Guardar Cambios")
            {

                Odontologo odontologo = new Odontologo();
                odontologo.IdOdontologo = this.Id_odontologo;
                odontologo.IdPersona = Convert.ToInt32(cmbxUsuario.SelectedValue);
                odontologo.Especialidad = txtesp.Text;
                if (this.client_odontologo.ModificarOdontologo(odontologo) != "")
                {
                    switch (cmbxestado.SelectedIndex)
                    {
                        case 0:
                            this.client_odontologo.DesabilitarHabilitarOdontologo(this.Id_odontologo, 0);
                            break;

                        case 1:
                            this.client_odontologo.DesabilitarHabilitarOdontologo(this.Id_odontologo, 1);
                            break;
                    }

                }

                this.LimpiarControles();
                datagriPersona.DataSource = this.client_odontologo.ListarOdontologo();
                MessageBox.Show("Odontologo modificado satisfactoriamente", "SFH Administración de Clínica - Administración de Usuarios", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }
        }