Esempio n. 1
0
        private void AddOrUpdate(Actividad actividad)
        {
            Actividad act = Actividades.FirstOrDefault(x => x.Id == actividad.Id);

            if (act != null)
            {
                act = actividad;
            }
            else
            {
                Actividades.Add(actividad);
            }
        }
Esempio n. 2
0
        private void MoverActividades(Actividad actividad)
        {
            Actividad actividadBloqueadora = Actividades.FirstOrDefault(x => x.Finalizada == false && x.FechaInicio == actividad.FechaInicio && x.FechaFin == actividad.FechaFin);

            if (actividadBloqueadora == null)
            {
                return;
            }

            List <Actividad> actividadesMover = Actividades.Where(x => x.Finalizada == false && x.FechaInicio >= x.FechaInicio).ToList();

            long milisegundosMover = actividad.GetDuracionActividad().Ticks;

            foreach (var actividadMover in actividadesMover)
            {
                actividadMover.FechaInicio = actividadMover.FechaInicio.AddTicks(milisegundosMover);
                actividadMover.FechaFin    = actividadMover.FechaFin.AddTicks(milisegundosMover);
            }
        }
Esempio n. 3
0
        public void IntentarGuardarActividad(Actividad actividad, bool forzar = false)
        {
            if (actividad == null)
            {
                throw new ArgumentException("La actividad a agregar no debe ser nula");
            }

            bool horarioDisponible = HorarioDisponible(actividad.FechaInicio, actividad.FechaFin);

            if (horarioDisponible == false && forzar == false)
            {
                throw new EntityException("La actividad no se puede agregar porque no hay espacio en la agenda del usuario");
            }

            if (forzar)
            {
                MoverActividades(actividad);
            }

            this.AddOrUpdate(actividad);
        }