Beispiel #1
0
        public ActionResult Create(DateTime startDateTime, int localRetreatID)
        {
            List <string> volunteerJobLabels;
            List <string> volunteerJobValues;

            GetVolunteerJobInfo(out volunteerJobLabels, out volunteerJobValues);

            var viewModel = new EventScheduleViewModel
            {
                EventSchedule          = new EventSchedule(),
                EventActivity          = _entities.EventActivities.ToList(),
                ScheduleOffset         = _entities.ScheduleOffsets.ToList(),
                VolunteerJobNameLabels = volunteerJobLabels,
                VolunteerJobNameValues = volunteerJobValues
            };

            if (startDateTime == null)
            {
                startDateTime = _entities.Events.Single(a => a.ID == localRetreatID).StartDateTime;
            }
            viewModel.EventSchedule.DateTimeFrom     = startDateTime;
            viewModel.EventSchedule.ScheduleOffsetID = 2;   // 1 hour

            return(View(viewModel));
        }
Beispiel #2
0
        public IHttpActionResult GetPropertySchedule(int id)
        {
            var repository             = new EventTaskListRepository();
            var taskLists              = repository.GetPropertyEventTaskLists(id);
            var eventTaskListSchedules = new List <EventTaskListScheduleViewModel>();

            foreach (var taskList in taskLists)
            {
                var eventTaskListSchedule = new EventTaskListScheduleViewModel();
                eventTaskListSchedule.Id         = taskList.Id;
                eventTaskListSchedule.Name       = taskList.Name;
                eventTaskListSchedule.EventCount = taskList.PropertyService == null ? 0 : taskList.PropertyService.EventCount;
                eventTaskListSchedule.Schedules  = new List <EventScheduleViewModel>();
                decimal idx = 0;
                foreach (var eventSchedule in taskList.EventSchedules)
                {
                    if (!string.IsNullOrEmpty(eventSchedule.RecurrenceRule))
                    {
                        var pattern   = new RecurrencePattern(eventSchedule.RecurrenceRule);
                        var evaluator = new RecurrencePatternEvaluator(pattern);
                        var items     = evaluator.Evaluate(new CalDateTime(eventSchedule.StartTime), eventSchedule.StartTime,
                                                           eventSchedule.EndTime, false);
                        foreach (var item in items)
                        {
                            idx = idx + taskList.NumberServices ?? 0;
                            var schedule = new EventScheduleViewModel();
                            schedule.Date        = item.StartTime.Value.ToString("d");
                            schedule.Time        = item.StartTime.Value.ToString("t");
                            schedule.DateTime    = item.StartTime.Value;
                            schedule.EventNumber = idx;
                            schedule.FreeService = taskList.FreeServices.Any(f => f.ServiceTime == item.StartTime.Value);
                            eventTaskListSchedule.Schedules.Add(schedule);
                        }
                    }
                    else
                    {
                        idx = idx + taskList.NumberServices ?? 0;
                        var schedule = new EventScheduleViewModel();
                        schedule.Date        = eventSchedule.StartTime.ToString("d");
                        schedule.Time        = eventSchedule.StartTime.ToString("t");
                        schedule.DateTime    = eventSchedule.StartTime;
                        schedule.EventNumber = idx;
                        schedule.FreeService = taskList.FreeServices.Any(f => f.ServiceTime == eventSchedule.StartTime);
                        eventTaskListSchedule.Schedules.Add(schedule);
                    }
                }

                if (eventTaskListSchedule.Schedules.Any() || eventTaskListSchedule.EventCount > 0)
                {
                    eventTaskListSchedules.Add(eventTaskListSchedule);
                }
            }

            return(Ok(eventTaskListSchedules));
        }
Beispiel #3
0
        public async Task <EventScheduleViewModel> SaveEventDetail([FromBody] EventScheduleViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var session = await _sessionProvider.Get();

                    model.EventScheduleModel.StartDateTime = new DateTime(model.EventScheduleModel.StartDateTime.Year, model.EventScheduleModel.StartDateTime.Month, model.EventScheduleModel.StartDateTime.Day, Convert.ToInt32(model.EventScheduleModel.LocalStartTime.Split(":")[0]), Convert.ToInt32(model.EventScheduleModel.LocalStartTime.Split(":")[1]), 0);
                    model.EventScheduleModel.EndDateTime   = new DateTime(model.EventScheduleModel.EndDateTime.Year, model.EventScheduleModel.EndDateTime.Month, model.EventScheduleModel.EndDateTime.Day, Convert.ToInt32(model.EventScheduleModel.LocalEndTime.Split(":")[0]), Convert.ToInt32(model.EventScheduleModel.LocalEndTime.Split(":")[1]), 0);
                    if (!model.EventScheduleModel.TimeZoneOffset.Contains("-") && !model.EventScheduleModel.TimeZoneOffset.Contains("+"))
                    {
                        model.EventScheduleModel.TimeZoneOffset = "+" + model.EventScheduleModel.TimeZoneOffset;
                    }
                    model.EventScheduleModel.StartDateTime = _utcTimeProvider.GetUtcTime(model.EventScheduleModel.StartDateTime, model.EventScheduleModel.TimeZoneOffset);
                    model.EventScheduleModel.EndDateTime   = _utcTimeProvider.GetUtcTime(model.EventScheduleModel.EndDateTime, model.EventScheduleModel.TimeZoneOffset);
                    model.EventScheduleModel.VenueId       = 10694;
                    EventScheduleCommandResult eventDetailsCommandResult = await _commandSender.Send <EventScheduleCommand, EventScheduleCommandResult>(new EventScheduleCommand
                    {
                        CurrentStep        = model.CurrentStep,
                        EventScheduleModel = model.EventScheduleModel,
                        ModifiedBy         = session.User != null ? session.User.AltId : Guid.Parse("7390283B-4A32-4860-BA3D-B57F1E5F2DAC"),
                    });

                    if (eventDetailsCommandResult.Success)
                    {
                        eventDetailsCommandResult.EventScheduleModel.LocalStartDateTime = _localTimeProvider.GetLocalTime(eventDetailsCommandResult.EventScheduleModel.StartDateTime, eventDetailsCommandResult.EventScheduleModel.TimeZoneOffset);
                        eventDetailsCommandResult.EventScheduleModel.LocalEndDateTime   = _localTimeProvider.GetLocalTime(eventDetailsCommandResult.EventScheduleModel.EndDateTime, eventDetailsCommandResult.EventScheduleModel.TimeZoneOffset);
                        return(new EventScheduleViewModel
                        {
                            Success = true,
                            CurrentStep = eventDetailsCommandResult.CurrentStep,
                            CompletedStep = eventDetailsCommandResult.CompletedStep,
                            EventScheduleModel = eventDetailsCommandResult.EventScheduleModel
                        });
                    }
                    else
                    {
                        return(new EventScheduleViewModel {
                        });
                    }
                }
                catch (Exception e)
                {
                    return(new EventScheduleViewModel {
                    });
                }
            }
            else
            {
                return(new EventScheduleViewModel {
                });
            }
        }
Beispiel #4
0
        public ActionResult Edit(int id, FormCollection collection, string[] VolunteerJobChecks)
        {
            var localRetreatSchedule = _entities.EventSchedules.Single(a => a.ID == id);

            try
            {
                //UpdateModel(localRetreatSchedule, "localRetreatSchedule");

                var oldVolunteerJobs = from r in _entities.EventVolunteerJobs
                                       where r.EventScheduleID == localRetreatSchedule.ID
                                       select r;

                //remove the old ones
                if (oldVolunteerJobs.Count() > 0)
                {
                    foreach (var oldVolunteerJob in oldVolunteerJobs)
                    {
                        _entities.EventVolunteerJobs.DeleteObject(oldVolunteerJob);
                    }
                }

                //Add new
                AddVolumnJob2LocalRetreatVolunteerJobs(localRetreatSchedule, VolunteerJobChecks);

                UpdateModel(localRetreatSchedule, "localRetreatSchedule");
                _entities.SaveChanges();

                return(RedirectToAction("Index", new { localRetreatID = localRetreatSchedule.EventID }));
            }
            catch
            {
                //Invalid - redisplay with errors
                List <string> volunteerJobLabels;
                List <string> volunteerJobValues;
                GetVolunteerJobInfoFromBefore(id, out volunteerJobLabels, out volunteerJobValues);

                var viewModel = new EventScheduleViewModel
                {
                    EventSchedule  = localRetreatSchedule,
                    EventActivity  = _entities.EventActivities.ToList(),
                    ScheduleOffset = _entities.ScheduleOffsets.ToList(),
                };

                return(View(viewModel));
            }
        }
        // GET: EventSchedules
        public ActionResult Index(string search)
        {
            //var schedule = _context.EventSchedules.Include(e =>e.Band).Include(e => e.Event).Where(e => e.EventId == id).ToList();
            //filter ma Go garda data dekhauxa
            var schedule = _context.EventSchedules.Where(ev => ev.Band.Name.StartsWith(search) || search == null).Include(e => e.Event).ToList();

            var band = _context.Bands.ToList();

            var viewmodel = new EventScheduleViewModel
            {
                EventSchedule = schedule,

                Band = band
            };

            return(View(viewmodel));
        }
Beispiel #6
0
        public ActionResult Create(int localRetreatID, DateTime startDateTime, EventSchedule EventSchedule, string[] VolunteerJobChecks)
        {
            try
            {
                EventSchedule.EventID      = localRetreatID;
                EventSchedule.DateTimeFrom = startDateTime;

                // add new
                AddVolumnJob2LocalRetreatVolunteerJobs(EventSchedule, VolunteerJobChecks);

                _entities.AddToEventSchedules(EventSchedule);
                _entities.SaveChanges();

                DateTime endDateTime = _entities.Events.Single(a => a.ID == localRetreatID).EndDateTime;
                DateTime DateTimeTo  = EventSchedule.DateTimeFrom.AddHours(EventSchedule.ScheduleOffset.OffsetHours);

                if (DateTime.Compare(DateTimeTo, endDateTime) < 0)
                {
                    return(RedirectToAction("Create", new { startDateTime = DateTimeTo, localRetreatID = localRetreatID }));
                }

                AddCleaner2LocalRetreatVolunteerJobs(localRetreatID, DateTimeTo);

                return(RedirectToAction("Index", new { localRetreatID = localRetreatID }));
            }
            catch
            {
                //Invalid - redisplay with errors
                List <string> volunteerJobLabels;
                List <string> volunteerJobValues;
                GetVolunteerJobInfo(out volunteerJobLabels, out volunteerJobValues);

                var viewModel = new EventScheduleViewModel
                {
                    EventSchedule          = EventSchedule,
                    EventActivity          = _entities.EventActivities.ToList(),
                    ScheduleOffset         = _entities.ScheduleOffsets.ToList(),
                    VolunteerJobNameLabels = volunteerJobLabels,
                    VolunteerJobNameValues = volunteerJobValues,
                };

                return(View(viewModel));
            }
        }
Beispiel #7
0
        public ActionResult Edit(int id)
        {
            List <string> volunteerJobLabels;
            List <string> volunteerJobValues;

            GetVolunteerJobInfoFromBefore(id, out volunteerJobLabels, out volunteerJobValues);

            EventSchedule eventSchedule = _entities.EventSchedules.Single(a => a.ID == id);
            int           eventID       = eventSchedule.EventID;
            var           viewModel     = new EventScheduleViewModel
            {
                EventSchedule          = eventSchedule,
                EventActivity          = _entities.EventActivities.ToList(),
                ScheduleOffset         = _entities.ScheduleOffsets.ToList(),
                VolunteerJobNameLabels = volunteerJobLabels,
                VolunteerJobNameValues = volunteerJobValues
            };

            return(View(viewModel));
        }