예제 #1
0
        private async Task DoRepetirDiaAnteriorAsync()
        {
            Vibration.Vibrate(15);
            var dia = ListaDias.FirstOrDefault(d => d.IsSelected);

            if (dia == null)
            {
                return;
            }
            var diaAnterior = await repo.GetDiaAsync(dia.Fecha.AddDays(-1));

            if (diaAnterior == null)
            {
                return;
            }
            var fecha      = dia.Fecha;
            var esFranqueo = dia.EsFranqueo;
            var esFestivo  = dia.EsFestivo;

            dia.FromModel(new DiaCalendario(diaAnterior));
            dia.Fecha      = fecha;
            dia.EsFranqueo = esFranqueo;
            dia.EsFestivo  = esFestivo;
            dia.PropiedadCambiada("");
            await GuardarDatos();
        }
예제 #2
0
        private async Task DoGuardarServicioAsync()
        {
            Vibration.Vibrate(15);
            var dia = ListaDias.FirstOrDefault(d => d.IsSelected);

            if (dia == null || dia.Linea == null || string.IsNullOrWhiteSpace(dia.Servicio))
            {
                return;
            }
            if (dia.Inicio == null || dia.Final == null)
            {
                return;
            }
            var linea = await repo.GetLineaByNumeroAsync(dia.Linea.Numero);

            if (linea == null)
            {
                return;
            }
            var servicio = linea.Servicios.FirstOrDefault(s => s.Servicio.Equals(dia.Servicio) && s.Turno == dia.Turno);

            if (servicio == null)
            {
                servicio = new ServicioLinea();
                servicio.FromModel(new ServicioBase(dia));
                linea.Servicios.Add(servicio);
            }
            else
            {
                servicio.FromModel(new ServicioBase(dia));
            }
            await GuardarDatos();

            dialog.ShortToast("Servicio guardado.");
        }
예제 #3
0
 private async Task DoFestivoAsync()
 {
     Vibration.Vibrate(15);
     foreach (var dia in ListaDias.Where(d => d.IsSelected))
     {
         dia.EsFestivo = !dia.EsFestivo;
     }
     await GuardarDatos();
 }
예제 #4
0
 private void DoDesseleccionarTodo()
 {
     foreach (var dia in ListaDias.Where(d => d.IsSelected))
     {
         dia.IsSelected = false;
     }
     IsInSelectMode = false;
     Vibration.Vibrate(30);
 }
예제 #5
0
        private async Task DoFranqueoAsync()
        {
            Vibration.Vibrate(15);
            foreach (var dia in ListaDias.Where(d => d.IsSelected))
            {
                dia.EsFranqueo = !dia.EsFranqueo;
                if (dia.EsFranqueo && dia.Incidencia == null)
                {
                    dia.Incidencia = await repo.GetIncidenciaAsync(2);

                    dia.PropiedadCambiada(nameof(dia.TextoServicio));
                }
            }
            await GuardarDatos();
        }
예제 #6
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");
        }
예제 #7
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
     });
 }
예제 #8
0
 private async Task DoPegarAsync()
 {
     Vibration.Vibrate(15);
     if (DiaCopiado == null)
     {
         return;
     }
     foreach (var dia in ListaDias.Where(d => d.IsSelected))
     {
         var id         = dia.Id;
         var fecha      = dia.Fecha;
         var esFranqueo = dia.EsFranqueo;
         var esFestivo  = dia.EsFestivo;
         dia.FromModel(DiaCopiado);
         dia.Id         = id;
         dia.Fecha      = fecha;
         dia.EsFranqueo = esFranqueo;
         dia.EsFestivo  = esFestivo;
         dia.PropiedadCambiada("");
     }
     await GuardarDatos();
 }
예제 #9
0
 private void DoVaciar()
 {
     Vibration.Vibrate(15);
     dialog.Confirmar("Esta operación borrará el contenido los días seleccionados.\n\n¿Desea continuar?",
                      "Vaciar días",
                      "Si",
                      "Cancelar", async() => {
         foreach (var dia in ListaDias.Where(d => d.IsSelected))
         {
             var id         = dia.Id;
             var fecha      = dia.Fecha;
             var esFranqueo = dia.EsFranqueo;
             var esFestivo  = dia.EsFestivo;
             dia.FromModel(new DiaCalendario());
             dia.Id         = id;
             dia.Fecha      = fecha;
             dia.EsFranqueo = esFranqueo;
             dia.EsFestivo  = esFestivo;
             dia.PropiedadCambiada("");
         }
         await GuardarDatos();
     },
                      null);
 }
예제 #10
0
        // ====================================================================================================


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

        public DiaCalendario GetDia(int id)
        {
            return(ListaDias.FirstOrDefault(d => d.Id == id));
        }