예제 #1
0
 public void GuardarConductores()
 {
     try {
         App.Global.CalendariosVM.AñadirConductoresDesconocidos();
         HayCambios = false;
         if (_listaborrados.Count > 0)
         {
             BdConductores.BorrarConductores(_listaborrados);
             _listaborrados.Clear();
         }
         if (_regulacionesborradas.Count > 0)
         {
             BdRegulacionConductor.BorrarRegulaciones(_regulacionesborradas);
             _regulacionesborradas.Clear();
         }
         if (ListaConductores != null && ListaConductores.Count > 0)
         {
             BdConductores.GuardarConductores(ListaConductores.Where(c => c.Nuevo || c.Modificado));
         }
         // Si hay conductores con el id cero, avisamos.
         if (ListaConductores.Count(item => item.Id == 0) > 0)
         {
             mensajes.VerMensaje("Hay conductores no válidos que no han sido guardados.", "ATENCIÓN");
         }
     } catch (Exception ex) {
         mensajes.VerError("ConductoresViewModel.GuardarConductores", ex);
         HayCambios = true;
     }
 }
예제 #2
0
파일: HojaPijama.cs 프로젝트: ander74/Orion
        // ====================================================================================================
        #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);
            }
        }
예제 #3
0
        // ====================================================================================================
        #region MÉTODOS PÚBLICOS
        // ====================================================================================================

        public void CargarLineas()
        {
            if (App.Global.CadenaConexionLineas == null)
            {
                _listalineas.Clear();
                return;
            }
            try {
                ListaLineas = BdLineas.GetLineas();
                foreach (Linea l in ListaLineas)
                {
                    l.PropertyChanged += PropiedadCambiadaEventHandler;
                }
            } catch (Exception ex) {
                mensajes.VerError("LineasViewModel.CargarLineas", ex);
            }
            PropiedadCambiada(nameof(Detalle));
        }
예제 #4
0
 public void GuardarGraficos()
 {
     try {
         HayCambios = false;
         if (ListaGraficos != null && ListaGraficos.Count > 0)
         {
             BdGraficos.GuardarGraficos(ListaGraficos.Where(gg => gg.Nuevo || gg.Modificado));
         }
         if (_listaborrados.Count > 0)
         {
             BdGraficos.BorrarGraficos(_listaborrados);
             _listaborrados.Clear();
         }
         if (_valoracionesborradas.Count > 0)
         {
             BdValoracionesGraficos.BorrarValoraciones(_valoracionesborradas);
             _valoracionesborradas.Clear();
         }
     } catch (Exception ex) {
         Mensajes.VerError("GraficosViewModel.GuardarGraficos", ex);
         HayCambios = true;
     }
 }
예제 #5
0
        // Ejecución del comando
        private void ComandoSqlNonQuery()
        {
            string lineSeparator      = ((char)0x2028).ToString();
            string paragraphSeparator = ((char)0x2029).ToString();

            string[] comandos;
            string   texto = CampoTexto.Replace("\n", string.Empty)
                             .Replace("\r", string.Empty)
                             .Replace("\r\n", string.Empty)
                             .Replace(lineSeparator, string.Empty)
                             .Replace(paragraphSeparator, string.Empty);

            //if (texto.Contains(";")) {
            comandos = texto.Split(';');
            //} else {
            //	comandos = new string[] { texto };
            //}

            CampoResultado = string.Empty;

            using (OleDbConnection conexion = new OleDbConnection(App.Global.CadenaConexion)) {
                using (OleDbCommand comando = conexion.CreateCommand()) {
                    conexion.Open();
                    try {
                        foreach (string cmd in comandos)
                        {
                            if (string.IsNullOrWhiteSpace(cmd))
                            {
                                continue;
                            }
                            //comando.CommandText = cmd.Replace("\n",string.Empty)
                            //						 .Replace("\r", string.Empty)
                            //						 .Replace("\r\n", string.Empty)
                            //						 .Replace(lineSeparator, string.Empty)
                            //						 .Replace(paragraphSeparator, string.Empty);
                            comando.CommandText = cmd;
                            int resultado = comando.ExecuteNonQuery();
                            CampoResultado += $"Ejecutando ({DateTime.Now}):\n";
                            CampoResultado += $"    {cmd}\n";
                            CampoResultado += $"    {resultado} registros afectados.\n\n";
                        }
                    } catch (Exception ex) {
                        Mensajes.VerError("Comando SQL Non Query", ex);
                    }
                }
            }
            CampoResultado += $"Consulta Terminada.\n\n";
        }
예제 #6
0
        // ====================================================================================================


        // ====================================================================================================
        #region MÉTODOS PRIVADOS
        // ====================================================================================================

        private async void CargarDatos()
        {
            // Si no existe el conductor activo, salimos.
            if (ConductorActual == null)
            {
                return;
            }

            // Iniciamos la recepción de los pijamas del conductor.
            try {
                // Desactivamos los botones.
                BotonesActivos = false;
                // Iniciamos la barra de progreso.
                App.Global.IniciarProgreso("Recopilando datos...");
                // Solicitamos los pijamas
                pijamasAño = await GetPijamas(AñoActual, ConductorActual.Id);


                //// Cargamos los calendarios del año del conductor.
                //List<Calendario> listaCalendarios = BdCalendarios.GetCalendariosConductor(AñoActual, ConductorActual.Id);
                //// Inicializamos la lista de pijamas del año.
                //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;
                //	// Cargamos un pijama nuevo.
                //	Pijama.HojaPijama hoja = null;
                //	await Task.Run(() => { hoja = new Pijama.HojaPijama(cal, mensajes); });
                //	// Añadimos el pijama a la lista.
                //	pijamasAño.Add(cal.Fecha.Month, hoja);
                //	// Incrementamos el valor de la barra de progreso.
                //	num++;
                //}


                // Llenar los datos con los resultados de los pijamas.
                LlenarListaResumen(AñoActual);
            } catch (Exception ex) {
                mensajes.VerError("ResumenAnualViewModel.CargarDatos", ex);
            } finally {
                BotonesActivos = true;
                App.Global.FinalizarProgreso();
            }
        }
예제 #7
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);
            }
        }
예제 #8
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;
     }
 }
예제 #9
0
        // Ejecución del comando
        private void Aceptar(object parametro)
        {
            if (parametro == null)
            {
                return;
            }
            Window ventana = (Window)parametro;

            try {
                // Si la fecha ya existe, mostramos mensaje
                if (BdGruposGraficos.ExisteGrupo(FechaActual))
                {
                    mensajes.VerMensaje("Ya existe un grupo con la fecha elegida.", "ERROR");
                    return;
                }
                if (NuevoMarcado)
                {
                    if (String.IsNullOrEmpty(Notas.Trim()))
                    {
                        Notas = FechaActual.ToString("dd-MM-yyyy");
                    }
                    BdGruposGraficos.NuevoGrupo(FechaActual, Notas);
                    ventana.DialogResult = true;
                    ventana.Close();
                }
                if (RepetirMarcado)                   //TODO: Sustituir por grupo seleccionado.
                {
                    ObservableCollection <Grafico>           graficos     = BdGraficos.getGraficosGrupoPorFecha(GrupoSeleccionado.Validez);
                    ObservableCollection <ValoracionGrafico> valoraciones = new ObservableCollection <ValoracionGrafico>();
                    if (String.IsNullOrEmpty(Notas.Trim()))
                    {
                        Notas = FechaActual.ToString("dd-MM-yyyy");
                    }
                    int idgruponuevo   = BdGruposGraficos.NuevoGrupo(FechaActual, Notas);
                    int idgraficonuevo = -1;
                    foreach (Grafico grafico in graficos)
                    {
                        grafico.IdGrupo = idgruponuevo;
                        idgraficonuevo  = BdGraficos.InsertarGrafico(grafico);
                        valoraciones    = BdValoracionesGraficos.getValoraciones(grafico.Id);
                        foreach (ValoracionGrafico valoracion in valoraciones)
                        {
                            valoracion.IdGrafico = idgraficonuevo;
                            BdValoracionesGraficos.InsertarValoracion(valoracion);
                        }
                    }
                    // Cerramos la ventana enviando True.
                    ventana.DialogResult = true;
                    ventana.Close();
                }
                if (WordMarcado)
                {
                    if (String.IsNullOrEmpty(ArchivoWord))
                    {
                        mensajes.VerMensaje("No ha seleccionado ningún archivo.", "ERROR");
                        return;
                    }

                    CrearGrupoDeWord();

                    // Cerramos la ventana enviando True.
                    ventana.DialogResult = true;
                    ventana.Close();
                }
            } catch (Exception ex) {
                mensajes.VerError("VentanaNuevoGrupoVM.Aceptar", ex);
            }
        }