public AddUpdateOrganismo(Organismos organismo, bool checkIntegration)
 {
     InitializeComponent();
     this.organismo = organismo;
     isUpdating = true;
     this.checkIntegration = checkIntegration;
 }
        public AddUpdateOrganismo(int tipoTribunal)
        {
            InitializeComponent();
            organismo = new Organismos();
            organismo.TipoOrganismo = tipoTribunal;

        }
 private void SelectObjectSelectedTab()
 {
     switch (Convert.ToInt16(Docking.ActivePane.Tag))
     {
         case 1:
             organismo = controlColegiados.OrgColegiado;
             break;
         case 2:
             organismo = controlUnitarios.OrgColegiado;
             break;
         case 3:
             organismo = controlJuzgados.OrgColegiado;
             break;
         case 4:
             organismo = controlPlenos.OrgColegiado;
             break;
         case 5:
             funcionario = controlFuncionarios.FuncionarioPjf;
             break;
     }
 }
        public void AddNewFuncionario(Funcionarios funcionario, Organismos organismo)
        {
            SqlConnection oleConne = new SqlConnection(ConfigurationManager.ConnectionStrings["Directorio"].ToString());
            SqlDataAdapter dataAdapter;

            DataSet dataSet = new DataSet();
            DataRow dr;

            int idFuncionario = DataBaseUtilities.GetNextIdForUse("Funcionarios", "IdFuncionario", oleConne);
            if (idFuncionario != 0)
            {
                funcionario.IdFuncionario = idFuncionario;
                
                dataAdapter = new SqlDataAdapter();
                dataAdapter.SelectCommand = new SqlCommand("SELECT * FROM Funcionarios WHERE IdFuncionario = 0", oleConne);

                dataAdapter.Fill(dataSet, "Funcionario");

                dr = dataSet.Tables["Funcionario"].NewRow();
                dr["IdFuncionario"] = idFuncionario;
                dr["Puesto"] = funcionario.Puesto;
                dr["Apellidos"] = funcionario.Apellidos;
                dr["Nombre"] = funcionario.Nombre;
                dr["Activo"] = funcionario.Activo;
                dr["Texto"] = funcionario.Texto;
                dr["InicialApellido"] = funcionario.Apellidos.Substring(0, 1);

                dataSet.Tables["Funcionario"].Rows.Add(dr);

                dataAdapter.InsertCommand = oleConne.CreateCommand();
                dataAdapter.InsertCommand.CommandText =
                                                       "INSERT INTO Funcionarios(IdFuncionario,Puesto,Apellidos,Nombre,Activo,Texto,InicialApellido)" +
                                                       " VALUES(@IdFuncionario,@Puesto,@Apellidos,@Nombre,@Activo,@Texto,@InicialApellido)";

                dataAdapter.InsertCommand.Parameters.Add("@IdFuncionario", SqlDbType.Int, 0, "IdFuncionario");
                dataAdapter.InsertCommand.Parameters.Add("@Puesto", SqlDbType.VarChar, 0, "Puesto");
                dataAdapter.InsertCommand.Parameters.Add("@Apellidos", SqlDbType.VarChar, 0, "Apellidos");
                dataAdapter.InsertCommand.Parameters.Add("@Nombre", SqlDbType.VarChar, 0, "Nombre");
                dataAdapter.InsertCommand.Parameters.Add("@Activo", SqlDbType.Int, 0, "Activo");
                dataAdapter.InsertCommand.Parameters.Add("@Texto", SqlDbType.VarChar, 0, "Texto");
                dataAdapter.InsertCommand.Parameters.Add("@InicialApellido", SqlDbType.VarChar, 0, "InicialApellido");

                dataAdapter.Update(dataSet, "Funcionario");

                dataSet.Dispose();
                dataAdapter.Dispose();
                oleConne.Close();

                this.InsertaRelacionFuncionario(funcionario);
                organismo.ListaFuncionarios.Add(funcionario);
                //OrganismosSingleton.Instance.AddFuncionarioToOrganismo(organismo, funcionario);
            }
        }
 private void RgridOrganismo_SelectionChanged(object sender, SelectionChangeEventArgs e)
 {
     organismoSeleccionado = RgridOrganismo.SelectedItem as Organismos;
 }
 public VerInfoOrganismo(Organismos organismo)
 {
     InitializeComponent();
     this.organismo = organismo;
 }
        private String GetOrganismoString()
        {
            List<Organismos> org = OrganismosSingleton.Instance.Colegiados.Where(o => o.IdOrganismo == funcionario.IdOrganismo).ToList();

            if (org.Count == 0)
                org = OrganismosSingleton.Instance.Unitarios.Where(o => o.IdOrganismo == funcionario.IdOrganismo).ToList();

            if (org.Count == 0)
                org = OrganismosSingleton.Instance.Juzgados.Where(o => o.IdOrganismo == funcionario.IdOrganismo).ToList();

            if(org.Count > 0)
                organismo = org[0];


            return (org.Count > 0) ? org[0].Organismo : "Sin Adscripción";
        }
        private void RbtnEliminar_Click(object sender, RoutedEventArgs e)
        {
            if (funcionario.IdOrganismo != 0)
            {
                organismo = new OrganismosModel().GetOrganismoPorId(funcionario.IdOrganismo);

                switch (organismo.TipoOrganismo)
                {
                    case 1: organismo = (from n in OrganismosSingleton.Instance.Colegiados
                                         where n.IdOrganismo == organismo.IdOrganismo
                                         select n).ToList()[0];
                        break;
                    case 2: organismo = (from n in OrganismosSingleton.Instance.Unitarios
                                         where n.IdOrganismo == organismo.IdOrganismo
                                         select n).ToList()[0];
                        break;
                    case 3: organismo = (from n in OrganismosSingleton.Instance.Juzgados
                                         where n.IdOrganismo == organismo.IdOrganismo
                                         select n).ToList()[0];
                        break;
                    case 4: organismo = (from n in OrganismosSingleton.Instance.Plenos
                                         where n.IdOrganismo == organismo.IdOrganismo
                                         select n).ToList()[0];
                        break;
                }

                new FuncionariosModel().DeleteRelacionFuncionario(funcionario);

                organismo.ListaFuncionarios.Remove(funcionario);

                CambiosSingleton.CambiosOrganismos.Add(organismo.IdOrganismo);

                funcionario.IdOrganismo = 0;
                TxtOrganismo.Text = "Sin Adscripción";
                RbtnEditOrganismo.IsEnabled = true;

            }
        }
 public HistorialOrganismos(Organismos organismo)
 {
     InitializeComponent();
     this.organismo = organismo;
 }
        public Organismos GetOrganismoPorId(int idOrganismo)
        {
            Organismos organismo = new Organismos();

            SqlConnection oleConne = new SqlConnection(ConfigurationManager.ConnectionStrings["Directorio"].ToString());
            SqlCommand cmd = null;
            SqlDataReader reader = null;

            String sqlCadena = "SELECT O.*, C.Ciudad, E.Abrev " +
                               "FROM Organismos O INNER JOIN (Ciudades C INNER JOIN Estados E ON C.IdEstado = E.IdEstado) ON O.IdCiudad = C.IdCiudad WHERE IdOrganismo = @IdOrg ORDER BY OrdenImpr";

            try
            {
                oleConne.Open();

                cmd = new SqlCommand(sqlCadena, oleConne);
                cmd.Parameters.AddWithValue("@IdOrg", idOrganismo);
                reader = cmd.ExecuteReader();

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        organismo.IdOrganismo = Convert.ToInt32(reader["IdOrganismo"]);
                        organismo.TipoOrganismo = reader["IdTpoOrg"] as int? ?? -1;
                        organismo.Circuito = reader["IdCircuito"] as int? ?? -1;
                        organismo.Ordinal = reader["IDOrdinal"] as int? ?? -1;
                        organismo.Materia = reader["IdMateria"] as int? ?? -1;
                        organismo.Organismo = reader["Organismo"].ToString();
                        organismo.Direccion = reader["Direccion"].ToString();
                        organismo.Telefonos = reader["Tels"].ToString();
                        organismo.Ciudad = reader["IdCiudad"] as int? ?? -1;
                        organismo.Integrantes = reader["Integrantes"] as int? ?? -1;
                        organismo.OrdenImpresion = reader["OrdenImpr"] as int? ?? -1;
                    }
                }
            }
            catch (SqlException ex)
            {
                string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErrorUtilities.SetNewErrorMessage(ex, methodName + " Exception, OrganismosModel", "OrganismosPjf2015");
            }
            catch (Exception ex)
            {
                string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErrorUtilities.SetNewErrorMessage(ex, methodName + " Exception, OrganismosModel", "OrganismosPjf2015");
            }
            finally
            {
                cmd.Dispose();
                reader.Close();
                oleConne.Close();
            }

            return organismo;
        }
        public static void SetNewIntegrantesCount()
        {
            Organismos organismoDelete = new Organismos() { IdOrganismo = 0 };

            new OrganismosModel().DeleteOrganismo(organismoDelete);

            SqlConnection oleConne = new SqlConnection(ConfigurationManager.ConnectionStrings["Directorio"].ToString());
            SqlCommand cmd = null;
            SqlDataReader reader = null;

            Dictionary<int, int> orgInt = new Dictionary<int, int>();

            try
            {
                oleConne.Open();

                cmd = new SqlCommand("SELECT  IdOrganismo,COUNT(IdOrganismo) AS Total FROM Rel_Org_Func GROUP BY IdOrganismo", oleConne);
                reader = cmd.ExecuteReader();

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        orgInt.Add(Convert.ToInt32(reader["IdOrganismo"]), Convert.ToInt32(reader["Total"]));
                    }
                }
            }
            catch (SqlException ex)
            {
                string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErrorUtilities.SetNewErrorMessage(ex, methodName + " Exception, OrganismosModel", "OrganismosPjf2015");
            }
            catch (Exception ex)
            {
                string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErrorUtilities.SetNewErrorMessage(ex, methodName + " Exception, OrganismosModel", "OrganismosPjf2015");
            }
            finally
            {
                cmd.Dispose();
                reader.Close();
                oleConne.Close();
            }

            OrganismosModel.UpdateNumIntegrantes(orgInt);

        }
        public void DeleteOrganismo(Organismos organismo)
        {
            SqlConnection oleConne = new SqlConnection(ConfigurationManager.ConnectionStrings["Directorio"].ToString());
            SqlCommand cmd = oleConne.CreateCommand();
            cmd.Connection = oleConne;

            try
            {
                oleConne.Open();

                cmd.CommandText = "DELETE FROM Rel_Org_Func WHERE IdOrganismo = " + organismo.IdOrganismo;
                cmd.ExecuteNonQuery();
                cmd.CommandText = "DELETE FROM Organismos WHERE IdOrganismo = " + organismo.IdOrganismo;
                cmd.ExecuteNonQuery();
            }
            catch (SqlException ex)
            {
                string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErrorUtilities.SetNewErrorMessage(ex, methodName + " Exception, OrganismosModel", "OrganismosPjf2015");
            }
            catch (Exception ex)
            {
                string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErrorUtilities.SetNewErrorMessage(ex, methodName + " Exception, OrganismosModel", "OrganismosPjf2015");
            }
            finally
            {
                cmd.Dispose();
                oleConne.Close();
            }
        }
        public ObservableCollection<Organismos> GetOrganismos(int tipoOrganismo)
        {
            ObservableCollection<Organismos> organismos = new ObservableCollection<Organismos>();

            SqlConnection oleConne = new SqlConnection(ConfigurationManager.ConnectionStrings["Directorio"].ToString());
            SqlCommand cmd = null;
            SqlDataReader reader = null;

            String sqlCadena = "SELECT O.*, C.Ciudad, E.Abrev " +
                               "FROM Organismos O INNER JOIN Ciudades C INNER JOIN Estados E ON C.IdEstado = E.IdEstado " +
                               " ON O.IdCiudad = C.IdCiudad WHERE IdTpoOrg = @TipoOrg ORDER BY OrdenImpr";

            try
            {
                oleConne.Open();

                cmd = new SqlCommand(sqlCadena, oleConne);
                cmd.Parameters.AddWithValue("@TipoOrg", tipoOrganismo);
                reader = cmd.ExecuteReader();

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        
                        Organismos organismoAdd = new Organismos();
                        organismoAdd.IdOrganismo = Convert.ToInt32(reader["IdOrganismo"]);
                        organismoAdd.TipoOrganismo = reader["IdTpoOrg"] as int? ?? -1;
                        organismoAdd.Circuito = reader["IdCircuito"] as int? ?? -1;
                        organismoAdd.Ordinal = reader["IdOrdinal"] as int? ?? -1;
                        organismoAdd.Materia = reader["IdMateria"] as int? ?? -1;
                        organismoAdd.Organismo = reader["Organismo"].ToString();
                        organismoAdd.Direccion = reader["Direccion"].ToString();
                        organismoAdd.Telefonos = reader["Tels"].ToString();
                        organismoAdd.Ciudad = reader["IdCiudad"] as int? ?? -1;
                        organismoAdd.Integrantes = reader["Integrantes"] as int? ?? -1;
                        organismoAdd.OrdenImpresion = reader["OrdenImpr"] as int? ?? -1;
                        organismoAdd.ListaFuncionarios = new ObservableCollection<Funcionarios>();
                        organismoAdd.IdFuncionarioPresidente = new IntegracionesModel(organismoAdd.IdOrganismo).GetLastPresident();

                        foreach (Funcionarios func in new FuncionariosModel().GetFuncionariosPorOrganismo(organismoAdd.IdOrganismo))
                            organismoAdd.ListaFuncionarios.Add(func);

                        organismoAdd.Integrantes = organismoAdd.ListaFuncionarios.Count;

                        organismos.Add(organismoAdd);
                    }
                }
            }
            catch (SqlException ex)
            {
                string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErrorUtilities.SetNewErrorMessage(ex, methodName + " Exception, OrganismosModel", "OrganismosPjf2015");
            }
            catch (Exception ex)
            {
                string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErrorUtilities.SetNewErrorMessage(ex, methodName + " Exception, OrganismosModel", "OrganismosPjf2015");
            }
            finally
            {
                cmd.Dispose();
                reader.Close();
                oleConne.Close();
            }

            return organismos;
        }
 public OrganismosModel(Organismos organismo)
 {
     this.organismo = organismo;
 }
 public AddUpdateOrganismo(Organismos organismo)
 {
     InitializeComponent();
     this.organismo = organismo;
     isUpdating = true;
 }