protected void btn_desinscribir_Click(object sender, EventArgs e)
        {
            if (gv_profesionales.SelectedRow != null)
            {
                prof_dni = gv_profesionales.SelectedRow.Cells[1].Text;
                oProfesional = cProfesional.ObtenerProfesional(Convert.ToInt32(prof_dni));

                foreach (Modelo_Entidades.Clase oClase in cClase.ObtenerClasesPorCurso(Convert.ToInt32(curso_id)))
                {
                    oAsistencia = cAsistencia.ObtenerAsistenciaPorProfyCurso(Convert.ToInt32(prof_dni), Convert.ToInt32(curso_id));
                    cAsistencia.EliminarAsistencia(oAsistencia);
                }

                curso_id = Request.QueryString["parametro1"];
                oCurso = cCurso.ObtenerCurso(Convert.ToInt32(curso_id));
                oCurso.asistentes = oCurso.asistentes - 1;
                cCurso.ModificarCurso(oCurso);

                lb_inscripcion.Visible = true;
                lb_inscripcion.Text = "El profesional se ha desinscripto exitosamente y la desinscricion se ha restado a los asistentes del curso";
            }

            else
            {
                lb_mensaje.Visible = true;
                lb_mensaje.Text = "DEBE SELECCIONAR UN PROFESIONAL";
            }
        }
Example #2
0
        // Cuando le doy un check a "Matriculado"
        private void chk_matriculado_CheckedChanged(object sender, EventArgs e)
        {
            if (chk_matriculado.Checked == true)
            {
                // Lo primero que hago es crear un formulario de selccion de profesionales, así que instancio las variables
                FrmSeleccionProfesionales FormularioSeleccionProfesionales = new FrmSeleccionProfesionales(miUsuario);
                DialogResult DrLogin = FormularioSeleccionProfesionales.ShowDialog();

                // Despues pregunto si el formulario dio Ok. En caso de que no, vuelvo
                if (DrLogin != DialogResult.OK)
                {
                    return;
                }

                miProfesional                 = FormularioSeleccionProfesionales.ProfesionalElegido;
                txt_profesional.Text          = miProfesional.nombre_apellido;
                btn_cobrar_cuotas.Enabled     = true;
                btn_cobrar_expediente.Enabled = true;
            }

            else
            {
                return;
            }
        }
        protected void btn_inscribir_Click(object sender, EventArgs e)
        {
            if (gv_profesionales.SelectedRow != null)
            {
                prof_dni = gv_profesionales.SelectedRow.Cells[1].Text;
                oProfesional = cProfesional.ObtenerProfesional(Convert.ToInt32(prof_dni));

                // Inscribo al profesional en todas las clases de un curso dado
                foreach (Modelo_Entidades.Clase oClase in cClase.ObtenerClasesPorCurso(Convert.ToInt32(curso_id)))
                {
                    oAsistencia = new Modelo_Entidades.Asistencia();
                    oAsistencia.presente = false;
                    oAsistencia.Profesional = oProfesional;
                    oAsistencia.Clase = oClase;
                    cAsistencia.AgregarAsistencia(oAsistencia);
                }

                curso_id = Request.QueryString["parametro1"];
                oCurso = cCurso.ObtenerCurso(Convert.ToInt32(curso_id));
                oCurso.asistentes = oCurso.asistentes + 1;
                cCurso.ModificarCurso(oCurso);

                lb_inscripcion.Visible = true;
                lb_inscripcion.Text = "El profesional se ha inscripto exitosamente y la inscricion se ha sumado a los asistentes del curso";
            }

            else
            {
                lb_mensaje.Visible = true;
                lb_mensaje.Text = "DEBE SELECCIONAR UN PROFESIONAL";
            }
        }
        protected void btn_inscribir_Click(object sender, EventArgs e)
        {
            if (gv_profesionales.SelectedRow != null)
            {
                prof_dni     = gv_profesionales.SelectedRow.Cells[1].Text;
                oProfesional = cProfesional.ObtenerProfesional(Convert.ToInt32(prof_dni));

                // Inscribo al profesional en todas las clases de un curso dado
                foreach (Modelo_Entidades.Clase oClase in cClase.ObtenerClasesPorCurso(Convert.ToInt32(curso_id)))
                {
                    oAsistencia             = new Modelo_Entidades.Asistencia();
                    oAsistencia.presente    = false;
                    oAsistencia.Profesional = oProfesional;
                    oAsistencia.Clase       = oClase;
                    cAsistencia.AgregarAsistencia(oAsistencia);
                }

                curso_id          = Request.QueryString["parametro1"];
                oCurso            = cCurso.ObtenerCurso(Convert.ToInt32(curso_id));
                oCurso.asistentes = oCurso.asistentes + 1;
                cCurso.ModificarCurso(oCurso);

                lb_inscripcion.Visible = true;
                lb_inscripcion.Text    = "El profesional se ha inscripto exitosamente y la inscricion se ha sumado a los asistentes del curso";
            }

            else
            {
                lb_mensaje.Visible = true;
                lb_mensaje.Text    = "DEBE SELECCIONAR UN PROFESIONAL";
            }
        }
        protected void btn_desinscribir_Click(object sender, EventArgs e)
        {
            if (gv_profesionales.SelectedRow != null)
            {
                prof_dni     = gv_profesionales.SelectedRow.Cells[1].Text;
                oProfesional = cProfesional.ObtenerProfesional(Convert.ToInt32(prof_dni));

                foreach (Modelo_Entidades.Clase oClase in cClase.ObtenerClasesPorCurso(Convert.ToInt32(curso_id)))
                {
                    oAsistencia = cAsistencia.ObtenerAsistenciaPorProfyCurso(Convert.ToInt32(prof_dni), Convert.ToInt32(curso_id));
                    cAsistencia.EliminarAsistencia(oAsistencia);
                }

                curso_id          = Request.QueryString["parametro1"];
                oCurso            = cCurso.ObtenerCurso(Convert.ToInt32(curso_id));
                oCurso.asistentes = oCurso.asistentes - 1;
                cCurso.ModificarCurso(oCurso);

                lb_inscripcion.Visible = true;
                lb_inscripcion.Text    = "El profesional se ha desinscripto exitosamente y la desinscricion se ha restado a los asistentes del curso";
            }

            else
            {
                lb_mensaje.Visible = true;
                lb_mensaje.Text    = "DEBE SELECCIONAR UN PROFESIONAL";
            }
        }
        // Declaro como publico al constructor
        public FrmProfesional(string fModo, Modelo_Entidades.Profesional miProfesional, Modelo_Entidades.Usuario oUsuario)
        {
            InitializeComponent();

            // Inicializo a las controladoras
            cProfesional      = Controladora.cProfesional.ObtenerInstancia();
            cGrupo            = Controladora.cGrupo.ObtenerInstancia();
            cTipo_Documento   = Controladora.cTipo_Documento.ObtenerInstancia();
            cProvincia        = Controladora.cProvincia.ObtenerInstancia();
            cLocalidad        = Controladora.cLocalidad.ObtenerInstancia();
            cEstado           = Controladora.cEstado.ObtenerInstancia();
            cTipo_Matricula   = Controladora.cTipo_Matricula.ObtenerInstancia();
            cColegio          = Controladora.cColegio.ObtenerInstancia();
            cTitulo           = Controladora.cTitulo.ObtenerInstancia();
            cTipo_Certificado = Controladora.cTipo_Certificado.ObtenerInstancia();
            cMatricula        = Controladora.cMatricula.ObtenerInstancia();
            cVerificacion     = Controladora.cVerificacion.ObtenerInstancia();
            cMovimiento       = Controladora.cMovimiento.ObtenerInstancia();
            cCtaCte           = Controladora.cCtaCte.ObtenerInstancia();
            cCuota            = Controladora.cCuota.ObtenerInstancia();
            cExpediente       = Controladora.cExpediente.ObtenerInstancia();
            cTipo_Movimiento  = Controladora.cTipo_Movimiento.ObtenerInstancia();
            cAuditoria        = Controladora.cAuditoria.ObtenerInstancia();

            modo         = fModo;
            oProfesional = miProfesional;
            miUsuario    = oUsuario;
        }
Example #7
0
        // Obtener si el profesional pagó la cuota anual de ese año o la cuota que se le está queriendo generar para que no se la generen
        public bool ObtenerSiElProfPago(Modelo_Entidades.Profesional oProfesional, string cuota, string año)
        {
            Modelo_Entidades.Cuota oCuota = oModelo_Entidades.Cuotas.ToList().Find(delegate(Modelo_Entidades.Cuota fCuota)
            {
                if (fCuota.descripcion.Contains(cuota) || fCuota.descripcion.Contains("Cuota anual año " + año) == true)
                {
                    if (fCuota.Profesional == oProfesional)
                    {
                        if (fCuota.estado == true)
                        {
                            return(true); // Si encuentra la cuota quiere decir que pagó, devuelvo un true y no la cobro, ya que quiere decir que encontró una cuota que cumple con todas las condiciones del where (es decir, que el profesional pagó la cuota anual o la bimensual que se está generando)
                        }
                    }
                }

                return(false);
            });

            if (oCuota == null)
            {
                return(false);
            }

            else
            {
                return(true);
            }
        }
Example #8
0
        // Obtener los expedientes de que estan aprobados (y listos para cobrar)
        public List <Modelo_Entidades.Expediente> BuscarExpedientesAprobados(Modelo_Entidades.Profesional oProfesional)
        {
            var Consulta = from oExpediente in oModelo_Entidades.Expedientes.ToList()
                           where oExpediente.estado == "Aprobado" && oExpediente.Profesionales.Contains(oProfesional)
                           select oExpediente;

            return((List <Modelo_Entidades.Expediente>)Consulta.ToList());
        }
Example #9
0
        // Obtener los titulos de un profesional
        public List <Modelo_Entidades.Titulo> BuscarTitulosPorProf(Modelo_Entidades.Profesional oProfesional)
        {
            var Consulta = from oMatricula in oModelo_Entidades.Matriculas.ToList()
                           where oMatricula.Profesional == oProfesional
                           select oMatricula.Legajo_Academico.Titulo;

            return((List <Modelo_Entidades.Titulo>)Consulta.ToList());
        }
 // Constructor del formulario
 public FrmSeleccionCuotas(Modelo_Entidades.Profesional oProfesional)
 {
     InitializeComponent();
     // Inicializo las controladoras
     cMovimiento   = Controladora.cMovimiento.ObtenerInstancia();
     cCtaCte       = Controladora.cCtaCte.ObtenerInstancia();
     cCuota        = Controladora.cCuota.ObtenerInstancia();
     miProfesional = oProfesional;
 }
 // Constructor del formulario
 public FrmSeleccionCuotas(Modelo_Entidades.Profesional oProfesional)
 {
     InitializeComponent();
     // Inicializo las controladoras
     cMovimiento = Controladora.cMovimiento.ObtenerInstancia();
     cCtaCte = Controladora.cCtaCte.ObtenerInstancia();
     cCuota = Controladora.cCuota.ObtenerInstancia();
     miProfesional = oProfesional;
 }
Example #12
0
        // Obtengo un profesional dado su dni
        public Modelo_Entidades.Profesional ObtenerProfesional(int dni)
        {
            Modelo_Entidades.Profesional oProfesional = oModelo_Entidades.Profesionales.ToList().Find(delegate(Modelo_Entidades.Profesional fProfesional)
            {
                return(fProfesional.dni == dni);
            });

            return(oProfesional);
        }
        // Declaro al formulario como público y le asigno el método "Obtener Instancia" para poder llamarlo desde el formulario principal
        public static FrmSeleccionExpedientes ObtenerInstancia(Modelo_Entidades.Profesional oProfesional)
        {
            if (instancia == null)
            {
                instancia = new FrmSeleccionExpedientes(oProfesional);
            }

            if (instancia.IsDisposed)
            {
                instancia = new FrmSeleccionExpedientes(oProfesional);
            }

            return(instancia);
        }
        // Genero la cuota anual para un nuevo profesional
        private void GeneraCuotaAnual(Modelo_Entidades.Profesional oProfesional)
        {
            oCtaCte = oProfesional.CtaCte;
            Modelo_Entidades.Boleta     oBoleta     = new Modelo_Entidades.Boleta();
            Modelo_Entidades.Movimiento oMovimiento = new Modelo_Entidades.Movimiento();
            oLog_Cuota = new Modelo_Entidades.Auditoria_Cuota();

            oMovimiento.fecha = DateTime.Now;

            Modelo_Entidades.Anual oAnual = new Modelo_Entidades.Anual();
            if (oProfesional.Tipo_Matricula.descripcion == "Relación de Dependencia")
            {
                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
            }

            else
            {
                oMovimiento.importe = Math.Round(cCuota.ObtenerValor_Tipo_Couta(oAnual).Valor(), 2);
            }

            oMovimiento.descripcion = "Cuota anual año " + DateTime.Now.Year.ToString();
            oAnual.descripcion      = "Cuota anual año " + DateTime.Now.Year.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 " + DateTime.Now.Year.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.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);
        }
Example #15
0
        // Metodo de filtrado para todos los exoedientes
        public List <Modelo_Entidades.Expediente> FiltrarExpedientes(string profesional, string comitente, string obra, string tarea)
        {
            // Declaro las variables a utilizar en este método
            Controladora.cProfesional cProfesional;
            cProfesional = Controladora.cProfesional.ObtenerInstancia();

            // 1º busco al profesional
            Modelo_Entidades.Profesional oProfesional = cProfesional.ObtenerProfesional(Convert.ToInt32(profesional));

            var Consulta = from oExpediente in oModelo_Entidades.Expedientes.ToList()
                           select oExpediente;

            if (profesional != "0")
            {
                Consulta = Consulta.Where(oExpediente => oExpediente.Profesionales.Contains(oProfesional));
            }

            if (comitente != "0")
            {
                Consulta = Consulta.Where(oExpediente => oExpediente.Comitente.razon_social.Contains(comitente));
            }

            if (obra != "0")
            {
                switch (obra)
                {
                case ("Obras de Ingenieria"):
                    Consulta = Consulta.Where(oExpediente => oExpediente.GetType().ToString() == "Modelo_Entidades.OI");
                    break;

                case ("Fuerza Electromotriz"):
                    Consulta = Consulta.Where(oExpediente => oExpediente.GetType().ToString() == "Modelo_Entidades.FE");
                    break;

                case ("Honorario Mínimo"):
                    Consulta = Consulta.Where(oExpediente => oExpediente.GetType().ToString() == "Modelo_Entidades.HM");
                    break;
                }
            }

            if (tarea != "0")
            {
                Consulta = Consulta.Where(oExpediente => oExpediente.Tarea.descripcion.Contains(tarea));
            }

            return((List <Modelo_Entidades.Expediente>)Consulta.ToList());
        }
Example #16
0
        // Valido que un profesional no exista
        public Boolean ValidarProfesional(int prof_dni)
        {
            Modelo_Entidades.Profesional oProfesional = oModelo_Entidades.Profesionales.ToList().Find(delegate(Modelo_Entidades.Profesional fProfesional)
            {
                return(fProfesional.dni == prof_dni);
            });

            if (oProfesional == null)
            {
                return(true);
            }

            else
            {
                return(false);
            }
        }
        // Obtener si el profesional tiene un título o no
        public bool ObtenerSiElProfTieneTit(Modelo_Entidades.Profesional oProfesional, int tit_id, int uni_id)
        {
            Modelo_Entidades.Matricula oMatricula = oModelo_Entidades.Matriculas.ToList().Find(delegate(Modelo_Entidades.Matricula fMatricula)
            {
                return(fMatricula.Legajo_Academico.Titulo.Universidad.id == uni_id && fMatricula.Legajo_Academico.Titulo.id == tit_id && fMatricula.Profesional == oProfesional);
            });

            if (oMatricula == null)
            {
                return(true); // Sino la encontró, devuelvo un true y la cargo
            }

            else
            {
                return(false); // Si la encontró, devuelvo un false y no la cargo
            }
        }
Example #18
0
        // Liquido los HM
        private void Liquidar_HM()
        {
            // Defino las variables propias del HM
            oHM.dias_de_campo = nud_dias_campo_HM.Value;
            oHM.dias_de_gabinete = nud_dias_gabinete_HM.Value;

            // Lo 1º que hago es eliminar la liquidación anterior
            foreach (Modelo_Entidades.Liquidacion oLiq in cLiquidacion.ObtenerLiquidaciones())
            {
                if (oHM.numero == oLiq.Expediente.numero)
                {
                    cLiquidacion.EliminarLiquidacion(oLiq);
                }
            }

            #region Liquidación del HM
            // Agrego las liquidaciones para que luego pueda modificar sus valores y luegos ponerlas en el datagridview según sea la solapa

            Modelo_Entidades.Liquidacion NuevaLiquidacion_4 = new Modelo_Entidades.Liquidacion();
            NuevaLiquidacion_4.tarea = "Dias de campo liquidados";
            NuevaLiquidacion_4.cantidad = nud_dias_campo_HM.Value;
            NuevaLiquidacion_4.importe = 0.7m; // Esta hardcodeado, pero hay que ponerlo para que lo puedan editar en un cuadro grande con los valores de cada una de las posibles liquidaciones de todas las tareas
            NuevaLiquidacion_4.Expediente = oHM;
            cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_4);
            oHM.Liquidaciones.Add(NuevaLiquidacion_4);

            Modelo_Entidades.Liquidacion NuevaLiquidacion_5 = new Modelo_Entidades.Liquidacion();
            NuevaLiquidacion_5.tarea = "Dias de campo liquidados";
            NuevaLiquidacion_5.cantidad = nud_dias_gabinete_HM.Value;
            NuevaLiquidacion_5.importe = 0.3m; // Esta hardcodeado, pero hay que ponerlo para que lo puedan editar en un cuadro grande con los valores de cada una de las posibles liquidaciones de todas las tareas
            NuevaLiquidacion_5.Expediente = oHM;
            cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_5);
            oHM.Liquidaciones.Add(NuevaLiquidacion_5);

            // Calculo la estrategia
            dgv_liquidaciones_HM.DataSource = cExpediente.LiquidarExpediente(oHM);

            // Finalmente muestro la grilla con los datos

            // Limpio la grilla
            dgv_liquidaciones_HM.DataSource = null;
            // LLeno el binding con los datos que traigo de las entidades
            BsLiquidaciones_HM.DataSource = oHM.Liquidaciones;
            // Asigno el binding a la grilla
            dgv_liquidaciones_HM.DataSource = BsLiquidaciones_HM;
            dgv_liquidaciones_HM.Columns[0].Visible = false;
            dgv_liquidaciones_HM.Columns[1].HeaderText = "Tarea";
            dgv_liquidaciones_HM.Columns[2].HeaderText = "Cantidad";
            dgv_liquidaciones_HM.Columns[3].HeaderText = "Importe";
            dgv_liquidaciones_HM.Columns[4].Visible = false;
            #endregion

            int i_1 = 0;
            double suma_1 = 0;
            while (i_1 < dgv_liquidaciones_HM.Rows.Count)
            {
                if (dgv_liquidaciones_HM.Rows[i_1] != null)
                {
                    suma_1 = Convert.ToDouble(dgv_liquidaciones_HM.Rows[i_1].Cells[3].Value) + suma_1;
                }

                i_1++;
            }

            txt_total_a_liquidar.Text = suma_1.ToString();
            txt_aportes_al_cie.Text = ((suma_1) * 0.05).ToString();
            txt_aportes_a_caja.Text = ((suma_1) * 0.23).ToString();
            txt_total_aportes.Text = (((suma_1) * 0.05) + ((suma_1) * 0.23)).ToString();
            InhabilitarTxts();

            #region Agregado del saldo a la cta cte del profesional
            oProfesional = (Modelo_Entidades.Profesional)dgv_profesionales.CurrentRow.DataBoundItem;
            if (cMovimiento.BuscarMovimientoPorDescExpte(oHM.numero) != null) // quiere decir que está, por lo que se tiene que modificar
            {
                oMovimiento = cMovimiento.BuscarMovimientoPorDescExpte(oHM.numero);

                // Lo 1º es sumar el saldo anterior, para que no se siga restando
                oCtaCte = oProfesional.CtaCte;
                oCtaCte.saldo = oCtaCte.saldo + Convert.ToDecimal(oMovimiento.importe);

                // Luego, hago los 2 cambios que afectan al movimiento
                oMovimiento.fecha = DateTime.Now;
                oMovimiento.importe = ((suma_1) * 0.05);
                //oMovimiento.descripcion = "Débito del expediente número " + oHM.numero.ToString();
                //oMovimiento.CtaCte = oProfesional.CtaCte;
                //oMovimiento.Tipo_Movimiento = cTipo_Movimiento.ObtenerMov_Deudor();
                //oMovimiento.Comprobante = oBoleta;

                cMovimiento.ModificarMovimiento(oMovimiento);
                //oProfesional.CtaCte.Movimientos.Add(oMovimiento);

                oCtaCte.saldo = oCtaCte.saldo - Convert.ToDecimal(((suma_1) * 0.05));
                cCtaCte.Modificacion(oCtaCte);
            }

            else
            {
                oMovimiento = new Modelo_Entidades.Movimiento();
                oBoleta = new Modelo_Entidades.Boleta();

                oMovimiento.fecha = DateTime.Now;
                oMovimiento.importe = ((suma_1) * 0.05);
                oMovimiento.descripcion = "Débito del expediente número " + oHM.numero.ToString();
                oMovimiento.CtaCte = oProfesional.CtaCte;
                oMovimiento.Tipo_Movimiento = cTipo_Movimiento.ObtenerMov_Deudor();
                oMovimiento.Comprobante = oBoleta;

                cMovimiento.Alta(oMovimiento);
                oProfesional.CtaCte.Movimientos.Add(oMovimiento);

                oCtaCte = oProfesional.CtaCte;
                oCtaCte.saldo = oCtaCte.saldo - Convert.ToDecimal(((suma_1) * 0.05));
                cCtaCte.Modificacion(oCtaCte);
            }
            #endregion
        }
Example #19
0
        // Al hacer click en "filtrar"
        private void btn_filtrar_Click(object sender, EventArgs e)
        {
            string VarCombo_Obras;
            string VarCombo_Tareas;
            string nya_profesional;
            string nya_comitente;

            if (cmb_obra.SelectedItem == null)
            {
                VarCombo_Obras = "0";
            }

            else
            {
                VarCombo_Obras = cmb_obra.SelectedItem.ToString();
            }

            if (cmb_descripcion_tarea.SelectedItem == null)
            {
                VarCombo_Tareas = "0";
            }

            else
            {
                VarCombo_Tareas = ((Modelo_Entidades.Tarea)cmb_descripcion_tarea.SelectedItem).descripcion;
            }

            if (txt_profesional.Text == "")
            {
                nya_profesional = "0";
            }

            else
            {
                Modelo_Entidades.Profesional oProf = cProfesional.ObtenerProfesional(Convert.ToInt32(txt_profesional.Text));

                if (oProf != null)
                {
                    nya_profesional = txt_profesional.Text;
                }

                else
                {
                    nya_profesional = "0";
                    MessageBox.Show("El profesional no registra ningún expediente");
                }
            }

            if (txt_nya_comitente.Text == "")
            {
                nya_comitente = "0";
            }

            else
            {
                nya_comitente = txt_nya_comitente.Text;
            }

            BsExpedientes.DataSource = cExpediente.FiltrarExpedientes(nya_profesional, nya_comitente, VarCombo_Obras, VarCombo_Tareas);
            dgv_datos.DataSource     = BsExpedientes;

            dgv_datos.Columns[0].HeaderText = "Número";
            dgv_datos.Columns[1].HeaderText = "Estado";
            dgv_datos.Columns[2].Visible    = false;
            dgv_datos.Columns[3].Visible    = false;
            dgv_datos.Columns[4].HeaderText = "Aportes definitivos";
            dgv_datos.Columns[5].Visible    = false;
            dgv_datos.Columns[6].Visible    = false;
            dgv_datos.Columns[7].Visible    = false;
            dgv_datos.Columns[8].Visible    = false;
            dgv_datos.Columns[9].Visible    = false;
        }
        // Declaro como publico al constructor
        public FrmProfesional(string fModo, Modelo_Entidades.Profesional miProfesional, Modelo_Entidades.Usuario oUsuario)
        {
            InitializeComponent();

            // Inicializo a las controladoras
            cProfesional = Controladora.cProfesional.ObtenerInstancia();
            cGrupo = Controladora.cGrupo.ObtenerInstancia();
            cTipo_Documento = Controladora.cTipo_Documento.ObtenerInstancia();
            cProvincia = Controladora.cProvincia.ObtenerInstancia();
            cLocalidad = Controladora.cLocalidad.ObtenerInstancia();
            cEstado = Controladora.cEstado.ObtenerInstancia();
            cTipo_Matricula = Controladora.cTipo_Matricula.ObtenerInstancia();
            cColegio = Controladora.cColegio.ObtenerInstancia();
            cTitulo = Controladora.cTitulo.ObtenerInstancia();
            cTipo_Certificado = Controladora.cTipo_Certificado.ObtenerInstancia();
            cMatricula = Controladora.cMatricula.ObtenerInstancia();
            cVerificacion = Controladora.cVerificacion.ObtenerInstancia();
            cMovimiento = Controladora.cMovimiento.ObtenerInstancia();
            cCtaCte = Controladora.cCtaCte.ObtenerInstancia();
            cCuota = Controladora.cCuota.ObtenerInstancia();
            cExpediente = Controladora.cExpediente.ObtenerInstancia();
            cTipo_Movimiento = Controladora.cTipo_Movimiento.ObtenerInstancia();
            cAuditoria = Controladora.cAuditoria.ObtenerInstancia();

            modo = fModo;
            oProfesional = miProfesional;
            miUsuario = oUsuario;
        }
 // Cuando se incializa el formulario
 public FrmSeleccionExpedientes(Modelo_Entidades.Profesional oProfesional)
 {
     InitializeComponent();
     cExpediente = Controladora.cExpediente.ObtenerInstancia();
     miProfesional = oProfesional;
 }
Example #22
0
        // Declaro como publico al constructor
        public FrmMatriculas(string fmodo, Modelo_Entidades.Matricula fMatricula, Modelo_Entidades.Profesional fProfesional)
        {
            InitializeComponent();

            // Creo las controladoras a usar en el formulario
            cUniversidad      = Controladora.cUniversidad.ObtenerInstancia();
            cTitulo           = Controladora.cTitulo.ObtenerInstancia();
            cPlan             = Controladora.cPlan.ObtenerInstancia();
            cVerificacion     = Controladora.cVerificacion.ObtenerInstancia();
            cMatricula        = Controladora.cMatricula.ObtenerInstancia();
            cLegajo_Academico = Controladora.cLegajo_Academico.ObtenerInstancia();

            modo              = fmodo;
            oMatricula        = fMatricula;
            oLegajo_Academico = fMatricula.Legajo_Academico;
            oProfesional      = fProfesional;

            if (modo != "Alta")
            {
                cmb_universidad.SelectedItem = oLegajo_Academico.Titulo.Universidad;
                cmb_titulos.SelectedItem     = oLegajo_Academico.Titulo;
                cmb_planes.SelectedItem      = oLegajo_Academico.Plan;

                if (oMatricula.certificado == true)
                {
                    rbtn_certificado.Checked = true;
                }

                else
                {
                    rbtn_diploma.Checked = true;
                }

                txt_fechadoc.Text = oMatricula.fecha_doc.ToString();

                if (oMatricula.incumbencia == true)
                {
                    chk_incumbencias.Checked = true;
                }

                else
                {
                    chk_incumbencias.Checked = false;
                }

                if (oMatricula.plan == true)
                {
                    chk_plan.Checked = true;
                }

                else
                {
                    chk_plan.Checked = false;
                }

                if (oMatricula.analitico == true)
                {
                    chk_analitico.Checked = true;
                }

                else
                {
                    chk_analitico.Checked = false;
                }
            }

            else
            {
                oLegajo_Academico = new Modelo_Entidades.Legajo_Academico();
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            lb_mensaje.Visible     = false;
            lb_inscripcion.Visible = false;
            lb_curso.Visible       = false;
            lb_profesionales_inscriptos.Visible = false;

            curso_id    = Request.QueryString["parametro1"];
            accion      = Request.QueryString["parametro2"];
            comision_id = Request.QueryString["parametro3"];

            cProfesional = Controladora.cProfesional.ObtenerInstancia();
            cAsistencia  = Controladora.cAsistencia.ObtenerInstancia();
            cClase       = Controladora.cClase.ObtenerInstancia();
            cCurso       = Controladora.cCurso.ObtenerInstancia();

            if (accion == "Inscripcion")
            {
                lb_mensaje2.Text               = "Aquí puede visualizar si los profesionales se encuentran habilitados (color verde), o No Habilitados o tiene suspendida la matrícula (color rojo)";
                btn_desinscribir.Visible       = false;
                btn_asentar_asistencia.Visible = false;
                gv_profesionales.DataSource    = cProfesional.ObtenerProfesionales();
                gv_profesionales.DataBind();

                for (int i = 0; gv_profesionales.Rows.Count > i; i++)
                {
                    Modelo_Entidades.Profesional oProf = cProfesional.ObtenerProfesional((Convert.ToInt32(gv_profesionales.Rows[i].Cells[1].Text)));

                    if (oProf.Estado.descripcion == "Habilitado")
                    {
                        gv_profesionales.Rows[i].Cells[0].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[1].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[2].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[3].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[4].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[5].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[6].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[7].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[8].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[9].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[10].BackColor = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[11].BackColor = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[12].BackColor = Color.LightGreen;
                    }

                    if (oProf.Estado.descripcion == "No Habilitado" || oProf.Estado.descripcion == "Baja")
                    {
                        gv_profesionales.Rows[i].Cells[0].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[1].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[2].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[3].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[4].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[5].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[6].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[7].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[8].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[9].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[10].BackColor = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[11].BackColor = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[12].BackColor = Color.LightCoral;
                    }
                }
            }

            else
            {
                lb_mensaje2.Text = "Aquí puede visualizar si los profesionales han asistido más de un 75% a la clase (color verde), entre un 50 y un 75% (color amarillo) y menos de un 50% (color rojo)";
                lb_profesionales_inscriptos.Visible = true;
                lb_curso.Visible            = true;
                oCurso                      = cCurso.ObtenerCurso(Convert.ToInt32(curso_id));
                lb_curso.Text               = oCurso.descripcion;
                oClase                      = cClase.Obtener1ClasePorCurso(Convert.ToInt32(curso_id));
                gv_profesionales.DataSource = cProfesional.ObtenerProfesionalesPorCurso(oClase.id);
                gv_profesionales.DataBind();

                for (int i = 0; gv_profesionales.Rows.Count > i; i++)
                {
                    Modelo_Entidades.Profesional       oProf            = cProfesional.ObtenerProfesional((Convert.ToInt32(gv_profesionales.Rows[i].Cells[1].Text)));
                    List <Modelo_Entidades.Asistencia> ListaAsistencias = cAsistencia.ObtenerAsistenciasPorCursoyProfesional(oProf.dni, Convert.ToInt32(curso_id));
                    int asitencias = ListaAsistencias.Count;
                    List <Modelo_Entidades.Clase> ListaClases = cClase.ObtenerClasesPorCurso(Convert.ToInt32(curso_id));
                    int    clases    = ListaClases.Count;
                    double resultado = (asitencias * 100) / clases;

                    if (resultado >= 75)
                    {
                        gv_profesionales.Rows[i].Cells[0].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[1].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[2].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[3].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[4].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[5].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[6].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[7].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[8].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[9].BackColor  = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[10].BackColor = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[11].BackColor = Color.LightGreen;
                        gv_profesionales.Rows[i].Cells[12].BackColor = Color.LightGreen;
                    }

                    if (50 <= resultado && resultado < 75)
                    {
                        gv_profesionales.Rows[i].Cells[0].BackColor  = Color.Yellow;
                        gv_profesionales.Rows[i].Cells[1].BackColor  = Color.Yellow;
                        gv_profesionales.Rows[i].Cells[2].BackColor  = Color.Yellow;
                        gv_profesionales.Rows[i].Cells[3].BackColor  = Color.Yellow;
                        gv_profesionales.Rows[i].Cells[4].BackColor  = Color.Yellow;
                        gv_profesionales.Rows[i].Cells[5].BackColor  = Color.Yellow;
                        gv_profesionales.Rows[i].Cells[6].BackColor  = Color.Yellow;
                        gv_profesionales.Rows[i].Cells[7].BackColor  = Color.Yellow;
                        gv_profesionales.Rows[i].Cells[8].BackColor  = Color.Yellow;
                        gv_profesionales.Rows[i].Cells[9].BackColor  = Color.Yellow;
                        gv_profesionales.Rows[i].Cells[10].BackColor = Color.Yellow;
                        gv_profesionales.Rows[i].Cells[11].BackColor = Color.Yellow;
                        gv_profesionales.Rows[i].Cells[12].BackColor = Color.Yellow;
                    }

                    if (resultado < 50)
                    {
                        gv_profesionales.Rows[i].Cells[0].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[1].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[2].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[3].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[4].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[5].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[6].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[7].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[8].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[9].BackColor  = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[10].BackColor = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[11].BackColor = Color.LightCoral;
                        gv_profesionales.Rows[i].Cells[12].BackColor = Color.LightCoral;
                    }
                }

                if (accion == "Asistencia")
                {
                    btn_inscribir.Visible    = false;
                    btn_desinscribir.Visible = false;
                }

                if (accion == "Inscripcion")
                {
                    btn_asentar_asistencia.Visible = false;
                    btn_desinscribir.Visible       = false;
                }

                if (accion == "Desinscripcion")
                {
                    btn_inscribir.Visible          = false;
                    btn_asentar_asistencia.Visible = false;
                }

                if (accion == "Ver")
                {
                    btn_inscribir.Visible          = false;
                    btn_desinscribir.Visible       = false;
                    btn_asentar_asistencia.Visible = false;
                }
            }

            gv_profesionales.HeaderRow.Cells[0].Text = "Selección";
            gv_profesionales.HeaderRow.Cells[1].Text = "DNI";
            gv_profesionales.HeaderRow.Cells[2].Text = "Nombre y Apellido";
            gv_profesionales.HeaderRow.Cells[5].Text = "Teléfono";
            gv_profesionales.HeaderRow.Cells[6].Text = "Celular";
            gv_profesionales.HeaderRow.Cells[7].Text = "Email 1";
            gv_profesionales.HeaderRow.Cells[8].Text = "Email 2";
        }
 // Cuando se incializa el formulario
 public FrmSeleccionExpedientes(Modelo_Entidades.Profesional oProfesional)
 {
     InitializeComponent();
     cExpediente   = Controladora.cExpediente.ObtenerInstancia();
     miProfesional = oProfesional;
 }
Example #25
0
        // Liquido las FE
        private void Liquidar_FE()
        {
            decimal coeficiente_k;

            // Lo 1º que hago es eliminar la liquidación anterior
            foreach (Modelo_Entidades.Liquidacion oLiq in cLiquidacion.ObtenerLiquidaciones())
            {
                if (oFE.numero == oLiq.Expediente.numero)
                {
                    cLiquidacion.EliminarLiquidacion(oLiq);
                }
            }

            oFE.dias_de_campo = nud_dias_campo_FE.Value;
            oFE.dias_de_gabinete = nud_dias_campo_FE.Value;
            oFE.hps = nud_num_hp_FE.Value;
            oFE.bocas = nud_num_bocas_FE.Value;
            oFE.motores = nud_num_motores_FE.Value;

            // Hago los calculos necesarios para obtener el monto de obra
            coeficiente_k = cExpediente.CalcularCoeficienteK(oFE.hps, oFE.bocas, oFE.motores);

            #region Liquidación del FE
            // Agrego las liquidaciones para que luego pueda modificar sus valores y luegos ponerlas en el datagridview según sea la solapa

            // Liquidacion con respecto a los dias de campo
            Modelo_Entidades.Liquidacion NuevaLiquidacion_1 = new Modelo_Entidades.Liquidacion();
            NuevaLiquidacion_1.tarea = "Dias de campo liquidados";
            NuevaLiquidacion_1.cantidad = nud_dias_campo_FE.Value;
            NuevaLiquidacion_1.importe = 0.4m; // Esta hardcodeado, pero hay que ponerlo para que lo puedan editar en un cuadro grande con los valores de cada una de las posibles liquidaciones de todas las tareas
            NuevaLiquidacion_1.Expediente = oFE;
            cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_1);
            oFE.Liquidaciones.Add(NuevaLiquidacion_1);

            // Liquidacion con respecto a los dias de gabinete
            Modelo_Entidades.Liquidacion NuevaLiquidacion_2 = new Modelo_Entidades.Liquidacion();
            NuevaLiquidacion_2.tarea = "Dias de campo liquidados";
            NuevaLiquidacion_2.cantidad = nud_dias_gabinete_FE.Value;
            NuevaLiquidacion_2.importe = 0.3m; // Esta hardcodeado, pero hay que ponerlo para que lo puedan editar en un cuadro grande con los valores de cada una de las posibles liquidaciones de todas las tareas
            NuevaLiquidacion_2.Expediente = oFE;
            cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_2);
            oFE.Liquidaciones.Add(NuevaLiquidacion_2);

            // Liquidación con respecto al trabajo en si
            Modelo_Entidades.Liquidacion NuevaLiquidacion_3 = new Modelo_Entidades.Liquidacion();
            NuevaLiquidacion_3.tarea = "Liquidación básica";
            NuevaLiquidacion_3.cantidad = 1; // Es siempre 1, ya que existe solo 1 liqudiacion
            NuevaLiquidacion_3.importe = (oFE.hps * coeficiente_k * 1290) + (oFE.bocas * 290); // Estan hardcodeados, pero hay que ponerlo para que lo puedan editar en un cuadro grande con los valores de cada una de las posibles liquidaciones de todas las tareas
            NuevaLiquidacion_3.Expediente = oFE;
            cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_3);
            oFE.Liquidaciones.Add(NuevaLiquidacion_3);

            // Calculo la estrategia, y la derivo a la liquidación
            dgv_liquidaciones_FE.DataSource = cExpediente.LiquidarExpediente(oFE);

            // Limpio la grilla
            dgv_liquidaciones_FE.DataSource = null;
            // LLeno el binding con los datos que traigo de las entidades
            BsLiquidaciones_FE.DataSource = oFE.Liquidaciones;
            // Asigno el binding a la grilla
            dgv_liquidaciones_FE.DataSource = BsLiquidaciones_FE;
            dgv_liquidaciones_FE.Columns[0].Visible = false;
            dgv_liquidaciones_FE.Columns[1].HeaderText = "Tarea";
            dgv_liquidaciones_FE.Columns[2].HeaderText = "Cantidad";
            dgv_liquidaciones_FE.Columns[3].HeaderText = "Importe";
            dgv_liquidaciones_FE.Columns[4].Visible = false;
            #endregion

            int i = 0;
            double suma = 0;
            while (i < dgv_liquidaciones_FE.Rows.Count)
            {
                if (dgv_liquidaciones_FE.Rows[i] != null)
                {
                    suma = Convert.ToDouble(dgv_liquidaciones_FE.Rows[i].Cells[3].Value) + suma;
                }

                i++;
            }

            txt_total_a_liquidar.Text = suma.ToString();
            txt_aportes_al_cie.Text = ((suma) * 0.05).ToString();
            txt_aportes_a_caja.Text = ((suma) * 0.23).ToString();
            txt_total_aportes.Text = (((suma) * 0.05) + ((suma) * 0.23)).ToString();
            InhabilitarTxts();

            #region Agregado del saldo a la cta cte del profesional
            oProfesional = (Modelo_Entidades.Profesional)dgv_profesionales.CurrentRow.DataBoundItem;
            if (cMovimiento.BuscarMovimientoPorDescExpte(oFE.numero) != null) // quiere decir que está, por lo que se tiene que modificar
            {
                oMovimiento = cMovimiento.BuscarMovimientoPorDescExpte(oFE.numero);

                // Lo 1º es sumar el saldo anterior, para que no se siga restando
                oCtaCte = oProfesional.CtaCte;
                oCtaCte.saldo = oCtaCte.saldo + Convert.ToDecimal(oMovimiento.importe);

                // Luego, hago los 2 cambios que afectan al movimiento
                oMovimiento.fecha = DateTime.Now;
                oMovimiento.importe = ((suma) * 0.05);
                //oMovimiento.descripcion = "Débito del expediente número " + oFE.numero.ToString();
                //oMovimiento.CtaCte = oProfesional.CtaCte;
                //oMovimiento.Tipo_Movimiento = cTipo_Movimiento.ObtenerMov_Deudor();
                //oMovimiento.Comprobante = oBoleta;

                cMovimiento.ModificarMovimiento(oMovimiento);
                //oProfesional.CtaCte.Movimientos.Add(oMovimiento);

                oCtaCte.saldo = oCtaCte.saldo - Convert.ToDecimal(((suma) * 0.05));
                cCtaCte.Modificacion(oCtaCte);
            }

            else
            {
                oMovimiento = new Modelo_Entidades.Movimiento();
                oBoleta = new Modelo_Entidades.Boleta();

                oMovimiento.fecha = DateTime.Now;
                oMovimiento.importe = ((suma) * 0.05);
                oMovimiento.descripcion = "Débito del expediente número " + oFE.numero.ToString();
                oMovimiento.CtaCte = oProfesional.CtaCte;
                oMovimiento.Tipo_Movimiento = cTipo_Movimiento.ObtenerMov_Deudor();
                oMovimiento.Comprobante = oBoleta;

                cMovimiento.Alta(oMovimiento);
                oProfesional.CtaCte.Movimientos.Add(oMovimiento);

                oCtaCte = oProfesional.CtaCte;
                oCtaCte.saldo = oCtaCte.saldo - Convert.ToDecimal(((suma) * 0.05));
                cCtaCte.Modificacion(oCtaCte);
            }
            #endregion
        }
Example #26
0
 // Dar de alta a un nuevo profesional
 public void Alta(Modelo_Entidades.Profesional oProfesional)
 {
     oModelo_Entidades.AddToProfesionales(oProfesional);
     oModelo_Entidades.SaveChanges();
 }
        // Declaro como publico al constructor
        public FrmMatriculas(string fmodo, Modelo_Entidades.Matricula fMatricula, Modelo_Entidades.Profesional fProfesional)
        {
            InitializeComponent();

            // Creo las controladoras a usar en el formulario
            cUniversidad = Controladora.cUniversidad.ObtenerInstancia();
            cTitulo = Controladora.cTitulo.ObtenerInstancia();
            cPlan = Controladora.cPlan.ObtenerInstancia();
            cVerificacion = Controladora.cVerificacion.ObtenerInstancia();
            cMatricula = Controladora.cMatricula.ObtenerInstancia();
            cLegajo_Academico = Controladora.cLegajo_Academico.ObtenerInstancia();

            modo = fmodo;
            oMatricula = fMatricula;
            oLegajo_Academico = fMatricula.Legajo_Academico;
            oProfesional = fProfesional;

            if (modo != "Alta")
            {
                cmb_universidad.SelectedItem = oLegajo_Academico.Titulo.Universidad;
                cmb_titulos.SelectedItem = oLegajo_Academico.Titulo;
                cmb_planes.SelectedItem = oLegajo_Academico.Plan;

                if (oMatricula.certificado == true)
                {
                    rbtn_certificado.Checked = true;
                }

                else
                {
                    rbtn_diploma.Checked = true;
                }

                txt_fechadoc.Text = oMatricula.fecha_doc.ToString();

                if (oMatricula.incumbencia == true)
                {
                    chk_incumbencias.Checked = true;
                }

                else
                {
                    chk_incumbencias.Checked = false;
                }

                if (oMatricula.plan == true)
                {
                    chk_plan.Checked = true;
                }

                else
                {
                    chk_plan.Checked = false;
                }

                if (oMatricula.analitico == true)
                {
                    chk_analitico.Checked = true;
                }

                else
                {
                    chk_analitico.Checked = false;
                }
            }

            else
            {
                oLegajo_Academico = new Modelo_Entidades.Legajo_Academico();
            }
        }
        // Genero la cuota bimensual para un nuevo profesional
        private void GeneraCuotaBimensual(Modelo_Entidades.Profesional oProfesional, int mes)
        {
            int numero = mes;

            switch (numero)
            {
            case 1:
                numero = 1;
                break;

            case 2:
                numero = 1;
                break;

            case 3:
                numero = 2;
                break;

            case 4:
                numero = 2;
                break;

            case 5:
                numero = 3;
                break;

            case 6:
                numero = 3;
                break;

            case 7:
                numero = 4;
                break;

            case 8:
                numero = 4;
                break;

            case 9:
                numero = 5;
                break;

            case 10:
                numero = 5;
                break;

            case 11:
                numero = 6;
                break;

            case 12:
                numero = 6;
                break;
            }

            oCtaCte = oProfesional.CtaCte;
            Modelo_Entidades.Boleta     oBoleta     = new Modelo_Entidades.Boleta();
            Modelo_Entidades.Movimiento oMovimiento = new Modelo_Entidades.Movimiento();
            oLog_Cuota = new Modelo_Entidades.Auditoria_Cuota();

            oMovimiento.fecha = DateTime.Now;

            Modelo_Entidades.Bimensual oBimensual = new Modelo_Entidades.Bimensual();
            // 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

            oMovimiento.importe     = Math.Round(cCuota.ObtenerValor_Tipo_Couta(oBimensual).Valor(), 2);
            oMovimiento.descripcion = "Cuota " + numero.ToString() + "/" + DateTime.Now.Year.ToString();
            oBimensual.descripcion  = "Cuota " + numero.ToString() + "/" + DateTime.Now.Year.ToString();
            oBimensual.estado       = false;
            oBimensual.Profesional  = oProfesional;
            cCuota.AgregarCuota(oBimensual);

            #region Audito la cuota
            oLog_Cuota.estado          = false;
            oLog_Cuota.descripcion     = "Cuota " + numero.ToString() + "/" + DateTime.Now.Year.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);
        }
Example #29
0
        // Cuando le doy un check a "Matriculado"
        private void chk_matriculado_CheckedChanged(object sender, EventArgs e)
        {
            if (chk_matriculado.Checked == true)
            {
                // Lo primero que hago es crear un formulario de selccion de profesionales, así que instancio las variables
                FrmSeleccionProfesionales FormularioSeleccionProfesionales = new FrmSeleccionProfesionales(miUsuario);
                DialogResult DrLogin = FormularioSeleccionProfesionales.ShowDialog();

                // Despues pregunto si el formulario dio Ok. En caso de que no, vuelvo
                if (DrLogin != DialogResult.OK)
                {
                    return;
                }

                miProfesional = FormularioSeleccionProfesionales.ProfesionalElegido;
                txt_profesional.Text = miProfesional.nombre_apellido;
                btn_cobrar_cuotas.Enabled = true;
                btn_cobrar_expediente.Enabled = true;

            }

            else
            {
                return;
            }
        }
Example #30
0
        // Liquido las OI
        private void Liquidar_OI()
        {
            // Lo 1º que hago es eliminar la liquidación anterior
            foreach (Modelo_Entidades.Liquidacion oLiq in cLiquidacion.ObtenerLiquidaciones())
            {
                if (oOI.numero == oLiq.Expediente.numero)
                {
                    cLiquidacion.EliminarLiquidacion(oLiq);
                }
            }

            #region Liquidación del OI
            // Faltaria validar los datos del OI (con un metodo)
            decimal monto_obra_definitivo = cExpediente.CalcularTotalaLiquidar_OI(nud_monto_obra_OI.Value);
            monto_obra = monto_obra_definitivo;

            if (chk_anteproyecto.Checked == true) // Verifica si esta tildado
            {
                // Liquido el anteproyecto (10%)
                Modelo_Entidades.Liquidacion NuevaLiquidacion_a = new Modelo_Entidades.Liquidacion();
                NuevaLiquidacion_a.tarea = "Anteproyecto";
                NuevaLiquidacion_a.cantidad = 1; // Es siempre 1, ya que existe solo 1 liqudiacion de anteproyecto
                NuevaLiquidacion_a.importe = monto_obra;
                NuevaLiquidacion_a.Expediente = oOI;
                cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_a);
                oOI.Liquidaciones.Add(NuevaLiquidacion_a);
            }

            else
            {
                // Liquido el anteproyecto (10%)
                Modelo_Entidades.Liquidacion NuevaLiquidacion_a = new Modelo_Entidades.Liquidacion();
                NuevaLiquidacion_a.tarea = "Anteproyecto";
                NuevaLiquidacion_a.cantidad = 1; // Es siempre 1, ya que existe solo 1 liqudiacion de anteproyecto
                NuevaLiquidacion_a.importe = 0;
                NuevaLiquidacion_a.Expediente = oOI;
                cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_a);
                oOI.Liquidaciones.Add(NuevaLiquidacion_a);
            }

            if (chk_proyecto_sin_anteproyecto.Checked == true) // Verifica si esta tildado
            {
                // Liquido el proyecto sin el anteproyecto (45%)
                Modelo_Entidades.Liquidacion NuevaLiquidacion_b = new Modelo_Entidades.Liquidacion();
                NuevaLiquidacion_b.tarea = "Proyecto sin anteproyecto";
                NuevaLiquidacion_b.cantidad = 1; // Es siempre 1, ya que existe solo 1 liqudiacion de anteproyecto
                NuevaLiquidacion_b.importe = monto_obra;
                NuevaLiquidacion_b.Expediente = oOI;
                cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_b);
                oOI.Liquidaciones.Add(NuevaLiquidacion_b);
            }

            else
            {
                // Liquido el proyecto sin el anteproyecto (45%)
                Modelo_Entidades.Liquidacion NuevaLiquidacion_b = new Modelo_Entidades.Liquidacion();
                NuevaLiquidacion_b.tarea = "Proyecto sin anteproyecto";
                NuevaLiquidacion_b.cantidad = 1; // Es siempre 1, ya que existe solo 1 liqudiacion de anteproyecto
                NuevaLiquidacion_b.importe = 0;
                NuevaLiquidacion_b.Expediente = oOI;
                cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_b);
                oOI.Liquidaciones.Add(NuevaLiquidacion_b);
            }

            if (chk_proyecto.Checked == true) // Verifica si esta tildado
            {
                // Liquido el proyecto (55%)
                Modelo_Entidades.Liquidacion NuevaLiquidacion_c = new Modelo_Entidades.Liquidacion();
                NuevaLiquidacion_c.tarea = "Proyecto de la obra";
                NuevaLiquidacion_c.cantidad = 1; // Es siempre 1, ya que existe solo 1 liqudiacion de Proyecto de la obra
                NuevaLiquidacion_c.importe = monto_obra;
                NuevaLiquidacion_c.Expediente = oOI;
                cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_c);
                oOI.Liquidaciones.Add(NuevaLiquidacion_c);
            }

            else
            {
                // Liquido el proyecto (55%)
                Modelo_Entidades.Liquidacion NuevaLiquidacion_c = new Modelo_Entidades.Liquidacion();
                NuevaLiquidacion_c.tarea = "Proyecto de la obra";
                NuevaLiquidacion_c.cantidad = 1; // Es siempre 1, ya que existe solo 1 liqudiacion de Proyecto de la obra
                NuevaLiquidacion_c.importe = 0;
                NuevaLiquidacion_c.Expediente = oOI;
                cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_c);
                oOI.Liquidaciones.Add(NuevaLiquidacion_c);
            }

            if (chk_conduccion_tecnica.Checked == true) // Verifica si esta tildado
            {
                // Liquido la conducción técnica (45%)
                Modelo_Entidades.Liquidacion NuevaLiquidacion_d = new Modelo_Entidades.Liquidacion();
                NuevaLiquidacion_d.tarea = "Conducción técnica de la obra";
                NuevaLiquidacion_d.cantidad = 1; // Es siempre 1, ya que existe solo 1 liqudiacion de Conducción técnica de la obra
                NuevaLiquidacion_d.importe = monto_obra;
                NuevaLiquidacion_d.Expediente = oOI;
                cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_d);
                oOI.Liquidaciones.Add(NuevaLiquidacion_d);
            }

            else
            {
                // Liquido la conducción técnica (45%)
                Modelo_Entidades.Liquidacion NuevaLiquidacion_d = new Modelo_Entidades.Liquidacion();
                NuevaLiquidacion_d.tarea = "Conducción técnica de la obra";
                NuevaLiquidacion_d.cantidad = 1; // Es siempre 1, ya que existe solo 1 liqudiacion de Conducción técnica de la obra
                NuevaLiquidacion_d.importe = 0;
                NuevaLiquidacion_d.Expediente = oOI;
                cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_d);
                oOI.Liquidaciones.Add(NuevaLiquidacion_d);
            }

            if (chk_administracion.Checked == true) // Verifica si esta tildado
            {
                // Liquido la Administración a cargo del comitente (13.5%)
                Modelo_Entidades.Liquidacion NuevaLiquidacion_e = new Modelo_Entidades.Liquidacion();
                NuevaLiquidacion_e.tarea = "Administración a cargo del comitente";
                NuevaLiquidacion_e.cantidad = 1; // Es siempre 1, ya que existe solo 1 liqudiacion de Administración a cargo del comitente
                NuevaLiquidacion_e.importe = monto_obra;
                NuevaLiquidacion_e.Expediente = oOI;
                cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_e);
                oOI.Liquidaciones.Add(NuevaLiquidacion_e);
            }

            else
            {
                // Liquido la Administración a cargo del comitente (13.5%)
                Modelo_Entidades.Liquidacion NuevaLiquidacion_e = new Modelo_Entidades.Liquidacion();
                NuevaLiquidacion_e.tarea = "Administración a cargo del comitente";
                NuevaLiquidacion_e.cantidad = 1; // Es siempre 1, ya que existe solo 1 liqudiacion de Administración a cargo del comitente
                NuevaLiquidacion_e.importe = 0;
                NuevaLiquidacion_e.Expediente = oOI;
                cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_e);
                oOI.Liquidaciones.Add(NuevaLiquidacion_e);
            }

            if (chk_trámites.Checked == true) // Verifica si esta tildado
            {
                // Liquido los trámites (0.2%) (es sobre el monto de obra)
                Modelo_Entidades.Liquidacion NuevaLiquidacion_f = new Modelo_Entidades.Liquidacion();
                NuevaLiquidacion_f.tarea = "Trámites";
                NuevaLiquidacion_f.cantidad = 1; // Es siempre 1, ya que existe solo 1 liqudiacion de Trámites
                NuevaLiquidacion_f.importe = nud_monto_obra_OI.Value;
                NuevaLiquidacion_f.Expediente = oOI;
                cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_f);
                oOI.Liquidaciones.Add(NuevaLiquidacion_f);
            }

            else
            {
                // Liquido los trámites (0.2%) (es sobre el monto de obra)
                Modelo_Entidades.Liquidacion NuevaLiquidacion_f = new Modelo_Entidades.Liquidacion();
                NuevaLiquidacion_f.tarea = "Trámites";
                NuevaLiquidacion_f.cantidad = 1; // Es siempre 1, ya que existe solo 1 liqudiacion de Trámites
                NuevaLiquidacion_f.importe = 0;
                NuevaLiquidacion_f.Expediente = oOI;
                cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_f);
                oOI.Liquidaciones.Add(NuevaLiquidacion_f);
            }

            if (chk_representacion_tecnica.Checked == true) // Verifica si esta tildado
            {
                // Liquido la representación técnica de la obra (13.5% + 45%)
                Modelo_Entidades.Liquidacion NuevaLiquidacion_g = new Modelo_Entidades.Liquidacion();
                NuevaLiquidacion_g.tarea = "Representación técnica de la obra";
                NuevaLiquidacion_g.cantidad = 1; // Es siempre 1, ya que existe solo 1 liqudiacion de Representación técnica de la obra
                NuevaLiquidacion_g.importe = monto_obra;
                NuevaLiquidacion_g.Expediente = oOI;
                cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_g);
                oOI.Liquidaciones.Add(NuevaLiquidacion_g);
            }

            else
            {
                // Liquido la representación técnica de la obra (13.5% + 45%)
                Modelo_Entidades.Liquidacion NuevaLiquidacion_g = new Modelo_Entidades.Liquidacion();
                NuevaLiquidacion_g.tarea = "Representación técnica de la obra";
                NuevaLiquidacion_g.cantidad = 1; // Es siempre 1, ya que existe solo 1 liqudiacion de Representación técnica de la obra
                NuevaLiquidacion_g.importe = 0;
                NuevaLiquidacion_g.Expediente = oOI;
                cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_g);
                oOI.Liquidaciones.Add(NuevaLiquidacion_g);
            }

            if (chk_direccion_de_la_obra.Checked == true) // Verifica si esta tildado
            {
                // Liquido la dirección de la obra (45%)
                Modelo_Entidades.Liquidacion NuevaLiquidacion_h = new Modelo_Entidades.Liquidacion();
                NuevaLiquidacion_h.tarea = "Dirección de la obra";
                NuevaLiquidacion_h.cantidad = 1; // Es siempre 1, ya que existe solo 1 liqudiacion de Dirección de la obra
                NuevaLiquidacion_h.importe = monto_obra;
                NuevaLiquidacion_h.Expediente = oOI;
                cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_h);
                oOI.Liquidaciones.Add(NuevaLiquidacion_h);
            }

            else
            {
                // Liquido la dirección de la obra (45%)
                Modelo_Entidades.Liquidacion NuevaLiquidacion_h = new Modelo_Entidades.Liquidacion();
                NuevaLiquidacion_h.tarea = "Dirección de la obra";
                NuevaLiquidacion_h.cantidad = 1; // Es siempre 1, ya que existe solo 1 liqudiacion de Dirección de la obra
                NuevaLiquidacion_h.importe = 0;
                NuevaLiquidacion_h.Expediente = oOI;
                cLiquidacion.AgregarLiquidacion(NuevaLiquidacion_h);
                oOI.Liquidaciones.Add(NuevaLiquidacion_h);
            }
            #endregion

            // Limpio la grilla
            dgv_liquidaciones_OI.DataSource = null;
            // LLeno el binding con los datos que traigo de las entidades
            BsLiquidaciones_OI.DataSource = cExpediente.LiquidarExpediente(oOI);
            // Asigno el binding a la grilla
            dgv_liquidaciones_OI.DataSource = BsLiquidaciones_OI;
            // Asigno el binding a la grilla
            dgv_liquidaciones_OI.Columns[0].Visible = false;
            dgv_liquidaciones_OI.Columns[1].HeaderText = "Tarea";
            dgv_liquidaciones_OI.Columns[2].HeaderText = "Cantidad";
            dgv_liquidaciones_OI.Columns[3].HeaderText = "Importe";
            dgv_liquidaciones_OI.Columns[4].Visible = false;

            int i_2 = 0;
            double suma_2 = 0;
            while (i_2 < dgv_liquidaciones_OI.Rows.Count)
            {
                if (dgv_liquidaciones_OI.Rows[i_2] != null)
                {
                    suma_2 = Convert.ToDouble(dgv_liquidaciones_OI.Rows[i_2].Cells[3].Value) + suma_2;
                }

                i_2++;
            }

            txt_total_a_liquidar.Text = suma_2.ToString();
            txt_aportes_al_cie.Text = ((suma_2) * 0.05).ToString();
            txt_aportes_a_caja.Text = ((suma_2) * 0.23).ToString();
            txt_total_aportes.Text = (((suma_2) * 0.05) + ((suma_2) * 0.23)).ToString();
            InhabilitarTxts();

            #region Agregado del saldo a la cta cte del profesional
            oProfesional = ((Modelo_Entidades.Profesional)dgv_profesionales.CurrentRow.DataBoundItem);
            if (cMovimiento.BuscarMovimientoPorDescExpte(oOI.numero) != null) // quiere decir que está, por lo que se tiene que modificar
            {
                oMovimiento = cMovimiento.BuscarMovimientoPorDescExpte(oOI.numero);

                // Lo 1º es sumar el saldo anterior, para que no se siga restando
                oCtaCte = oProfesional.CtaCte;
                oCtaCte.saldo = oCtaCte.saldo + Convert.ToDecimal(oMovimiento.importe);

                // Luego, hago los 2 cambios que afectan al movimiento
                oMovimiento.fecha = DateTime.Now;
                oMovimiento.importe = ((suma_2) * 0.05);
                //oMovimiento.descripcion = "Débito del expediente número " + oOI.numero.ToString();
                //oMovimiento.CtaCte = oProfesional.CtaCte;
                //oMovimiento.Tipo_Movimiento = cTipo_Movimiento.ObtenerMov_Deudor();
                //oMovimiento.Comprobante = oBoleta;

                cMovimiento.ModificarMovimiento(oMovimiento);
                //oProfesional.CtaCte.Movimientos.Add(oMovimiento);

                oCtaCte.saldo = oCtaCte.saldo - Convert.ToDecimal(((suma_2) * 0.05));
                cCtaCte.Modificacion(oCtaCte);
            }

            else
            {
                oMovimiento = new Modelo_Entidades.Movimiento();
                oBoleta = new Modelo_Entidades.Boleta();

                oMovimiento.fecha = DateTime.Now;
                oMovimiento.importe = ((suma_2) * 0.05);
                oMovimiento.descripcion = "Débito del expediente número " + oOI.numero.ToString();
                oMovimiento.CtaCte = oProfesional.CtaCte;
                oMovimiento.Tipo_Movimiento = cTipo_Movimiento.ObtenerMov_Deudor();
                oMovimiento.Comprobante = oBoleta;

                cMovimiento.Alta(oMovimiento);
                oProfesional.CtaCte.Movimientos.Add(oMovimiento);

                oCtaCte = oProfesional.CtaCte;
                oCtaCte.saldo = oCtaCte.saldo - Convert.ToDecimal(((suma_2) * 0.05));
                cCtaCte.Modificacion(oCtaCte);
            }
            #endregion
        }
Example #31
0
 // Modificar a un profesional
 public void Modificacion(Modelo_Entidades.Profesional oProfesional)
 {
     oModelo_Entidades.ApplyCurrentValues("Profesionales", oProfesional);
     oModelo_Entidades.SaveChanges();
 }
Example #32
0
        // Cuando le doy click a "Agregar"
        private void btn_agregar_Click(object sender, EventArgs e)
        {
            string eleccion = lb_tipo_expediente.Text;

            // Lo primero que hago es crear un formulario de Login, así que instancio las variables
            FrmSeleccionProfesionales FormularioProfesionales = new FrmSeleccionProfesionales(oUsuario);
            DialogResult DrLogin = FormularioProfesionales.ShowDialog();

            // Finalmente, agrego o no el comitente al expediente
            if (DrLogin != DialogResult.OK)
            {
                return;
            }

            else
            {
                oProfesional = FormularioProfesionales.ProfesionalElegido;

                if (oProfesional.Estado.descripcion == "No Habilitado" || oProfesional.Estado.descripcion == "Baja")
                {
                    MessageBox.Show("El profesional no se encuentra habilitado para realizar el expediente");
                }

                else
                {
                    switch (eleccion)
                    {
                        case ("Obras de Ingenieria"):
                            oOI.Profesionales.Add(oProfesional);
                            // Limpio la grilla
                            dgv_profesionales.DataSource = null;
                            // Asigno el binding a la grilla
                            dgv_profesionales.DataSource = oOI.Profesionales;
                            ArmaProefesionales();
                            break;
                        case ("Fuerza Electromotriz"):
                            oFE.Profesionales.Add(oProfesional);
                            // Limpio la grilla
                            dgv_profesionales.DataSource = null;
                            // Asigno el binding a la grilla
                            dgv_profesionales.DataSource = oFE.Profesionales;
                            ArmaProefesionales();
                            break;
                        case ("Honorario Mínimo"):
                            oHM.Profesionales.Add(oProfesional);
                            // Limpio la grilla
                            dgv_profesionales.DataSource = null;
                            // Asigno el binding a la grilla
                            dgv_profesionales.DataSource = oHM.Profesionales;
                            ArmaProefesionales();
                            break;
                    }
                }
            }
        }
Example #33
0
        // Cuando le doy click a "Quitar"
        private void btn_quitar_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("¿Está seguro que desea quitar al profesional?", "Expediente", MessageBoxButtons.YesNo);

            if (result == DialogResult.Yes)
            {
                string eleccion = lb_tipo_expediente.Text;

                // Finalmente, agrego el comitente al expediente
                oProfesional = (Modelo_Entidades.Profesional)dgv_profesionales.CurrentRow.DataBoundItem;

                switch (eleccion)
                {
                    case ("Obras de Ingenieria"):
                        oOI.Profesionales.Remove(oProfesional);
                        // Limpio la grilla
                        dgv_profesionales.DataSource = null;
                        // Asigno el binding a la grilla
                        dgv_profesionales.DataSource = oOI.Profesionales;
                        ArmaProefesionales();
                        break;
                    case ("Fuerza Electromotriz"):
                        oFE.Profesionales.Remove(oProfesional);
                        // Limpio la grilla
                        dgv_profesionales.DataSource = null;
                        // Asigno el binding a la grilla
                        dgv_profesionales.DataSource = oFE.Profesionales;
                        ArmaProefesionales();
                        break;
                    case ("Honorario Mínimo"):
                        oHM.Profesionales.Remove(oProfesional);
                        // Limpio la grilla
                        dgv_profesionales.DataSource = null;
                        // Asigno el binding a la grilla
                        dgv_profesionales.DataSource = oHM.Profesionales;
                        ArmaProefesionales();
                        break;
                }
            }

            else
            {
                return;
            }
        }
        // Armo el formulario (si no es una alta)
        private void ArmaFormulario(Modelo_Entidades.Profesional oProfesional)
        {
            // Sección de datos del profesional
            lb_estado_def.Text = oProfesional.Estado.descripcion;

            txt_numero.Text          = oProfesional.dni.ToString();
            txt_nombreapellido.Text  = oProfesional.nombre_apellido;
            txt_fechanacimiento.Text = oProfesional.fecha_nacimiento.ToString();

            if (oProfesional.sexo == "Masculino")
            {
                rbtn_masculino.Checked = true;
            }

            else
            {
                rbtn_femenino.Checked = true;
            }

            txt_direccion.Text  = oProfesional.Direcciones.ElementAt(0).direccion;
            txt_cp.Text         = oProfesional.Direcciones.ElementAt(0).Localidad.cp.ToString();
            txt_direccionE.Text = oProfesional.Direcciones.ElementAt(1).direccion;
            txt_cp.Text         = oProfesional.Direcciones.ElementAt(1).Localidad.cp.ToString();

            cmb_tiposdoc.SelectedItem = oProfesional.Tipo_Documento;

            cmb_provincias.SelectedItem   = oProfesional.Direcciones.ElementAt(0).Localidad.Provincia;
            cmb_localidades.SelectedItem  = oProfesional.Direcciones.ElementAt(0).Localidad;
            cmb_provinciasE.SelectedItem  = oProfesional.Direcciones.ElementAt(1).Localidad.Provincia;
            cmb_localidadesE.SelectedItem = oProfesional.Direcciones.ElementAt(1).Localidad;

            if (oProfesional.Direcciones.ElementAt(0).Localidad.Provincia == oProfesional.Direcciones.ElementAt(1).Localidad.Provincia&& oProfesional.Direcciones.ElementAt(0).Localidad == oProfesional.Direcciones.ElementAt(1).Localidad&& oProfesional.Direcciones.ElementAt(0).direccion == oProfesional.Direcciones.ElementAt(1).direccion)
            {
                chk_mismolugar.Checked = true;
            }

            else
            {
                chk_mismolugar.Checked = false;
            }

            txt_telfijo.Text          = oProfesional.telefono.ToString();
            txt_celular.Text          = oProfesional.celular.ToString();
            txt_emailpricipal.Text    = oProfesional.email1;
            txt_emailalternativo.Text = oProfesional.email2;

            // Sección de datos de la matrícula del profesional
            cmb_tipomatricula.SelectedItem = oProfesional.Tipo_Matricula;

            switch (oProfesional.Tipo_Matricula.descripcion)
            {
            case ("Relación de Dependencia"):
            {
                txt_lugartrabajo.Text = oProfesional.lugar_trabajo;
                break;
            }

            case ("Convenio"):
            {
                cmb_colegios.SelectedItem = oProfesional.Colegio;
                txt_año.Text = oProfesional.convenio_año.ToString();
                break;
            }
            }

            // Sección de las observaciones del profesional
            lb_titulo_que_se_muestra.Text = oProfesional.titulo_a_mostrar;
            txt_observaciones.Text        = oProfesional.observaciones;
        }