Beispiel #1
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            // Declaramos el color que se devolverá.
            SolidColorBrush color = new SolidColorBrush(Colors.Transparent);

            // Si el valor es nulo, devolvemos el color
            DiaCalendario dia = value as DiaCalendario;

            if (dia == null)
            {
                return(color);
            }

            if (dia.Grafico == 3502)
            {
                color = new SolidColorBrush(Colors.Chocolate);
            }
            if (dia.Grafico == 3501)
            {
                color = new SolidColorBrush(Colors.Yellow);
            }
            if (dia.Grafico == 3510)
            {
                color = new SolidColorBrush(Colors.Red);
            }

            // Devolvemos el color
            return(color);
        }
Beispiel #2
0
        // ====================================================================================================


        // ====================================================================================================
        #region MÉTODOS PÚBLICOS
        // ====================================================================================================

        public void FromModel(DiaCalendario model)
        {
            if (model == null)
            {
                return;
            }
            base.FromModel(model);
            Fecha         = model.Fecha;
            EsFranqueo    = model.EsFranqueo;
            EsFestivo     = model.EsFestivo;
            HuelgaParcial = model.HuelgaParcial;
            HorasHuelga   = model.HorasHuelga;
            Trabajadas    = model.Trabajadas;
            Acumuladas    = model.Acumuladas;
            Nocturnas     = model.Nocturnas;
            Desayuno      = model.Desayuno;
            Comida        = model.Comida;
            Cena          = model.Cena;
            Bus           = model.Bus;
            IncidenciaId  = model.Incidencia?.Id ?? 0;
            Incidencia    = model.Incidencia == null ? null : new IncidenciaEntity(model.Incidencia);
            RelevoId      = model.Relevo?.Id ?? 0;
            Relevo        = model.Relevo == null ? null : new CompañeroEntity(model.Relevo);
            SustiId       = model.Susti?.Id ?? 0;
            Susti         = model.Susti == null ? null : new CompañeroEntity(model.Susti);
            Servicios     = model.Servicios.Select(s => new ServicioDiaEntity(s));
        }
Beispiel #3
0
        /*================================================================================
         * GUARDAR DIAS CALENDARIO
         *================================================================================*/
        public static void GuardarDiasCalendario(IEnumerable <DiaCalendario> lista)
        {
            // Si la lista está vacía, salimos.
            if (lista == null || lista.Count() == 0)
            {
                return;
            }

            using (OleDbConnection conexion = new OleDbConnection(App.Global.CadenaConexion))
            {
                string SQLInsertar = "INSERT INTO DiasCalendario (IdCalendario, Dia, DiaFecha, Grafico, Codigo, ExcesoJornada, FacturadoPaqueteria, " +
                                     "Limpieza, GraficoVinculado, Notas, TurnoAlt, InicioAlt, FinalAlt, InicioPartidoAlt, FinalPartidoAlt, " +
                                     "TrabajadasAlt, AcumuladasAlt, NocturnasAlt, DesayunoAlt, ComidaAlt, CenaAlt, PlusCenaAlt, " +
                                     "PlusLimpiezaAlt, PlusPaqueteriaAlt) " +
                                     "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);";
                //string SQLInsertar = "InsertarDiaCalendario";

                string SQLActualizar = "UPDATE DiasCalendario SET IdCalendario = ?, Dia = ?, DiaFecha = ?, Grafico = ?, Codigo = ?, " +
                                       "ExcesoJornada = ?, FacturadoPaqueteria = ?, Limpieza = ?, GraficoVinculado = ?, Notas = ?, " +
                                       "TurnoAlt=?, InicioAlt=?, FinalAlt=?, InicioPartidoAlt=?, FinalPartidoAlt=?, TrabajadasAlt=?, AcumuladasAlt=?, " +
                                       "NocturnasAlt=?, DesayunoAlt=?, ComidaAlt=?, CenaAlt=?, PlusCenaAlt=?, PlusLimpiezaAlt=?, PlusPaqueteriaAlt=? " +
                                       "WHERE Id=?;";
                //string SQLActualizar = "ActualizarDiaCalendario";

                string SQLGetId = "SELECT @@IDENTITY;";

                try {
                    conexion.Open();
                    //foreach (DiaCalendario dia in lista) {
                    lista.ToList().ForEach(dia => {
                        // Si el día tiene como gráfico cero y no existe, no se evalúa.
                        //if (dia.Id == 0 && dia.Grafico == 0) continue;
                        if (dia.Nuevo)
                        {
                            OleDbCommand comando = new OleDbCommand(SQLInsertar, conexion);
                            //comando.CommandType = System.Data.CommandType.StoredProcedure;
                            DiaCalendario.ParseToCommand(comando, dia);
                            int xx = comando.ExecuteNonQuery();
                            comando.CommandText = SQLGetId;
                            comando.CommandType = System.Data.CommandType.Text;
                            int iddia           = (int)comando.ExecuteScalar();
                            dia.Id         = iddia;
                            dia.Nuevo      = false;
                            dia.Modificado = false;
                        }
                        else if (dia.Modificado)
                        {
                            OleDbCommand comando = new OleDbCommand(SQLActualizar, conexion);
                            //comando.CommandType = System.Data.CommandType.StoredProcedure;
                            DiaCalendario.ParseToCommand(comando, dia);
                            int x          = comando.ExecuteNonQuery();
                            dia.Modificado = false;
                        }
                        //}
                    });
                } catch (OleDbException ex) {
                    Utils.VerError("BdDiasCalendario.GuardarDiasCalendario", ex);
                }
            }
        }
Beispiel #4
0
 private void DoDiaPulsadoLargo(DiaCalendario dia)
 {
     if (IsInSelectMode)
     {
         return;
     }
     Vibration.Vibrate(50);
     dia.IsSelected = true;
     IsInSelectMode = true;
 }
Beispiel #5
0
        private void DoCopiar()
        {
            Vibration.Vibrate(15);
            var dia = ListaDias.FirstOrDefault(d => d.IsSelected);

            if (dia == null)
            {
                return;
            }
            if (DiaCopiado == null)
            {
                DiaCopiado = new DiaCalendario();
            }
            DiaCopiado.FromModel(dia);
            dialog.ShortToast("Dia copiado");
        }
Beispiel #6
0
 public void DoDiaPulsado(DiaCalendario dia)
 {
     if (IsInSelectMode)
     {
         dia.IsSelected = !dia.IsSelected;
         if (ListaDias.Count(d => d.IsSelected) == 0)
         {
             IsInSelectMode = false;
         }
         Vibration.Vibrate(15);
         RaisePropertyChanged(nameof(Titulo));
         RaisePropertyChanged(nameof(IsInSelectMode));
         RaisePropertyChanged(nameof(IsMultipleSelect));
         return;
     }
     navigation.Navigate <DiaCalendarioViewModel, DiaNavigationArgs>(new DiaNavigationArgs {
         Fecha = dia.Fecha
     });
 }
Beispiel #7
0
        /*================================================================================
         * GET DIAS CALENDARIO CON BLOQUEOS
         *================================================================================*/
        public static ObservableCollection <DiaCalendario> GetDiasCalendarioConBloqueos(long idConductor)
        {
            // Creamos la lista y el comando que extrae los gráficos.
            ObservableCollection <DiaCalendario> lista = new ObservableCollection <DiaCalendario>();

            using (OleDbConnection conexion = new OleDbConnection(App.Global.CadenaConexion))
            {
                //string comandoSQL = "SELECT * " +
                //					"FROM DiasCalendario " +
                //					"WHERE (ExcesoJornada <> 0 OR Descuadre <> 0) AND IdCalendario IN (SELECT Id " +
                //					"																	FROM Calendarios " +
                //					"																	WHERE IdConductor = ?)";
                string comandoSQL = "GetDiasCalendarioConBloqueos";
                // Elementos para la consulta de calendarios y días de calendario.
                OleDbCommand comando = new OleDbCommand(comandoSQL, conexion);
                comando.CommandType = System.Data.CommandType.StoredProcedure;
                comando.Parameters.AddWithValue("@IdConductor", idConductor);
                OleDbDataReader lector = null;
                try {
                    conexion.Open();
                    // Extraemos los calendarios.
                    lector = comando.ExecuteReader();
                    // Por cada dia extraido...
                    while (lector.Read())
                    {
                        DiaCalendario dia = new DiaCalendario(lector);
                        // Añadimos el calendario a la lista.
                        lista.Add(dia);
                        dia.Nuevo      = false;
                        dia.Modificado = false;
                    }
                } catch (OleDbException ex) {
                    Utils.VerError("BdDiasCalendarios.GetDiasCalendarioConBloqueos", ex);
                } finally {
                    lector.Close();
                }
            }
            // Devolvemos la lista.
            return(lista);
        }
Beispiel #8
0
        static void ProbarCalculos()
        {
            Convenio convenio = new Convenio();

            DiaCalendario dia = new DiaCalendario();

            dia.Incidencia = new Incidencia {
                Tipo = 1
            };
            dia.Servicio  = "01";
            dia.Turno     = 1;
            dia.Inicio    = new Tiempo(7, 30);
            dia.Final     = new Tiempo(13, 30);
            dia.Servicios = new List <ServicioCalendario>();
            dia.Servicios.Add(new ServicioCalendario {
                Inicio = new Tiempo(13, 30), Final = new Tiempo(14, 20)
            });
            dia.Servicios.Add(new ServicioCalendario {
                Inicio = new Tiempo(14, 20), Final = new Tiempo(15, 31)
            });

            convenio.RecalcularDia(dia);

            Console.WriteLine();
            Console.WriteLine($"Inicio: {dia.Inicio}");
            Console.WriteLine($"Final : {dia.Final}");
            Console.WriteLine($"Total : {dia.Final - dia.Inicio}");
            Console.WriteLine();
            Console.WriteLine($"Trabajadas: {dia.Trabajadas}");
            Console.WriteLine($"Acumuladas: {dia.Acumuladas}");
            Console.WriteLine($"Nocturnas : {dia.Nocturnas}");
            Console.WriteLine($"Desyuno   : {dia.Desayuno}");
            Console.WriteLine($"Comida    : {dia.Comida}");
            Console.WriteLine($"Cena      : {dia.Cena}");
            Console.WriteLine();

            dia            = new DiaCalendario();
            dia.Incidencia = new Incidencia {
                Tipo = 1
            };
            dia.Servicio  = "01";
            dia.Turno     = 2;
            dia.Inicio    = new Tiempo(16, 30);
            dia.Final     = new Tiempo(00, 30);
            dia.Servicios = new List <ServicioCalendario>();
            //dia.Servicios.Add(new ServicioCalendario { Inicio = new Tiempo(20, 0), Final = new Tiempo(21, 0) });
            //dia.Servicios.Add(new ServicioCalendario { Inicio = new Tiempo(22, 0), Final = new Tiempo(00, 45) });

            convenio.RecalcularDia(dia);

            Console.WriteLine();
            Console.WriteLine($"Inicio: {dia.Inicio}");
            Console.WriteLine($"Final : {dia.Final}");
            Console.WriteLine($"Total : {dia.Final - dia.Inicio}");
            Console.WriteLine();
            Console.WriteLine($"Trabajadas: {dia.Trabajadas}");
            Console.WriteLine($"Acumuladas: {dia.Acumuladas}");
            Console.WriteLine($"Nocturnas : {dia.Nocturnas}");
            Console.WriteLine($"Desyuno   : {dia.Desayuno}");
            Console.WriteLine($"Comida    : {dia.Comida}");
            Console.WriteLine($"Cena      : {dia.Cena}");
            Console.WriteLine();
        }
Beispiel #9
0
 public DiaCalendarioEntity(DiaCalendario model) => FromModel(model);