public async Task <CalenderViewModel> GetThisWeekEventViewModels(CalenderViewModel calendar)
        {
            var events = await GetEvents(calendar.Id, false);

            var evModels = events.Items.EmptyIfNull().Select(ev =>
            {
                var evModel = new EventViewModel
                {
                    CalendarId   = calendar.Id,
                    CalendarName = calendar.Name,
                    Start        = ev.Start.DateTime ?? Convert.ToDateTime(ev.Start.Date),
                    Title        = ev.Summary,
                    Description  = ev.Description,
                    Location     = calendar.Location,
                    TimeZone     = calendar.TimeZone,
                    Time         = calendar.Time,
                    Region       = calendar.Region,
                    Type         = calendar.Type ?? string.Empty,
                };

                //parse event description json object
                try
                {
                    var json                  = JsonConvert.DeserializeObject <Dictionary <string, string> >(ev.Description);
                    evModel.Preblast          = json.ContainsKey("preblast") ? json["preblast"] : null;
                    evModel.Tag               = json.ContainsKey("tag") ? json["tag"] : null;
                    evModel.CustomDescription = json.ContainsKey("description") ? json["description"] : null;
                    evModel.IsCustomDateTime  = json.ContainsKey("custom");
                    if (evModel.IsCustomDateTime)
                    {
                        evModel.StartTime = ev.Start.DateTime;
                        evModel.EndTime   = ev.End.DateTime;
                        if (!ev.Start.DateTime.HasValue && !ev.End.DateTime.HasValue)
                        {
                            evModel.IsAllDay = true;
                        }

                        evModel.Location = ev.Location ?? calendar.Location;
                    }
                }
                catch (Exception exp)
                {
                    if (!exp.Message.Contains("Value cannot be null."))
                    {
                        System.Diagnostics.Debug.WriteLine("-----calitem------");
                        System.Diagnostics.Debug.WriteLine(calendar.Name + "::" + ev.Summary + "::" + ev.Description + "::" + ev.Start.DateTime.ToString());
                        System.Diagnostics.Debug.WriteLine(exp.Message);
                        System.Diagnostics.Debug.WriteLine("-----endcalitem-----");
                    }
                }

                return(evModel);
            });

            calendar.Items = evModels;
            return(calendar);
        }
 public CalenderPage()
 {
     InitializeComponent();
     BindingContext = _viewModel = new CalenderViewModel();
     _viewModel.OnNavigateToDetails = async detailsViewModel =>
     {
         await Navigation.PushAsync(new DetailPage(detailsViewModel));
     };
 }
        protected override async void OnAppearing()
        {
            base.OnAppearing();

            // Get the events
            await CalenderViewModel.GetCalendarEvents();

            // Add the events to the list view
            CalendarList.ItemsSource = CalenderViewModel.CalenderEventsList;
        }
        public async Task <IActionResult> Calendar(CalendarViewModel model)
        {
            var Lists = await _ScheduleServices.GetIncompleteListsAsync();

            var models = new CalenderViewModel()
            {
                Lists = Lists
            };

            return(View(models));
        }
Exemple #5
0
        // GET: Worker
        public ActionResult Index()
        {
            ApplicationUser      user        = db.FindUser(User.Identity.GetUserId());
            WorkerIndexViewModel workerIndex = new WorkerIndexViewModel()
            {
                Events         = db.GetEvents(user.Id).Select(e => CalenderViewModel.MapCalenderToCalenderViewModel(e)),
                Information    = db.GetInformation(user.Id).Select(i => InformationViewModel.MapInformation(i)),
                DepartmentName = user.GetDepartmentName()
            };

            return(View(workerIndex));
        }
Exemple #6
0
        public async Task <IActionResult> Index([Bind] CalenderViewModel model)
        {
            var hold = await holdCRUD.GetHoldFromId(model.SelectedHoldId);

            model.SelectedCalender = await calenderCRUD.Get(hold);

            model.Dates = await calenderDateManager.Get5Weekdays(DateTime.Now);

            model.Hours = await calenderDateManager.GetDailyHourTimes();

            model.SelectedPerson = await personState.GetPersonAsync();

            return(View(model));
        }
        public List <EventViewModel> isThisWeek(CalenderViewModel cvm)
        {
            TimeZoneInfo easternZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
            DateTime     easternTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, easternZone);

            if (cvm.Items != null)
            {
                var now = DateTime.Now;
                return(cvm.Items.Where(e =>
                                       e.Start.Value > GetCorrectStart().BeginningOfDay() &&
                                       e.Start.Value <= GetCorrectEndOfWeek().EndOfDay()).ToList());
            }
            return(new List <EventViewModel>());
        }
Exemple #8
0
        public ActionResult Index([Bind(Include = "ID,StartDate,StartTime,EndDate,EndTime,DepartmentID,CalTitle,CalContent,")] CalenderViewModel calevntVM)
        {
            DateTime calenderstart = calrepo.CalStart(calevntVM.StartDate, calevntVM.StartTime);
            DateTime calenderend   = calrepo.CalEnd(calevntVM.EndDate, calevntVM.EndTime);

            if (ModelState.IsValid)
            {
                Calender calevnt = new Calender()
                {
                    DepartmentID = calevntVM.DepartmentID, CalenderStart = calenderstart, CalenderEnd = calenderend, CalTitle = calevntVM.CalTitle, CalContent = calevntVM.CalContent
                };

                calrepo.AddCalender(calevnt);
                return(RedirectToAction("Events"));
            }
            return(View(calevntVM));
        }
Exemple #9
0
        public async Task <IActionResult> NextWeek(int week, int holdId)
        {
            var model = new CalenderViewModel();
            var hold  = await holdCRUD.GetHoldFromId(holdId);

            model.SelectedCalender = await calenderCRUD.Get(hold);

            model.SelectedPerson = await personState.GetPersonAsync();

            if (!hold.HoldLinjer.Any(x => x.Person.Id == model.SelectedPerson.Id))
            {
                return(BadRequest("You do not belong here :("));
            }
            model.SelectedHoldId = hold.Id;
            model.CurrentWeek    = week;
            model.Dates          = await calenderDateManager.Get5Weekdays(await calenderDateManager.Add7DaysAndGetDate(week));

            model.Hours = await calenderDateManager.GetDailyHourTimes();

            return(View("Index", model));
        }
Exemple #10
0
        public async Task <IActionResult> View(int?calenderId)
        {
            if (calenderId == null)
            {
                return(View());
            }
            if (calenderId != null)
            {
                var model = new CalenderViewModel();
                model.SelectedCalender = await calenderCRUD.Get((int)calenderId);

                model.Dates = await calenderDateManager.Get5Weekdays(DateTime.Now);

                model.Hours = await calenderDateManager.GetDailyHourTimes();

                model.SelectedPerson = await personState.GetPersonAsync();

                return(View("Index", model));
            }
            return(View());
        }
Exemple #11
0
        public async Task <IActionResult> Index(int?holdId)
        {
            var model = new CalenderViewModel();

            if (holdId == null)
            {
                model.SelectedPerson = await personState.GetPersonAsync();
            }
            else
            {
                var hold = await holdCRUD.GetHoldFromId((int)holdId);

                model.SelectedCalender = await calenderCRUD.Get(hold);

                model.Dates = await calenderDateManager.Get5Weekdays(DateTime.Now);

                model.Hours = await calenderDateManager.GetDailyHourTimes();

                model.SelectedPerson = await personState.GetPersonAsync();
            }
            return(View(model));
        }
Exemple #12
0
        public async Task <ActionResult> Index()
        {
            ApplicationUserManager userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>();
            ApplicationUser        currentUser = await userManager.FindByNameAsync(User.Identity.Name);

            List <SelectListItem> departments = new List <SelectListItem>();

            departments.AddRange(currentUser.ManagedDepartments.Select(dep => new SelectListItem()
            {
                Text = dep.Name, Value = dep.ID.ToString()
            }));

            ViewBag.DepartmentList = departments;

            var calenderVM = new CalenderViewModel
            {
                StartDate = DateTime.Today,
                StartTime = DateTime.Now,
                EndDate   = DateTime.Today,
                EndTime   = DateTime.Now
            };

            return(View(calenderVM));
        }
Exemple #13
0
 public CalenderView(List <string> Vendorsdatetime, UserIndex Vendor, UserQueryDTO userQuery)
 {
     InitializeComponent();
     BindingContext = new CalenderViewModel(Vendorsdatetime, Vendor, userQuery);
 }
Exemple #14
0
        public async Task <bool> Publish()
        {
            var sites    = (await GetCalendarList()).Items;
            var thisweek = new List <EventViewModel>();
            var tasks    = sites.Select(async s =>
            {
                var events             = await GetEvents(s.Id, false);
                MetaDataViewModel meta = null;
                try
                {
                    meta = JsonConvert.DeserializeObject <MetaDataViewModel>(s.Description);
                }
                catch (Exception exp)
                {
                }

                var list = new List <EventViewModel>();
                var cal  = new CalenderViewModel
                {
                    Id          = s.Id,
                    Name        = s.Summary,
                    Description = s.Description,
                    MetaData    = meta,
                    Location    = s.Location,
                    Items       = events.Items.Select(ev =>
                    {
                        var evModel = new EventViewModel
                        {
                            CalendarId   = s.Id,
                            CalendarName = s.Summary,
                            Start        = ev.Start.DateTime ?? Convert.ToDateTime(ev.Start.Date),
                            Title        = ev.Summary,
                            Description  = ev.Description,
                            Location     = s.Location,
                            Time         = meta != null ? meta.Time : string.Empty,
                            Region       = meta.Region
                        };
                        try
                        {
                            var json         = JsonConvert.DeserializeObject <Dictionary <string, string> >(ev.Description);
                            evModel.Preblast = json.ContainsKey("preblast") ? json["preblast"] : null;
                            evModel.Tag      = json.ContainsKey("tag") ? json["tag"] : null;
                        }
                        catch (Exception exp)
                        {
                        }

                        return(evModel);
                    }).AsEnumerable()
                };
                thisweek.AddRange(isThisWeek(cal));

                return(cal);
            });

            var x = await Task.WhenAll(tasks);

            var rootUri = ConfigurationManager.AppSettings.Get("FirebaseUri");
            var secret  = ConfigurationManager.AppSettings.Get("FirebaseUserToken");
            var fb      = new FirebaseSharp.Portable.Firebase(rootUri, secret);

            await fb.DeleteAsync("/events");

            await fb.DeleteAsync("/thisweek");

            var taskOfEvents   = x.OrderBy(s => s.Name).Select(item => fb.PostAsync("/events", JsonConvert.SerializeObject(item)));
            var taskOfThisWeek = thisweek.EmptyIfNull().Where(s => s != null).OrderBy(s => s.Start).Select(item => fb.PostAsync("/thisweek", JsonConvert.SerializeObject(item)));
            await Task.WhenAll(taskOfEvents);

            await Task.WhenAll(taskOfThisWeek);

            return(true);
        }
 public TeacherViewModel(TeachingStatisticBussiness bussiness)
 {
     YMDSelecter     = new YearMonthSelecterWithArrowViewModel();
     TeacherSelecter = new TeacherSelecterWithArrowViewModel();
     Calender        = new CalenderViewModel();
 }
Exemple #16
0
 public CalenderPage()
 {
     BindingContext = ViewModel = new CalenderViewModel();
     InitializeComponent();
 }