コード例 #1
0
ファイル: FrmCuotas.cs プロジェクト: dantearrighi/WASSDiploma
        // Cuando le doy click a generar la cuota
        private void btn_generar_Click(object sender, EventArgs e)
        {
            FrmImprimirBoleta FormularioImpresionBoleta;

            Modelo_Entidades.CtaCte     oCtaCte;
            Modelo_Entidades.Boleta     oBoleta;
            Modelo_Entidades.Movimiento oMovimiento;
            Modelo_Entidades.Anual      oAnual;
            Modelo_Entidades.Bimensual  oBimensual;

            Modelo_Entidades.Auditoria_Cuota oLog_Cuota;

            if (ValidarDatos())
            {
                string tipo_de_cuota = cmb_tipo_matricula.SelectedItem.ToString();

                #region Generación de cuota anual
                if (rbtn_anual.Checked == true) // genero la anual y la 1º
                {
                    switch (tipo_de_cuota)
                    {
                    case ("Normal"):

                        foreach (Modelo_Entidades.Profesional oProfesional in cProfesional.ObtenerProfesionalesNormales())
                        {
                            oCtaCte     = oProfesional.CtaCte;
                            oBoleta     = new Modelo_Entidades.Boleta();
                            oMovimiento = new Modelo_Entidades.Movimiento();
                            oAnual      = new Modelo_Entidades.Anual();
                            oLog_Cuota  = new Modelo_Entidades.Auditoria_Cuota();

                            oMovimiento.fecha       = DateTime.Now;
                            oMovimiento.importe     = Math.Round(cCuota.ObtenerValor_Tipo_Couta(oAnual).Valor(), 2);
                            oMovimiento.descripcion = "Cuota anual año " + nud_año.Value.ToString();
                            oAnual.descripcion      = "Cuota anual año " + nud_año.Value.ToString();
                            oAnual.estado           = false;
                            oAnual.Profesional      = oProfesional;
                            cCuota.AgregarCuota(oAnual);

                            #region Audito la cuota
                            oLog_Cuota.estado          = false;
                            oLog_Cuota.descripcion     = "Cuota anual año " + nud_año.Value.ToString();
                            oLog_Cuota.Profesional_dni = oProfesional.dni;
                            oLog_Cuota.usuario         = miUsuario.nombre_apellido;
                            oLog_Cuota.fecha           = DateTime.Now;
                            oLog_Cuota.accion          = "Agregado de cuota anual al profesional " + oProfesional.nombre_apellido;
                            cAuditoria.AuditarCuota(oLog_Cuota);
                            #endregion

                            oMovimiento.CtaCte          = oProfesional.CtaCte;
                            oMovimiento.Tipo_Movimiento = cTipo_Movimiento.ObtenerMov_Deudor();
                            oMovimiento.Comprobante     = oBoleta;

                            cMovimiento.Alta(oMovimiento);

                            oProfesional.CtaCte.Movimientos.Add(oMovimiento);

                            oCtaCte.saldo = oCtaCte.saldo - Convert.ToDecimal(oMovimiento.importe);
                            cCtaCte.Modificacion(oCtaCte);
                        }

                        FormularioImpresionBoleta = new FrmImprimirBoleta(cCuota.ObtenerCuotas().First().id, cCuota.ObtenerCuotas().Last().id, "Cuota anual año " + nud_año.Value.ToString(), 1);
                        DialogResult DrLogin = FormularioImpresionBoleta.ShowDialog();

                        break;

                    case ("Relación de Dependencia"):

                        foreach (Modelo_Entidades.Profesional oProfesional in cProfesional.ObtenerProfesionalesEnRelacionDeDependencia())
                        {
                            oCtaCte     = oProfesional.CtaCte;
                            oBoleta     = new Modelo_Entidades.Boleta();
                            oMovimiento = new Modelo_Entidades.Movimiento();
                            oAnual      = new Modelo_Entidades.Anual();
                            oLog_Cuota  = new Modelo_Entidades.Auditoria_Cuota();

                            oMovimiento.fecha       = DateTime.Now;
                            oMovimiento.importe     = Math.Round(cCuota.ObtenerValor_Tipo_Couta(oAnual).Valor() * 0.7, 2); // EL PORCENTAJE ESTÁ HARKODEADO, DE TODAS FORMAS ESE ES EL VALOR QUE ANUALMENTE EL COLEGIO DISPONE
                            oMovimiento.descripcion = "Cuota anual año " + nud_año.Value.ToString();
                            oAnual.descripcion      = "Cuota anual año " + nud_año.Value.ToString();
                            oAnual.estado           = false;
                            oAnual.Profesional      = oProfesional;
                            cCuota.AgregarCuota(oAnual);

                            #region Audito la cuota
                            oLog_Cuota.estado          = false;
                            oLog_Cuota.descripcion     = "Cuota anual año " + nud_año.Value.ToString();
                            oLog_Cuota.Profesional_dni = oProfesional.dni;
                            oLog_Cuota.usuario         = miUsuario.nombre_apellido;
                            oLog_Cuota.fecha           = DateTime.Now;
                            oLog_Cuota.accion          = "Agregado de cuota anual al profesional " + oProfesional.nombre_apellido;
                            cAuditoria.AuditarCuota(oLog_Cuota);
                            #endregion

                            oMovimiento.CtaCte          = oProfesional.CtaCte;
                            oMovimiento.Tipo_Movimiento = cTipo_Movimiento.ObtenerMov_Deudor();
                            oMovimiento.Comprobante     = oBoleta;

                            cMovimiento.Alta(oMovimiento);

                            oProfesional.CtaCte.Movimientos.Add(oMovimiento);

                            oCtaCte.saldo = oCtaCte.saldo - Convert.ToDecimal(oMovimiento.importe);
                            cCtaCte.Modificacion(oCtaCte);
                        }

                        FormularioImpresionBoleta = new FrmImprimirBoleta(cCuota.ObtenerCuotas().First().id, cCuota.ObtenerCuotas().Last().id, "anual", 2);
                        DialogResult DrLogin1 = FormularioImpresionBoleta.ShowDialog();

                        break;

                    case ("Reciprocidad de Matrícula"):

                        foreach (Modelo_Entidades.Profesional oProfesional in cProfesional.ObtenerProfesionalesEnReciprocidadDeMatricula())
                        {
                            oCtaCte     = oProfesional.CtaCte;
                            oBoleta     = new Modelo_Entidades.Boleta();
                            oMovimiento = new Modelo_Entidades.Movimiento();
                            oAnual      = new Modelo_Entidades.Anual();
                            oLog_Cuota  = new Modelo_Entidades.Auditoria_Cuota();

                            oMovimiento.fecha       = DateTime.Now;
                            oMovimiento.importe     = Math.Round(cCuota.ObtenerValor_Tipo_Couta(oAnual).Valor(), 2);
                            oMovimiento.descripcion = "Cuota anual año " + nud_año.Value.ToString();
                            oAnual.descripcion      = "Cuota anual año " + nud_año.Value.ToString();
                            oAnual.estado           = false;
                            oAnual.Profesional      = oProfesional;
                            cCuota.AgregarCuota(oAnual);

                            #region Audito la cuota
                            oLog_Cuota.estado          = false;
                            oLog_Cuota.descripcion     = "Cuota anual año " + nud_año.Value.ToString();
                            oLog_Cuota.Profesional_dni = oProfesional.dni;
                            oLog_Cuota.usuario         = miUsuario.nombre_apellido;
                            oLog_Cuota.fecha           = DateTime.Now;
                            oLog_Cuota.accion          = "Agregado de cuota anual al profesional " + oProfesional.nombre_apellido;
                            cAuditoria.AuditarCuota(oLog_Cuota);
                            #endregion

                            oMovimiento.CtaCte          = oProfesional.CtaCte;
                            oMovimiento.Tipo_Movimiento = cTipo_Movimiento.ObtenerMov_Deudor();
                            oMovimiento.Comprobante     = oBoleta;

                            cMovimiento.Alta(oMovimiento);

                            oProfesional.CtaCte.Movimientos.Add(oMovimiento);

                            oCtaCte.saldo = oCtaCte.saldo - Convert.ToDecimal(oMovimiento.importe);
                            cCtaCte.Modificacion(oCtaCte);
                        }

                        FormularioImpresionBoleta = new FrmImprimirBoleta(cCuota.ObtenerCuotas().First().id, cCuota.ObtenerCuotas().Last().id, "anual", 3);
                        DialogResult DrLogin2 = FormularioImpresionBoleta.ShowDialog();

                        break;
                    }
                }
                #endregion

                #region Generación de cuota bimensual
                if (rbtn_bimensual.Checked == true)
                {
                    switch (tipo_de_cuota)
                    {
                    case ("Normal"):

                        foreach (Modelo_Entidades.Profesional oProfesional in cProfesional.ObtenerProfesionalesNormales())
                        {
                            oCtaCte     = oProfesional.CtaCte;
                            oBoleta     = new Modelo_Entidades.Boleta();
                            oMovimiento = new Modelo_Entidades.Movimiento();
                            oBimensual  = new Modelo_Entidades.Bimensual();
                            oLog_Cuota  = new Modelo_Entidades.Auditoria_Cuota();

                            if (cCuota.ObtenerSiElProfPago(oProfesional, "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString(), nud_año.Value.ToString()) == false)
                            {
                                oMovimiento.importe     = Math.Round(cCuota.ObtenerValor_Tipo_Couta(oBimensual).Valor(), 2);
                                oMovimiento.descripcion = "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString();
                                oBimensual.descripcion  = "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString();
                                oBimensual.estado       = false;
                                oBimensual.Profesional  = oProfesional;
                                cCuota.AgregarCuota(oBimensual);

                                #region Audito la cuota
                                oLog_Cuota.estado          = false;
                                oLog_Cuota.descripcion     = "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString();
                                oLog_Cuota.Profesional_dni = oProfesional.dni;
                                oLog_Cuota.usuario         = miUsuario.nombre_apellido;
                                oLog_Cuota.fecha           = DateTime.Now;
                                oLog_Cuota.accion          = "Agregado de cuota bimensual al profesional " + oProfesional.nombre_apellido;
                                cAuditoria.AuditarCuota(oLog_Cuota);
                                #endregion

                                oMovimiento.fecha           = DateTime.Now;
                                oMovimiento.CtaCte          = oProfesional.CtaCte;
                                oMovimiento.Tipo_Movimiento = cTipo_Movimiento.ObtenerMov_Deudor();
                                oMovimiento.Comprobante     = oBoleta;

                                cMovimiento.Alta(oMovimiento);

                                oProfesional.CtaCte.Movimientos.Add(oMovimiento);

                                oCtaCte.saldo = oCtaCte.saldo - Convert.ToDecimal(oMovimiento.importe);
                                cCtaCte.Modificacion(oCtaCte);
                            }
                        }

                        FormularioImpresionBoleta = new FrmImprimirBoleta(cCuota.ObtenerCuotas().First().id, cCuota.ObtenerCuotas().Last().id, "/", 1);
                        DialogResult DrLogin = FormularioImpresionBoleta.ShowDialog();

                        break;

                    case ("Relación de Dependencia"):

                        foreach (Modelo_Entidades.Profesional oProfesional in cProfesional.ObtenerProfesionalesEnRelacionDeDependencia())
                        {
                            // Esto verifica si el profesional pagó la anual, no la genere las cuotas bimensuales y el que esté en relación de dependencia, la 5° y 6° cuota no las pague
                            if (cCuota.ObtenerSiElProfPago(oProfesional, "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString(), nud_año.Value.ToString()) == false)
                            {
                                oCtaCte     = oProfesional.CtaCte;
                                oBoleta     = new Modelo_Entidades.Boleta();
                                oMovimiento = new Modelo_Entidades.Movimiento();
                                oBimensual  = new Modelo_Entidades.Bimensual();
                                oLog_Cuota  = new Modelo_Entidades.Auditoria_Cuota();

                                if (nud_cuontas_numeros.Value.ToString() != "5" || nud_cuontas_numeros.Value.ToString() != "6")
                                {
                                    oMovimiento.importe     = Math.Round(cCuota.ObtenerValor_Tipo_Couta(oBimensual).Valor(), 2);
                                    oMovimiento.descripcion = "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString();
                                    oBimensual.descripcion  = "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString();
                                    oBimensual.estado       = false;
                                    oBimensual.Profesional  = oProfesional;
                                    cCuota.AgregarCuota(oBimensual);

                                    #region Audito la cuota
                                    oLog_Cuota.estado          = false;
                                    oLog_Cuota.descripcion     = "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString();
                                    oLog_Cuota.Profesional_dni = oProfesional.dni;
                                    oLog_Cuota.usuario         = miUsuario.nombre_apellido;
                                    oLog_Cuota.fecha           = DateTime.Now;
                                    oLog_Cuota.accion          = "Agregado de cuota bimensual al profesional " + oProfesional.nombre_apellido;
                                    cAuditoria.AuditarCuota(oLog_Cuota);
                                    #endregion

                                    oMovimiento.fecha           = DateTime.Now;
                                    oMovimiento.CtaCte          = oProfesional.CtaCte;
                                    oMovimiento.Tipo_Movimiento = cTipo_Movimiento.ObtenerMov_Deudor();
                                    oMovimiento.Comprobante     = oBoleta;

                                    cMovimiento.Alta(oMovimiento);

                                    oProfesional.CtaCte.Movimientos.Add(oMovimiento);

                                    oCtaCte.saldo = oCtaCte.saldo - Convert.ToDecimal(oMovimiento.importe);
                                    cCtaCte.Modificacion(oCtaCte);
                                }
                            }
                        }

                        FormularioImpresionBoleta = new FrmImprimirBoleta(cCuota.ObtenerCuotas().First().id, cCuota.ObtenerCuotas().Last().id, "/", 2);
                        DialogResult DrLogin1 = FormularioImpresionBoleta.ShowDialog();
                        break;

                    case ("Reciprocidad de Matrícula"):

                        foreach (Modelo_Entidades.Profesional oProfesional in cProfesional.ObtenerProfesionalesEnReciprocidadDeMatricula())
                        {
                            // Esto verifica si el profesional pagó la anual, no la genere las cuotas bimensuales y el que esté en relación de dependencia, la 5° y 6° cuota no las pague
                            if (cCuota.ObtenerSiElProfPago(oProfesional, "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString(), nud_año.Value.ToString()) == false)
                            {
                                oCtaCte     = oProfesional.CtaCte;
                                oBoleta     = new Modelo_Entidades.Boleta();
                                oMovimiento = new Modelo_Entidades.Movimiento();
                                oBimensual  = new Modelo_Entidades.Bimensual();
                                oLog_Cuota  = new Modelo_Entidades.Auditoria_Cuota();

                                if (nud_cuontas_numeros.Value.ToString() != "5" || nud_cuontas_numeros.Value.ToString() != "6")
                                {
                                    oMovimiento.importe     = Math.Round(cCuota.ObtenerValor_Tipo_Couta(oBimensual).Valor(), 2);
                                    oMovimiento.descripcion = "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString();
                                    oBimensual.descripcion  = "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString();
                                    oBimensual.estado       = false;
                                    oBimensual.Profesional  = oProfesional;
                                    cCuota.AgregarCuota(oBimensual);

                                    #region Audito la cuota
                                    oLog_Cuota.estado          = false;
                                    oLog_Cuota.descripcion     = "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString();
                                    oLog_Cuota.Profesional_dni = oProfesional.dni;
                                    oLog_Cuota.usuario         = miUsuario.nombre_apellido;
                                    oLog_Cuota.fecha           = DateTime.Now;
                                    oLog_Cuota.accion          = "Agregado de cuota bimensual al profesional " + oProfesional.nombre_apellido;
                                    cAuditoria.AuditarCuota(oLog_Cuota);
                                    #endregion

                                    oMovimiento.fecha           = DateTime.Now;
                                    oMovimiento.CtaCte          = oProfesional.CtaCte;
                                    oMovimiento.Tipo_Movimiento = cTipo_Movimiento.ObtenerMov_Deudor();
                                    oMovimiento.Comprobante     = oBoleta;

                                    cMovimiento.Alta(oMovimiento);

                                    oProfesional.CtaCte.Movimientos.Add(oMovimiento);

                                    oCtaCte.saldo = oCtaCte.saldo - Convert.ToDecimal(oMovimiento.importe);
                                    cCtaCte.Modificacion(oCtaCte);
                                }
                            }
                        }

                        FormularioImpresionBoleta = new FrmImprimirBoleta(cCuota.ObtenerCuotas().First().id, cCuota.ObtenerCuotas().Last().id, "/", 3);
                        DialogResult DrLogin2 = FormularioImpresionBoleta.ShowDialog();
                        break;
                    }
                }
                # endregion
            }

            this.Close();
        }
コード例 #2
0
ファイル: FrmCuotas.cs プロジェクト: dantearrighi/WASSDiploma
        // Cuando le doy click a generar la cuota
        private void btn_generar_Click(object sender, EventArgs e)
        {
            FrmImprimirBoleta FormularioImpresionBoleta;
            Modelo_Entidades.CtaCte oCtaCte;
            Modelo_Entidades.Boleta oBoleta;
            Modelo_Entidades.Movimiento oMovimiento;
            Modelo_Entidades.Anual oAnual;
            Modelo_Entidades.Bimensual oBimensual;

            Modelo_Entidades.Auditoria_Cuota oLog_Cuota;

            if (ValidarDatos())
            {
                string tipo_de_cuota = cmb_tipo_matricula.SelectedItem.ToString();

                #region Generación de cuota anual
                if (rbtn_anual.Checked == true) // genero la anual y la 1º
                {
                    switch (tipo_de_cuota)
                    {
                        case ("Normal"):

                            foreach (Modelo_Entidades.Profesional oProfesional in cProfesional.ObtenerProfesionalesNormales())
                            {
                                oCtaCte = oProfesional.CtaCte;
                                oBoleta = new Modelo_Entidades.Boleta();
                                oMovimiento = new Modelo_Entidades.Movimiento();
                                oAnual = new Modelo_Entidades.Anual();
                                oLog_Cuota = new Modelo_Entidades.Auditoria_Cuota();

                                oMovimiento.fecha = DateTime.Now;
                                oMovimiento.importe = Math.Round(cCuota.ObtenerValor_Tipo_Couta(oAnual).Valor(), 2);
                                oMovimiento.descripcion = "Cuota anual año " + nud_año.Value.ToString();
                                oAnual.descripcion = "Cuota anual año " + nud_año.Value.ToString();
                                oAnual.estado = false;
                                oAnual.Profesional = oProfesional;
                                cCuota.AgregarCuota(oAnual);

                                #region Audito la cuota
                                oLog_Cuota.estado = false;
                                oLog_Cuota.descripcion = "Cuota anual año " + nud_año.Value.ToString();
                                oLog_Cuota.Profesional_dni = oProfesional.dni;
                                oLog_Cuota.usuario = miUsuario.nombre_apellido;
                                oLog_Cuota.fecha = DateTime.Now;
                                oLog_Cuota.accion = "Agregado de cuota anual al profesional " + oProfesional.nombre_apellido;
                                cAuditoria.AuditarCuota(oLog_Cuota);
                                #endregion

                                oMovimiento.CtaCte = oProfesional.CtaCte;
                                oMovimiento.Tipo_Movimiento = cTipo_Movimiento.ObtenerMov_Deudor();
                                oMovimiento.Comprobante = oBoleta;

                                cMovimiento.Alta(oMovimiento);

                                oProfesional.CtaCte.Movimientos.Add(oMovimiento);

                                oCtaCte.saldo = oCtaCte.saldo - Convert.ToDecimal(oMovimiento.importe);
                                cCtaCte.Modificacion(oCtaCte);
                            }

                            FormularioImpresionBoleta = new FrmImprimirBoleta(cCuota.ObtenerCuotas().First().id, cCuota.ObtenerCuotas().Last().id, "Cuota anual año " + nud_año.Value.ToString(), 1);
                            DialogResult DrLogin = FormularioImpresionBoleta.ShowDialog();

                            break;

                        case ("Relación de Dependencia"):

                            foreach (Modelo_Entidades.Profesional oProfesional in cProfesional.ObtenerProfesionalesEnRelacionDeDependencia())
                            {
                                oCtaCte = oProfesional.CtaCte;
                                oBoleta = new Modelo_Entidades.Boleta();
                                oMovimiento = new Modelo_Entidades.Movimiento();
                                oAnual = new Modelo_Entidades.Anual();
                                oLog_Cuota = new Modelo_Entidades.Auditoria_Cuota();

                                oMovimiento.fecha = DateTime.Now;
                                oMovimiento.importe = Math.Round(cCuota.ObtenerValor_Tipo_Couta(oAnual).Valor() * 0.7, 2); // EL PORCENTAJE ESTÁ HARKODEADO, DE TODAS FORMAS ESE ES EL VALOR QUE ANUALMENTE EL COLEGIO DISPONE
                                oMovimiento.descripcion = "Cuota anual año " + nud_año.Value.ToString();
                                oAnual.descripcion = "Cuota anual año " + nud_año.Value.ToString();
                                oAnual.estado = false;
                                oAnual.Profesional = oProfesional;
                                cCuota.AgregarCuota(oAnual);

                                #region Audito la cuota
                                oLog_Cuota.estado = false;
                                oLog_Cuota.descripcion = "Cuota anual año " + nud_año.Value.ToString();
                                oLog_Cuota.Profesional_dni = oProfesional.dni;
                                oLog_Cuota.usuario = miUsuario.nombre_apellido;
                                oLog_Cuota.fecha = DateTime.Now;
                                oLog_Cuota.accion = "Agregado de cuota anual al profesional " + oProfesional.nombre_apellido;
                                cAuditoria.AuditarCuota(oLog_Cuota);
                                #endregion

                                oMovimiento.CtaCte = oProfesional.CtaCte;
                                oMovimiento.Tipo_Movimiento = cTipo_Movimiento.ObtenerMov_Deudor();
                                oMovimiento.Comprobante = oBoleta;

                                cMovimiento.Alta(oMovimiento);

                                oProfesional.CtaCte.Movimientos.Add(oMovimiento);

                                oCtaCte.saldo = oCtaCte.saldo - Convert.ToDecimal(oMovimiento.importe);
                                cCtaCte.Modificacion(oCtaCte);
                            }

                            FormularioImpresionBoleta = new FrmImprimirBoleta(cCuota.ObtenerCuotas().First().id, cCuota.ObtenerCuotas().Last().id, "anual", 2);
                            DialogResult DrLogin1 = FormularioImpresionBoleta.ShowDialog();

                            break;

                        case ("Reciprocidad de Matrícula"):

                            foreach (Modelo_Entidades.Profesional oProfesional in cProfesional.ObtenerProfesionalesEnReciprocidadDeMatricula())
                            {
                                oCtaCte = oProfesional.CtaCte;
                                oBoleta = new Modelo_Entidades.Boleta();
                                oMovimiento = new Modelo_Entidades.Movimiento();
                                oAnual = new Modelo_Entidades.Anual();
                                oLog_Cuota = new Modelo_Entidades.Auditoria_Cuota();

                                oMovimiento.fecha = DateTime.Now;
                                oMovimiento.importe = Math.Round(cCuota.ObtenerValor_Tipo_Couta(oAnual).Valor(), 2);
                                oMovimiento.descripcion = "Cuota anual año " + nud_año.Value.ToString();
                                oAnual.descripcion = "Cuota anual año " + nud_año.Value.ToString();
                                oAnual.estado = false;
                                oAnual.Profesional = oProfesional;
                                cCuota.AgregarCuota(oAnual);

                                #region Audito la cuota
                                oLog_Cuota.estado = false;
                                oLog_Cuota.descripcion = "Cuota anual año " + nud_año.Value.ToString();
                                oLog_Cuota.Profesional_dni = oProfesional.dni;
                                oLog_Cuota.usuario = miUsuario.nombre_apellido;
                                oLog_Cuota.fecha = DateTime.Now;
                                oLog_Cuota.accion = "Agregado de cuota anual al profesional " + oProfesional.nombre_apellido;
                                cAuditoria.AuditarCuota(oLog_Cuota);
                                #endregion

                                oMovimiento.CtaCte = oProfesional.CtaCte;
                                oMovimiento.Tipo_Movimiento = cTipo_Movimiento.ObtenerMov_Deudor();
                                oMovimiento.Comprobante = oBoleta;

                                cMovimiento.Alta(oMovimiento);

                                oProfesional.CtaCte.Movimientos.Add(oMovimiento);

                                oCtaCte.saldo = oCtaCte.saldo - Convert.ToDecimal(oMovimiento.importe);
                                cCtaCte.Modificacion(oCtaCte);
                            }

                            FormularioImpresionBoleta = new FrmImprimirBoleta(cCuota.ObtenerCuotas().First().id, cCuota.ObtenerCuotas().Last().id, "anual", 3);
                            DialogResult DrLogin2 = FormularioImpresionBoleta.ShowDialog();

                            break;
                    }
                }
                #endregion

                #region Generación de cuota bimensual
                if (rbtn_bimensual.Checked == true)
                {
                    switch (tipo_de_cuota)
                    {
                        case ("Normal"):

                            foreach (Modelo_Entidades.Profesional oProfesional in cProfesional.ObtenerProfesionalesNormales())
                            {
                                oCtaCte = oProfesional.CtaCte;
                                oBoleta = new Modelo_Entidades.Boleta();
                                oMovimiento = new Modelo_Entidades.Movimiento();
                                oBimensual = new Modelo_Entidades.Bimensual();
                                oLog_Cuota = new Modelo_Entidades.Auditoria_Cuota();

                                if (cCuota.ObtenerSiElProfPago(oProfesional, "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString(), nud_año.Value.ToString()) == false)
                                {
                                    oMovimiento.importe = Math.Round(cCuota.ObtenerValor_Tipo_Couta(oBimensual).Valor(), 2);
                                    oMovimiento.descripcion = "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString();
                                    oBimensual.descripcion = "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString();
                                    oBimensual.estado = false;
                                    oBimensual.Profesional = oProfesional;
                                    cCuota.AgregarCuota(oBimensual);

                                    #region Audito la cuota
                                    oLog_Cuota.estado = false;
                                    oLog_Cuota.descripcion = "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString();
                                    oLog_Cuota.Profesional_dni = oProfesional.dni;
                                    oLog_Cuota.usuario = miUsuario.nombre_apellido;
                                    oLog_Cuota.fecha = DateTime.Now;
                                    oLog_Cuota.accion = "Agregado de cuota bimensual al profesional " + oProfesional.nombre_apellido;
                                    cAuditoria.AuditarCuota(oLog_Cuota);
                                    #endregion

                                    oMovimiento.fecha = DateTime.Now;
                                    oMovimiento.CtaCte = oProfesional.CtaCte;
                                    oMovimiento.Tipo_Movimiento = cTipo_Movimiento.ObtenerMov_Deudor();
                                    oMovimiento.Comprobante = oBoleta;

                                    cMovimiento.Alta(oMovimiento);

                                    oProfesional.CtaCte.Movimientos.Add(oMovimiento);

                                    oCtaCte.saldo = oCtaCte.saldo - Convert.ToDecimal(oMovimiento.importe);
                                    cCtaCte.Modificacion(oCtaCte);
                                }
                            }

                            FormularioImpresionBoleta = new FrmImprimirBoleta(cCuota.ObtenerCuotas().First().id, cCuota.ObtenerCuotas().Last().id, "/", 1);
                            DialogResult DrLogin = FormularioImpresionBoleta.ShowDialog();

                            break;

                        case ("Relación de Dependencia"):

                            foreach (Modelo_Entidades.Profesional oProfesional in cProfesional.ObtenerProfesionalesEnRelacionDeDependencia())
                            {
                                // Esto verifica si el profesional pagó la anual, no la genere las cuotas bimensuales y el que esté en relación de dependencia, la 5° y 6° cuota no las pague
                                if (cCuota.ObtenerSiElProfPago(oProfesional, "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString(), nud_año.Value.ToString()) == false)
                                {
                                    oCtaCte = oProfesional.CtaCte;
                                    oBoleta = new Modelo_Entidades.Boleta();
                                    oMovimiento = new Modelo_Entidades.Movimiento();
                                    oBimensual = new Modelo_Entidades.Bimensual();
                                    oLog_Cuota = new Modelo_Entidades.Auditoria_Cuota();

                                    if (nud_cuontas_numeros.Value.ToString() != "5" || nud_cuontas_numeros.Value.ToString() != "6")
                                    {
                                        oMovimiento.importe = Math.Round(cCuota.ObtenerValor_Tipo_Couta(oBimensual).Valor(), 2);
                                        oMovimiento.descripcion = "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString();
                                        oBimensual.descripcion = "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString();
                                        oBimensual.estado = false;
                                        oBimensual.Profesional = oProfesional;
                                        cCuota.AgregarCuota(oBimensual);

                                        #region Audito la cuota
                                        oLog_Cuota.estado = false;
                                        oLog_Cuota.descripcion = "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString();
                                        oLog_Cuota.Profesional_dni = oProfesional.dni;
                                        oLog_Cuota.usuario = miUsuario.nombre_apellido;
                                        oLog_Cuota.fecha = DateTime.Now;
                                        oLog_Cuota.accion = "Agregado de cuota bimensual al profesional " + oProfesional.nombre_apellido;
                                        cAuditoria.AuditarCuota(oLog_Cuota);
                                        #endregion

                                        oMovimiento.fecha = DateTime.Now;
                                        oMovimiento.CtaCte = oProfesional.CtaCte;
                                        oMovimiento.Tipo_Movimiento = cTipo_Movimiento.ObtenerMov_Deudor();
                                        oMovimiento.Comprobante = oBoleta;

                                        cMovimiento.Alta(oMovimiento);

                                        oProfesional.CtaCte.Movimientos.Add(oMovimiento);

                                        oCtaCte.saldo = oCtaCte.saldo - Convert.ToDecimal(oMovimiento.importe);
                                        cCtaCte.Modificacion(oCtaCte);
                                    }
                                }
                            }

                            FormularioImpresionBoleta = new FrmImprimirBoleta(cCuota.ObtenerCuotas().First().id, cCuota.ObtenerCuotas().Last().id, "/", 2);
                            DialogResult DrLogin1 = FormularioImpresionBoleta.ShowDialog();
                            break;

                        case ("Reciprocidad de Matrícula"):

                            foreach (Modelo_Entidades.Profesional oProfesional in cProfesional.ObtenerProfesionalesEnReciprocidadDeMatricula())
                            {
                                // Esto verifica si el profesional pagó la anual, no la genere las cuotas bimensuales y el que esté en relación de dependencia, la 5° y 6° cuota no las pague
                                if (cCuota.ObtenerSiElProfPago(oProfesional, "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString(), nud_año.Value.ToString()) == false)
                                {
                                    oCtaCte = oProfesional.CtaCte;
                                    oBoleta = new Modelo_Entidades.Boleta();
                                    oMovimiento = new Modelo_Entidades.Movimiento();
                                    oBimensual = new Modelo_Entidades.Bimensual();
                                    oLog_Cuota = new Modelo_Entidades.Auditoria_Cuota();

                                    if (nud_cuontas_numeros.Value.ToString() != "5" || nud_cuontas_numeros.Value.ToString() != "6")
                                    {
                                        oMovimiento.importe = Math.Round(cCuota.ObtenerValor_Tipo_Couta(oBimensual).Valor(), 2);
                                        oMovimiento.descripcion = "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString();
                                        oBimensual.descripcion = "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString();
                                        oBimensual.estado = false;
                                        oBimensual.Profesional = oProfesional;
                                        cCuota.AgregarCuota(oBimensual);

                                        #region Audito la cuota
                                        oLog_Cuota.estado = false;
                                        oLog_Cuota.descripcion = "Cuota " + nud_cuontas_numeros.Value.ToString() + "/" + nud_año.Value.ToString();
                                        oLog_Cuota.Profesional_dni = oProfesional.dni;
                                        oLog_Cuota.usuario = miUsuario.nombre_apellido;
                                        oLog_Cuota.fecha = DateTime.Now;
                                        oLog_Cuota.accion = "Agregado de cuota bimensual al profesional " + oProfesional.nombre_apellido;
                                        cAuditoria.AuditarCuota(oLog_Cuota);
                                        #endregion

                                        oMovimiento.fecha = DateTime.Now;
                                        oMovimiento.CtaCte = oProfesional.CtaCte;
                                        oMovimiento.Tipo_Movimiento = cTipo_Movimiento.ObtenerMov_Deudor();
                                        oMovimiento.Comprobante = oBoleta;

                                        cMovimiento.Alta(oMovimiento);

                                        oProfesional.CtaCte.Movimientos.Add(oMovimiento);

                                        oCtaCte.saldo = oCtaCte.saldo - Convert.ToDecimal(oMovimiento.importe);
                                        cCtaCte.Modificacion(oCtaCte);
                                    }
                                }
                            }

                            FormularioImpresionBoleta = new FrmImprimirBoleta(cCuota.ObtenerCuotas().First().id, cCuota.ObtenerCuotas().Last().id, "/", 3);
                            DialogResult DrLogin2 = FormularioImpresionBoleta.ShowDialog();
                            break;
                    }
                }
            # endregion

            }

            this.Close();
        }