Esempio n. 1
0
        private void cmdAceptar_Click(object sender, RoutedEventArgs e)
        {
            ModeloGrupoFamiliar modelogrupofamiliar = new ModeloGrupoFamiliar();
            GrupoFamiliar gf = new GrupoFamiliar();
            gf = modelogrupofamiliar.RecuperarTitularHabilitado(IdFamilia);
            bool ok = false;
            bool OK = false;
            int OKM = 0;

            if (!(txtDocumentoIdentidad.Text.Length > 0))
            {
                MessageBox.Show("Se requiere especificar documento de identidad.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                ok = true;
            }
            else if ((Convert.ToInt64(cboTipoDocumentoIdentidad.SelectedIndex) < 0))
            {
                MessageBox.Show("Se requiere especificar tipo de documento de identidad.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                ok = true;
            }
            else if (!(txtPaterno.Text.Length > 0) && !(txtMaterno.Text.Length > 0))
            {
                MessageBox.Show("Se requiere especificar apellidos.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                ok = true;
            }
            else if (!(txtNombres.Text.Length > 0))
            {
                MessageBox.Show("Se requiere especificar nombre.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                ok = true;
            }
            else if (!(txtNombreCompleto.Text.Length > 0))
            {
                MessageBox.Show("Se requiere especificar nombre completo.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                ok = true;
            }
            else if ((Convert.ToInt64(cboDepartamento.SelectedIndex) < 0))
            {
                ok = true;
                MessageBox.Show("Se requiere especificar departamento.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            else if ((Convert.ToInt64(cboProvincia.SelectedIndex) < 0))
            {
                MessageBox.Show("Se requiere especificar provincia.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                ok = true;
            }
            else if ((Convert.ToInt64(cboMunicipio.SelectedIndex) < 0))
            {
                MessageBox.Show("Se requiere especificar municipio.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                ok = true;
            }
            else if (!(txtLugarNacimiento.Text.Length > 0))
            {
                MessageBox.Show("Se requiere especificar lugar de nacimiento.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                ok = true;
            }

            if (ok == false)
            {
                if (txtPaterno.Text != txtMaternoFamilia.Text)
                {
                    if (MessageBox.Show("El apellido paterno de la madre no es igual al apellido materno de la familia. ¿Desea continua?", "Advertencia", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.No)
                        ok = true;
                }
            }

            if (gf == null)
            {
                if (ok == false)
                {
                    switch (MessageBox.Show("¿Desea guardar los datos correspondiente a este madre?", "Consulta", MessageBoxButton.YesNoCancel, MessageBoxImage.Question))
                    {
                        case MessageBoxResult.Yes:
                            OKM = 1;
                            break;
                        case MessageBoxResult.No:
                            OKM = 2;
                            break;
                        case MessageBoxResult.Cancel:
                            OKM = 3;
                            break;
                    }

                    if (OKM == 1)
                    {
                        DateTime FechitaDeNacimiento;
                        DateTime FechitaActual;

                        FechitaDeNacimiento = dtpFechaNacimiento.SelectedDate.Value;
                        FechitaActual = DateTime.Now;
                        FechitaActual = FechitaActual.AddYears(-16);

                        if (FechitaDeNacimiento > FechitaActual)
                        {
                            if (MessageBox.Show("La fecha de nacimiento de la madre es: " + string.Format("{0:dd/MM/yyyy}", FechitaDeNacimiento) + ", lo cual a la fecha determina que es menor de edad. ¿Desea registrar ahora un nuevo titular de pago para la familia?", "Advertencia", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
                            {
                                this.Cursor = Cursors.Wait;
                                frmTutor objTutorWindow = new frmTutor();
                                objTutorWindow.IdFamilia = IdFamilia;
                                objTutorWindow.IdSeleccionado = 0;
                                objTutorWindow.TipoAccion = TipoAccion.Nuevo;
                                objTutorWindow.Owner = this;
                                objTutorWindow.ShowDialog();
                                this.Cursor = Cursors.Arrow;
                                if (objTutorWindow.Resultado == true)
                                {
                                    GrupoFamiliar grupofamiliar = new GrupoFamiliar();

                                    grupofamiliar = modelogrupofamiliar.RecuperarPorTutorDeFamilia(IdFamilia, objTutorWindow.IdSeleccionado);
                                    grupofamiliar.TitularPagoVigente = true;
                                    modelogrupofamiliar.Editar(grupofamiliar.Id, grupofamiliar);

                                    OK = true;
                                }
                                objTutorWindow = null;
                            }
                        }
                    }
                }
            }
            else
            {
                switch (MessageBox.Show("¿Desea guardar los datos correspondiente a este madre?", "Consulta", MessageBoxButton.YesNoCancel, MessageBoxImage.Question))
                {
                    case MessageBoxResult.Yes:
                        OKM = 1;
                        break;
                    case MessageBoxResult.No:
                        OKM = 2;
                        break;
                    case MessageBoxResult.Cancel:
                        OKM = 3;
                        break;
                }
            }

            if (ok == false)
            {
                switch (OKM)
                {
                    case 1:
                        ModeloMadre modelomadre = new ModeloMadre();

                        _madre.DocumentoIdentidad = txtDocumentoIdentidad.Text;
                        switch (cboTipoDocumentoIdentidad.SelectedIndex)
                        {
                            case 0:
                                _madre.TipoDocumentoIdentidad = TipoDocumentoIdentidad.CarnetIdentidad;
                                break;
                            case 1:
                                _madre.TipoDocumentoIdentidad = TipoDocumentoIdentidad.CertificadoNacimiento;
                                break;
                            case 2:
                                _madre.TipoDocumentoIdentidad = TipoDocumentoIdentidad.Pasaporte;
                                break;
                        }
                        _madre.PrimerApellido = txtPaterno.Text;
                        _madre.SegundoApellido = txtMaterno.Text;
                        _madre.TercerApellido = txtConyuge.Text;
                        _madre.Nombres = txtNombres.Text;
                        _madre.NombreCompleto = txtNombreCompleto.Text;
                        _madre.FechaNacimiento = dtpFechaNacimiento.SelectedDate.Value;
                        _madre.Defuncion = (chkDefuncion.IsChecked == true) ? true : false;
                        _madre.Observaciones = "";
                        _madre.IdDepartamento = Convert.ToInt64(cboDepartamento.SelectedValue);
                        _madre.IdProvincia = Convert.ToInt64(cboProvincia.SelectedValue);
                        _madre.IdMunicipio = Convert.ToInt64(cboMunicipio.SelectedValue);
                        _madre.LocalidadNacimiento = txtLugarNacimiento.Text;

                        if (IdSeleccionado > 0)
                            modelomadre.Editar(IdSeleccionado, _madre);
                        else
                        {
                            modelomadre.Crear(_madre);
                            IdSeleccionado = _madre.Id;

                            _grupofamiliar.IdFamilia = IdFamilia;
                            _grupofamiliar.IdMadre = _madre.Id;
                            _grupofamiliar.TipoGrupoFamiliar = TipoGrupoFamiliar.Madre;
                            if (gf == null)
                            {
                                if (OK == false)
                                    _grupofamiliar.TitularPagoVigente = true;
                            }

                            modelogrupofamiliar.Crear(_grupofamiliar);
                        }

                        Resultado = true;

                        this.Close();
                        break;
                    case 3:
                        IdSeleccionado = 0;
                        Resultado = false;
                        this.Close();
                        break;
                }
            }
        }