コード例 #1
0
 public async Task <List <DiaCalendario> > GetCalendariosPorServicioAsync(string linea, string servicio, int turno, string archivoDB)
 {
     using (QuattroContext db = new QuattroContext(archivoDB))
     {
         return(await db.Calendario
                .Include(c => c.Incidencia)
                .Include(c => c.Relevo)
                .Include(c => c.Susti)
                .Include(c => c.Servicios)
                .Where(c => string.IsNullOrEmpty(linea) ? true : c.NumeroLinea == linea &&
                       string.IsNullOrEmpty(servicio) ? true : c.Servicio == servicio &&
                       turno == 0 ? true : c.Turno == turno)
                .OrderBy(c => c.Fecha)
                .ToListAsync());
     }
 }
コード例 #2
0
        // ====================================================================================================


        // ====================================================================================================
        #region MÉTODOS ESTADÍSTICAS
        // ====================================================================================================

        public async Task <decimal> GetAcumuladasHastaMesAsync(int año, int mes, bool incluirTomaDeje, string archivoDB)
        {
            using (QuattroContext db = new QuattroContext(archivoDB))
            {
                var fecha      = new DateTime(año, mes, 1).AddMonths(1);
                var acumuladas = await db.Calendario.Where(c => c.Fecha < fecha).SumAsync(c => c.Acumuladas);

                if (incluirTomaDeje)
                {
                    acumuladas += await db.Calendario.Where(c => c.Fecha < fecha)
                                  .SumAsync(c => Convert.ToDecimal(Math.Round(c.TomaDeje.TotalHoras, 2)));
                }
                acumuladas += await db.HorasAjenas.Where(h => h.Fecha < fecha).SumAsync(h => h.Horas);

                return(acumuladas);
            }
        }
コード例 #3
0
        // ====================================================================================================


        // ====================================================================================================
        #region CONSTRUCTOR
        // ====================================================================================================

        public CalendarioViewModel()
        {
            archivoDB = DependencyService.Get <IPathService>().GetFilePath();
            using (QuattroContext context = new QuattroContext(archivoDB))
            {
                context.Database.Migrate();

                var lista = context.Calendario.AsNoTracking().ToList();
                if (!lista.Any())
                {
                    for (int mes = 1; mes <= 12; mes++)
                    {
                        for (int dia = 1; dia <= DateTime.DaysInMonth(2018, mes); dia++)
                        {
                            context.Calendario.Add(new DiaCalendario {
                                Fecha = new DateTime(2018, mes, dia),
                            });
                        }
                    }
                    context.SaveChanges();
                }
            }
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: ander74/Quattro
        static void ProbarEventos()
        {
            using (QuattroContext db = new QuattroContext(ArchivoDB)) {
                List <DiaCalendario> lista = new List <DiaCalendario>();
                var dia1 = db.Calendario.FirstOrDefault(d => d.Fecha == new DateTime(2018, 10, 1));
                var dia2 = db.Calendario.FirstOrDefault(d => d.Fecha == new DateTime(2018, 10, 2));
                var dia3 = db.Calendario.FirstOrDefault(d => d.Fecha == new DateTime(2018, 10, 3));
                dia1.Servicios  = new List <ServicioCalendario>();
                dia2.Servicios  = new List <ServicioCalendario>();
                dia3.Servicios  = new List <ServicioCalendario>();
                dia1.Incidencia = new Incidencia {
                    Tipo = 1
                };
                dia2.Incidencia = new Incidencia {
                    Tipo = 1
                };
                dia3.Incidencia = new Incidencia {
                    Tipo = 1
                };
                dia1.JornadaChanged += Dia_JornadaChanged;
                dia2.JornadaChanged += Dia_JornadaChanged;
                dia3.JornadaChanged += Dia_JornadaChanged;
                lista.Add(dia1);
                lista.Add(dia2);
                lista.Add(dia3);

                Console.Clear();
                EscribirListaDias(lista);
                Console.ReadKey();

                dia1.Turno  = 1;
                dia1.Inicio = new Tiempo(6, 0);
                dia1.Final  = new Tiempo(14, 0);
                dia2.Turno  = 2;
                dia2.Inicio = new Tiempo(14, 30);
                dia2.Final  = new Tiempo(23, 15);
                dia3.Turno  = 1;
                dia3.Inicio = new Tiempo(4, 20);
                dia3.Final  = new Tiempo(12, 0);

                Console.Clear();
                EscribirListaDias(lista);
                Console.ReadKey();

                dia1.Turno  = 1;
                dia1.Inicio = new Tiempo(9, 0);
                dia1.Final  = new Tiempo(15, 45);
                dia2.Turno  = 2;
                dia2.Servicios.Add(new ServicioCalendario {
                    Servicio = "6", Turno = 2, Inicio = new Tiempo(22, 00), Final = new Tiempo(24, 35)
                });
                dia2.Inicio = new Tiempo(16, 30);
                dia2.Final  = new Tiempo(22, 00);
                dia3.Turno  = 2;
                dia3.Inicio = new Tiempo(13, 20);
                dia3.Final  = new Tiempo(20, 5);

                Console.Clear();
                EscribirListaDias(lista);
                Console.ReadKey();
            }
        }
コード例 #5
0
        // ====================================================================================================


        // ====================================================================================================
        #region CONSTRUCTOR
        // ====================================================================================================

        public EFDataRepository(QuattroContext context)
        {
            this.context = context;
            context.Database.EnsureCreated();
        }