Пример #1
0
        private void RbtnEliminar_Click(object sender, RoutedEventArgs e)
        {
            if (selectedAdscripciones == null)
            {
                MessageBox.Show("Antes de continuar debes seleccionar al titular que ya no pertenece a esta integración");
                return;
            }

            MessageBoxResult result = MessageBox.Show("¿Estas seguro de que este funcionario ya no es integrante de este tribunal?", "Atención", MessageBoxButton.YesNo, MessageBoxImage.Question);

            if (result == MessageBoxResult.Yes)
            {
                TitularModel model    = new TitularModel();
                bool         complete = model.EliminaAdscripcion(selectedAdscripciones, true);

                if (complete)
                {
                    //try
                    //{
                    //    organismo.Adscripciones.Remove(selectedAdscripciones);
                    //}
                    //catch (TargetInvocationException) { }
                    //int indexOf = organismo.Adscripciones.IndexOf(selectedAdscripciones);
                    //organismo.Adscripciones.RemoveAt(indexOf);
                    organismo.Adscripciones     = new TitularModel().GetTitulares(organismo);
                    GridIntegrantes.DataContext = organismo.Adscripciones;
                }
                else
                {
                    MessageBox.Show("No se pudo eliminar la relación de este integrante con el organismos, vuelva a intentarlo");
                }

                organismo.TotalAdscritos = organismo.Adscripciones.Count;
            }
        }
        private void BtnGuardar_Click(object sender, RoutedEventArgs e)
        {
            if (selectedTitular == null && !isUpdatingTiraje)
            {
                MessageBox.Show("Para poder esablecer una relación Organismo-Titular debes seleccionar un funcionario");
                return;
            }
            else
            {
                if (currentOrganismo.Adscripciones == null)
                {
                    currentOrganismo.Adscripciones = new ObservableCollection <Adscripcion>();
                }


                adscripcion.Funcion = Convert.ToInt32(CbxFunciones.SelectedValue);

                if (isUpdatingTiraje)
                {
                    TitularModel model = new TitularModel();
                    model.EliminaAdscripcion(adscripcion, false);
                    model.EstableceAdscripcion(adscripcion, false);
                }
                else
                {
                    adscripcion.Titular = selectedTitular;
                    int yaExiste = 0;

                    foreach (Adscripcion ad in currentOrganismo.Adscripciones)
                    {
                        if (adscripcion.Titular.IdTitular == ad.Titular.IdTitular)
                        {
                            yaExiste++;
                        }
                    }

                    if (yaExiste == 0)
                    {
                        ObservableCollection <Adscripcion> currentAds = new TitularModel().GetAdscripcionesTitular(selectedTitular);
                        if (isUpdatingOrganismo)
                        {
                            TitularModel model = new TitularModel();
                            model.EstableceAdscripcion(adscripcion, true);
                        }

                        currentOrganismo.Adscripciones.Add(adscripcion);

                        if (currentAds.Count > 0)
                        {
                            MessageBox.Show("El titular que acabas de adscribir a este organismo ya se encontraba adscrito a otro organismo");
                        }
                    }
                }

                this.Close();
            }
        }