Example #1
0
        // ====================================================================================================
        #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);
            }
        }
Example #2
0
        // ====================================================================================================
        #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);
            }
        }
Example #3
0
 // ====================================================================================================
 #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));
 }
Example #4
0
 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;
     }
 }
Example #5
0
 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;
     }));
 }
Example #6
0
        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);
        }