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); }
// ==================================================================================================== // ==================================================================================================== #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)); }
/*================================================================================ * 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); } } }
private void DoDiaPulsadoLargo(DiaCalendario dia) { if (IsInSelectMode) { return; } Vibration.Vibrate(50); dia.IsSelected = true; IsInSelectMode = true; }
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"); }
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 }); }
/*================================================================================ * 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); }
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(); }
public DiaCalendarioEntity(DiaCalendario model) => FromModel(model);