Пример #1
0
 public override SaldoLicencia RealizarCalculoDeSaldo(IRepositorioLicencia repo_licencias, IRepositorioDePersonas repositorio_personas, Persona unaPersona, DateTime fecha_de_consulta)
 {
     return(repo_licencias.CargarSaldoLicenciaGeneralDe(this, unaPersona));
 }
Пример #2
0
 public virtual SaldoLicencia RealizarCalculoDeSaldo(IRepositorioLicencia iRepositorioLicencia, IRepositorioDePersonas repositorio_personas, Persona persona, DateTime fecha_de_consulta)
 {
     throw new Exception("Responsabilidad de la subclase");
 }
Пример #3
0
 public PersonaInactivaController(IRepositorioDePersonas repositorioDePersona)
 {
     RepositorioDePersonas = repositorioDePersona;
 }
Пример #4
0
 public virtual AnalisisDeLicenciaOrdinaria GetAnalisisCalculoVacacionesPara(IRepositorioLicencia iRepositorioLicencia, IRepositorioDePersonas repositorio_personas, Persona persona, DateTime fecha_de_consulta)
 {
     throw new Exception("Responsabilidad de la subclase");
 }
Пример #5
0
        public override AnalisisDeLicenciaOrdinaria GetAnalisisCalculoVacacionesPara(IRepositorioLicencia repositorio_licencia, IRepositorioDePersonas repositorio_personas, Persona unaPersona, DateTime fecha_de_consulta)
        {
            var analisis       = new AnalisisDeLicenciaOrdinaria();
            var vacas_perdidas = new List <VacacionesPermitidas>();
            var saldo          = new SaldoLicencia();

            saldo.Detalle = new List <SaldoLicenciaDetalle>();

            unaPersona.TipoDePlanta = repositorio_personas.GetTipoDePlantaActualDe(unaPersona);
            var calculador_de_vacaciones = new CalculadorDeVacaciones(repositorio_licencia);

            var aprobadas = this.LicenciasAprobadasPara(repositorio_licencia, unaPersona);
            List <SolicitudesDeVacaciones> solicitudes = new List <SolicitudesDeVacaciones>(aprobadas.ToArray());

            this.LicenciasPendientesPara(repositorio_licencia, unaPersona).ForEach(pendiente => solicitudes.Add(pendiente));
            solicitudes = solicitudes.OrderBy(s => s.Persona.Documento).ThenBy(t => t.Desde()).ToList();
            var permitidas_descontando_perdidas = this.LicenciasPermitidasPara(repositorio_licencia, unaPersona, vacas_perdidas);
            var vacaciones_solicitables         = calculador_de_vacaciones.DiasSolicitables(permitidas_descontando_perdidas, solicitudes, fecha_de_consulta, unaPersona, analisis, vacas_perdidas);
            var permitidas_calculadas           = this.LicenciasCalculadasPara(repositorio_licencia, unaPersona);

            vacaciones_solicitables.ForEach(vac_solic => saldo.Detalle.Add(new SaldoLicenciaDetalle {
                Periodo = vac_solic.Periodo(), Disponible = vac_solic.CantidadDeDias()
            }));
            analisis.SetCalculoSinDescuento(permitidas_calculadas);
            analisis.Saldo = vacaciones_solicitables;
            return(analisis);
        }
Пример #6
0
        public override SaldoLicencia RealizarCalculoDeSaldo(IRepositorioLicencia repositorio_licencia, IRepositorioDePersonas repositorio_personas, Persona unaPersona, DateTime fecha_de_consulta)
        {
            SaldoLicencia saldo = new SaldoLicencia();

            saldo.Detalle = new List <SaldoLicenciaDetalle>();
            //ProrrogaLicenciaOrdinaria prorroga;
            unaPersona.TipoDePlanta = repositorio_personas.GetTipoDePlantaActualDe(unaPersona);
            CalculadorDeVacaciones         calculador_de_vacaciones = new CalculadorDeVacaciones(repositorio_licencia);
            List <SolicitudesDeVacaciones> solicitudes = new List <SolicitudesDeVacaciones>(this.LicenciasAprobadasPara(repositorio_licencia, unaPersona).ToArray());

            this.LicenciasPendientesPara(repositorio_licencia, unaPersona).ForEach(pendiente => solicitudes.Add(pendiente));
            var vacas_perdidas = new List <VacacionesPermitidas>();
            List <VacacionesSolicitables> vacaciones_solicitables = calculador_de_vacaciones.DiasSolicitables(this.LicenciasPermitidasPara(repositorio_licencia, unaPersona, vacas_perdidas), solicitudes, fecha_de_consulta, unaPersona, new AnalisisDeLicenciaOrdinaria(), vacas_perdidas);

            vacaciones_solicitables.ForEach(vac_solic => saldo.Detalle.Add(new SaldoLicenciaDetalle {
                Periodo = vac_solic.Periodo(), Disponible = vac_solic.CantidadDeDias()
            }));

            return(saldo);
        }
Пример #7
0
 public RepositorioDeUsuarios(IConexionBD conexion, IRepositorioDePersonas repo_personas)
 {
     this.conexion = conexion;
     this.repositorio_de_personas = repo_personas;
 }
Пример #8
0
        public SaldoLicencia GetSaldoLicencia(Persona unaPersona, ConceptoDeLicencia concepto, DateTime fecha_de_consulta, IRepositorioDePersonas repo_personas)
        {
            //ProrrogaLicenciaOrdinaria prorroga = new ProrrogaLicenciaOrdinaria { Periodo = 2014, UsufructoDesde = 2005, UsufructoHasta = 2013 };
            //RepositorioPersonas repoPersonas = new RepositorioPersonas();

            //RepositorioLicencias repoLicencias = new RepositorioLicencias(Conexion());
            //SaldoLicencia unSaldo;
            //ProrrogaLicenciaOrdinaria prorroga = new ProrrogaLicenciaOrdinaria();

            //if (prorroga.SeAplicaAlTipoDePlanta(unaPersona.TipoDePlanta))
            //if(unaPersona.TipoDePlanta.Id != 22)
            //{
            //    //RepositorioProrrogasDeLicenciaOrdinaria repoProrrogas = new RepositorioProrrogasDeLicenciaOrdinaria();
            //    prorroga =  this._repositorio_licencia.CargarDatos(new ProrrogaLicenciaOrdinaria());
            //}
            //else
            //{
            //    prorroga = null;
            //}

            //if (concepto.Id == 1)
            //{
            //    unSaldo = _repositorio_licencia.CargarSaldoLicenciaOrdinariaDe(concepto, prorroga, unaPersona);
            //}
            //else
            //{
            //    unSaldo = _repositorio_licencia.CargarSaldoLicenciaGeneralDe(concepto, unaPersona);
            //}
            var log = concepto.GetAnalisisCalculoVacacionesPara(this._repositorio_licencia, repo_personas, unaPersona, fecha_de_consulta);

            return(concepto.RealizarCalculoDeSaldo(this._repositorio_licencia, repo_personas, unaPersona, fecha_de_consulta));
        }