public override SaldoLicencia RealizarCalculoDeSaldo(IRepositorioLicencia repo_licencias, IRepositorioDePersonas repositorio_personas, Persona unaPersona, DateTime fecha_de_consulta) { return(repo_licencias.CargarSaldoLicenciaGeneralDe(this, unaPersona)); }
public virtual SaldoLicencia RealizarCalculoDeSaldo(IRepositorioLicencia iRepositorioLicencia, IRepositorioDePersonas repositorio_personas, Persona persona, DateTime fecha_de_consulta) { throw new Exception("Responsabilidad de la subclase"); }
public PersonaInactivaController(IRepositorioDePersonas repositorioDePersona) { RepositorioDePersonas = repositorioDePersona; }
public virtual AnalisisDeLicenciaOrdinaria GetAnalisisCalculoVacacionesPara(IRepositorioLicencia iRepositorioLicencia, IRepositorioDePersonas repositorio_personas, Persona persona, DateTime fecha_de_consulta) { throw new Exception("Responsabilidad de la subclase"); }
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); }
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); }
public RepositorioDeUsuarios(IConexionBD conexion, IRepositorioDePersonas repo_personas) { this.conexion = conexion; this.repositorio_de_personas = repo_personas; }
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)); }