// ==================================================================================================== #region CONSTRUCTOR // ==================================================================================================== public HojaPijama(Calendario calendario, IMensajes _mensajes) { mensajes = _mensajes; CalendarioPijama = calendario; //Obsoleto. No se utiliza. // Definimos la fecha. Fecha = calendario.Fecha; try { // Extraemos el trabajador. //Trabajador = BdConductores.GetConductor(calendario.IdConductor); Trabajador = App.Global.ConductoresVM.GetConductor(calendario.IdConductor); if (Trabajador != null) { // Extraemos la lista de los días del calendario. ListaDias = BdPijamas.GetDiasPijama(Fecha, calendario.ListaDias, Trabajador.ReduccionJornada); // Extraemos la lista de festivos del mes del calendario. //ListaFestivos = BdFestivos.GetFestivosPorMes(Fecha.Year, Fecha.Month).ToList(); // Extraemos las horas hasta el mes actual HastaMesActual = new HorasHojaPijamaHastaMes(Fecha.Year, Fecha.Month, Trabajador.Id); // Extraemos las horas HorasCobradas = BdCalendarios.GetHorasCobradasMes(Fecha.Year, Fecha.Month, Trabajador.Id); HorasCobradas = new TimeSpan(HorasCobradas.Ticks * -1); HorasCobradasAño = BdCalendarios.GetHorasCobradasAño(Fecha.Year, Fecha.Month, Trabajador.Id); HorasCobradasAño = new TimeSpan(HorasCobradasAño.Ticks * -1); HorasReguladasAño = BdCalendarios.GetHorasReguladasAño(Fecha.Year, Trabajador.Id); HorasReguladasAño = new TimeSpan(HorasReguladasAño.Ticks * -1); // Extraemos los días DC y DND DiasDCAñoActual = BdCalendarios.GetDCDisfrutadosAño(Trabajador.Id, Fecha.Year, Fecha.Month); DiasDNDAñoActual = BdCalendarios.GetDNDDisfrutadosAño(Trabajador.Id, Fecha.Year, Fecha.Month); DCsReguladosAñoActual = BdCalendarios.GetDescansosReguladosAño(Fecha.Year, Trabajador.Id); // Extramos las horas acumuladas del año anterior. DateTime fechaanterior = Fecha.Month == 12 ? new DateTime(Fecha.Year, 11, 30) : new DateTime(Fecha.Year - 1, 11, 30); HastaAñoAnterior = new HorasHojaPijamaHastaMes(fechaanterior.Year, fechaanterior.Month, Trabajador.Id); //HastaAñoAnterior.ExcesoJornadaCobrada -= CalendarioPijama.ExcesoJornadaCobrada;//TODO: Comprobar // Establecemos el tooltip de Otros Pluses string tooltip = ""; if (PlusNocturnidad != 0) { tooltip += $"Plus Nocturnidad = {PlusNocturnidad:0.00} €\n"; } if (PlusViaje != 0) { tooltip += $"Plus Viaje = {PlusViaje:0.00} €\n"; } if (PlusNavidad != 0) { tooltip += $"Plus Navidad = {PlusNavidad:0.00} €\n"; } ToolTipOtrosPluses = tooltip; } } catch (Exception ex) { mensajes.VerError("HojaPijama.Constructor", ex); } }
// ==================================================================================================== #region MÉTODOS // ==================================================================================================== public void RefrescarValores() { if (IdConductor <= 0) { return; } try { // Cargamos las horas. TimeSpan acumuladas = BdCalendarios.GetAcumuladasHastaMes(Año, 11, IdConductor); TimeSpan reguladas = BdCalendarios.GetHorasReguladasHastaMes(Año, 11, IdConductor); HorasDisponibles = HorasConductor + acumuladas + reguladas; } catch (Exception ex) { mensajes.VerError("VentanaCobrarHorasVM.RefrescarValores", ex); } }
// ==================================================================================================== #region MÉTODOS PÚBLICOS // ==================================================================================================== public void CargarCalendarios() { if (App.Global.CadenaConexion == null) { _listacalendarios.Clear(); return; } ListaCalendarios = BdCalendarios.GetCalendarios(FechaActual.Year, FechaActual.Month); if (ListaCalendarios.Any(x => x.HayDiasNuevos)) { HayCambios = true; } foreach (Calendario c in ListaCalendarios) { c.ObjetoCambiado += ObjetoCambiadoEventHandler; } CalendarioSeleccionado = null; //DiaCalendarioSeleccionado = null; PropiedadCambiada(nameof(Detalle)); }
public void GuardarCalendarios() { if (AñadirConductoresDesconocidos()) { App.Global.ConductoresVM.GuardarConductores(); } try { HayCambios = false; if (ListaCalendarios != null && ListaCalendarios.Count > 0) { BdCalendarios.GuardarCalendarios(ListaCalendarios.Where(c => c.Modificado || c.Nuevo)); } if (_listaborrados.Count > 0) { BdCalendarios.BorrarCalendarios(_listaborrados); _listaborrados.Clear(); } } catch (Exception ex) { Mensajes.VerError("CalendariosViewModel.GuardarCalendarios", ex); HayCambios = true; } }
private async Task <Dictionary <int, Pijama.HojaPijama> > GetPijamas(int año, int idConductor) { return(await Task.Run(() => { // Cargamos los calendarios del año del conductor. List <Calendario> listaCalendarios = BdCalendarios.GetCalendariosConductor(año, idConductor); // Creamos el diccionario que contendrá las hojas pijama. Dictionary <int, Pijama.HojaPijama> pijamasAño = new Dictionary <int, Pijama.HojaPijama>(); // Iniciamos el valor para la barra de progreso. double num = 1; // Cargamos las hojas pijama disponibles. foreach (Calendario cal in listaCalendarios) { // Incrementamos la barra de progreso. App.Global.ValorBarraProgreso = num / listaCalendarios.Count * 100; // Añadimos el pijama a la lista. pijamasAño.Add(cal.Fecha.Month, new Pijama.HojaPijama(cal, mensajes)); // Incrementamos el valor de la barra de progreso. num++; } return pijamasAño; })); }
public HorasHojaPijamaHastaMes(int año, int mes, int idTrabajador) { // HORAS Acumuladas = BdCalendarios.GetAcumuladasHastaMes(año, mes, idTrabajador); Reguladas = BdCalendarios.GetHorasReguladasHastaMes(año, mes, idTrabajador); //Descuadre = BdDiasCalendario.GetHorasDescuadreHastaMes(año, mes, idTrabajador); //ExcesoJornada = BdDiasCalendario.GetExcesoJornadaHastaMes(año, mes, idTrabajador); //ExcesoJornadaPendiente = BdDiasCalendario.GetExcesoJornadaPendienteHastaMes(año, mes, idTrabajador); //DescuadrePendiente = BdDiasCalendario.GetDescuadrePendienteHastaMes(año, mes, idTrabajador); // Cargamos el exceso de jornada cobrada hasta el mes anterior al indicado, ya que se añade el que se indica en la hoja pijama, // que corresponde al mes actual. //DateTime fecha = new DateTime(año, mes, 1).AddMonths(-1); //ExcesoJornadaPendiente = BdCalendarios.GetExcesoJornadaCobradaHastaMes(fecha.Year, fecha.Month, idTrabajador); // DÍAS DiasF6 = BdCalendarios.GetDiasF6HastaMes(año, mes, idTrabajador); DCs = BdCalendarios.GetDescansosDisfrutadosHastaMes(año, mes, idTrabajador); DNDs = BdCalendarios.GetDNDHastaMes(idTrabajador, año, mes); DcRegulados = BdCalendarios.GetDescansosReguladosHastaMes(año, mes, idTrabajador); ComiteEnDescanso = BdCalendarios.GetComiteEnDescansoHastaMes(idTrabajador, año, mes); TrabajoEnDescanso = BdCalendarios.GetTrabajoEnDescansoHastaMes(idTrabajador, año, mes); }