/// <summary> /// uses calendarRepository for getting the newest list from server /// </summary> public async void ShowAll() { CalendarEntries.Clear(); _fullEntrieList = (await _calendarRepository.GetCalendarEntriesAsync()).ToList(); CalendarEntries.AddRange(_fullEntrieList); NotifyOfPropertyChange(() => CalendarEntries); }
/// <summary> /// Search for CalendarEntrie within StartTime and EndTime /// </summary> public void Search() { var list = _fullEntrieList.Where(i => i.StartTime >= StartTime && i.EndTime <= EndTime.AddDays(1)); CalendarEntries.Clear(); CalendarEntries.AddRange(list); }
public CalendarViewModel(ICalendarRepository calendarRepository, IWindowManager windowManager) { _calendarRepository = calendarRepository; _windowManager = windowManager; _fullEntrieList = _calendarRepository.GetCalendarEntries().ToList(); CalendarEntries.AddRange(_fullEntrieList); SelectedEntrie = _calendarEntries.FirstOrDefault(); }
public async Task DeleteEntrieAsync() { if (SelectedEntrie == null) { return; } await _calendarRepository.RemoveEntrieAsync(SelectedEntrie); CalendarEntries.Remove(SelectedEntrie); SelectedEntrie = CalendarEntries.FirstOrDefault(); }
public async Task OnChangeAsync(CalendarEntrie calendarEntrie) { var item = await _calendarRepository.UpdateEntrieAsync(calendarEntrie); var oldValue = CalendarEntries.FirstOrDefault(x => x.Id == calendarEntrie.Id); if (oldValue != null) { oldValue = item; } NotifyOfPropertyChange(() => CalendarEntries); }
/// <summary> /// implementing of callbackInterfaces /// </summary> public async Task OnCreateAsync(CalendarEntrie calendarEntrie) { var item = await _calendarRepository.AddEntrieAsync(calendarEntrie); CalendarEntries.Add(item); }
public static MvcHtmlString PrepareCalendar(List <CalendarEntries> lstEntries, string area, string controller, string action, string previousMonthToken, string nextMonthToken, int MonthNo, int YearNo, int lgSize, int mdSize, int smSize, int xsSize) { string strCalendar = string.Empty; string legendText = "Holiday "; string legendRow = string.Empty; legendRow = legendRow + System.Environment.NewLine + " <div class='col-lg-4 col-md-6 col-sm-6 col-xs-6'>"; legendRow = legendRow + System.Environment.NewLine + " <div class='pull-left'>"; legendRow = legendRow + System.Environment.NewLine + " <div class='color-box orange-box'></div>"; legendRow = legendRow + System.Environment.NewLine + " </div>"; legendRow = legendRow + System.Environment.NewLine + " Holiday"; legendRow = legendRow + System.Environment.NewLine + " </div>"; if (MonthNo == 0) { MonthNo = DateTime.Now.Month; } if (YearNo == 0) { YearNo = DateTime.Now.Year; } DateTime CalendarDate = new DateTime(YearNo, MonthNo, 1); string actionClass = ""; if (action == "AttendanceCalendar") { actionClass = "get-attendance-calendar"; } if (action == "InstituteCalendar") { actionClass = "get-institute-calendar"; } try { strCalendar = strCalendar + System.Environment.NewLine + "<div class='col-lg-" + lgSize + " col-md-" + mdSize + " col-sm-" + smSize + " col-xs-" + xsSize + "'>"; strCalendar = strCalendar + System.Environment.NewLine + " <div class='month'>"; strCalendar = strCalendar + System.Environment.NewLine + " <ul>"; strCalendar = strCalendar + System.Environment.NewLine + " <li class='prev'><a href=\"#\" class=\"" + actionClass + "\" title=\"Previous Month\" data-token=\"" + previousMonthToken + "\" style='color: white'>❮</a></li>"; strCalendar = strCalendar + System.Environment.NewLine + " <li class='next'><a href=\"#\" class=\"" + actionClass + "\" title=\"Next Month\" data-token=\"" + nextMonthToken + "\" style='color: white'>❯</a></li>"; strCalendar = strCalendar + System.Environment.NewLine + " <li>" + CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(MonthNo) + " - <span style='font -size:18px'>" + YearNo + "</span></li>"; strCalendar = strCalendar + System.Environment.NewLine + " </ul>"; strCalendar = strCalendar + System.Environment.NewLine + " </div>"; strCalendar = strCalendar + System.Environment.NewLine + " "; strCalendar = strCalendar + System.Environment.NewLine + " <ul class='weekdays'>"; strCalendar = strCalendar + System.Environment.NewLine + " <li>Su</li>"; strCalendar = strCalendar + System.Environment.NewLine + " <li>Mo</li>"; strCalendar = strCalendar + System.Environment.NewLine + " <li>Tu</li>"; strCalendar = strCalendar + System.Environment.NewLine + " <li>We</li>"; strCalendar = strCalendar + System.Environment.NewLine + " <li>Th</li>"; strCalendar = strCalendar + System.Environment.NewLine + " <li>Fr</li>"; strCalendar = strCalendar + System.Environment.NewLine + " <li>Sa</li>"; strCalendar = strCalendar + System.Environment.NewLine + " <div class='clear'></div>"; strCalendar = strCalendar + System.Environment.NewLine + " </ul>"; strCalendar = strCalendar + System.Environment.NewLine + " "; strCalendar = strCalendar + System.Environment.NewLine + " <ul class='days'>"; int daysCount = 0; for (int i = 1; i <= (int)CalendarDate.DayOfWeek; i++) { daysCount++; strCalendar = strCalendar + System.Environment.NewLine + " <li><a style='border:none !important'></a></li>"; } for (int i = 1; i <= CalendarDate.AddMonths(1).AddDays(-1).Day; i++) { DateTime tempDate = new DateTime(YearNo, MonthNo, i); CalendarEntries calendar = new CalendarEntries(); calendar.CalendarDate = tempDate; calendar.Remarks = ""; calendar.BadgeColor = ""; calendar.TooltipRemarks = ""; calendar.LegendText = ""; if (lstEntries.Where(m => m.CalendarDate == tempDate).Count() > 0) { calendar = lstEntries.Where(m => m.CalendarDate == tempDate).ToList()[0]; } if (tempDate.DayOfWeek == DayOfWeek.Sunday) { strCalendar = strCalendar + System.Environment.NewLine + " <li><div class='holiday'><a>" + i + "</a></div></li>"; } else { strCalendar = strCalendar + System.Environment.NewLine + " <li title='" + calendar.Remarks + "'><div class='" + calendar.CalendarClass + "'><a>" + i + "</a><div></li>"; } if (legendText.IndexOf(calendar.LegendText) <= 0) { legendText = legendText + " " + calendar.LegendText; if (calendar.LegendText == "Present") { legendRow = legendRow + System.Environment.NewLine + " <div class='col-lg-4 col-md-6 col-sm-6 col-xs-6'>"; legendRow = legendRow + System.Environment.NewLine + " <div class='pull-left'>"; legendRow = legendRow + System.Environment.NewLine + " <div class='color-box blue-box'></div>"; legendRow = legendRow + System.Environment.NewLine + " </div>"; legendRow = legendRow + System.Environment.NewLine + " Present"; legendRow = legendRow + System.Environment.NewLine + " </div>"; } if (calendar.LegendText == "Absent") { legendRow = legendRow + System.Environment.NewLine + " <div class='col-lg-4 col-md-6 col-sm-6 col-xs-6'>"; legendRow = legendRow + System.Environment.NewLine + " <div class='pull-left'>"; legendRow = legendRow + System.Environment.NewLine + " <div class='color-box red-box'></div>"; legendRow = legendRow + System.Environment.NewLine + " </div>"; legendRow = legendRow + System.Environment.NewLine + " Absent"; legendRow = legendRow + System.Environment.NewLine + " </div>"; } if (calendar.LegendText == "Half Day") { legendRow = legendRow + System.Environment.NewLine + " <div class='col-lg-4 col-md-6 col-sm-6 col-xs-6'>"; legendRow = legendRow + System.Environment.NewLine + " <div class='pull-left'>"; legendRow = legendRow + System.Environment.NewLine + " <div class='color-box sky-box'></div>"; legendRow = legendRow + System.Environment.NewLine + " </div>"; legendRow = legendRow + System.Environment.NewLine + " Half Day"; legendRow = legendRow + System.Environment.NewLine + " </div>"; } if (calendar.LegendText == "Leave") { legendRow = legendRow + System.Environment.NewLine + " <div class='col-lg-4 col-md-6 col-sm-6 col-xs-6'>"; legendRow = legendRow + System.Environment.NewLine + " <div class='pull-left'>"; legendRow = legendRow + System.Environment.NewLine + " <div class='color-box grey-box'></div>"; legendRow = legendRow + System.Environment.NewLine + " </div>"; legendRow = legendRow + System.Environment.NewLine + " Leave"; legendRow = legendRow + System.Environment.NewLine + " </div>"; } } daysCount++; if (daysCount % 7 == 0) { strCalendar = strCalendar + System.Environment.NewLine + " <div class='clear'></div>"; } } strCalendar = strCalendar + System.Environment.NewLine + " <div class='clear'></div>"; strCalendar = strCalendar + System.Environment.NewLine + " <div class='sign'>"; strCalendar = strCalendar + System.Environment.NewLine + legendRow; strCalendar = strCalendar + System.Environment.NewLine + " </div>"; strCalendar = strCalendar + System.Environment.NewLine + " <div class='clear'></div>"; strCalendar = strCalendar + System.Environment.NewLine + " </ul>"; strCalendar = strCalendar + System.Environment.NewLine + " <div class='clear'></div>"; strCalendar = strCalendar + System.Environment.NewLine + "</div>"; //strCalendar = strCalendar + legendRow; } catch (Exception Ex) { throw new Exception(Ex.Message); } //Removing Extra White Spaces strCalendar = Regex.Replace(strCalendar, @"\s+", " "); return(MvcHtmlString.Create(strCalendar)); }
public static MvcHtmlString ShowCalendar(List <CalendarEntries> lstEntries, string area, string controller, string action, string previousMonthToken, string nextMonthToken, int MonthNo = 0, int YearNo = 0) { string strCalendar = string.Empty; if (MonthNo == 0) { MonthNo = DateTime.Now.Month; } if (YearNo == 0) { YearNo = DateTime.Now.Year; } DateTime CalendarDate = new DateTime(YearNo, MonthNo, 1); try { string legendText = "Holiday";; string legendRow = ""; legendRow = legendRow + System.Environment.NewLine + "<label class=\"badge-calendar bg-blue\"> </label> Holiday"; strCalendar = strCalendar + System.Environment.NewLine + " <table id=\"datatable\" data-classes=\table\" class=\"table table-striped table-bordered jambo_table\">"; strCalendar = strCalendar + System.Environment.NewLine + " <tr style=\"color:#ffffff;background-color:#3C8DBC;\">"; if (previousMonthToken != "") { strCalendar = strCalendar + System.Environment.NewLine + " <th class=\"text-center\"><a href=\"/" + area + "/" + controller + "/" + action + "?" + previousMonthToken + "\" title=\"Previous Month\"><i class=\"glyphicon glyphicon-menu-left\"></i></a></th>"; } else { strCalendar = strCalendar + System.Environment.NewLine + " <th class=\"text-center\"><a href=\"#\" title=\"Previous Month\"><i class=\"glyphicon glyphicon-menu-left\"></i></a></th>"; } strCalendar = strCalendar + System.Environment.NewLine + " <th colspan=\"5\" class=\"text-center\">" + CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(MonthNo) + " " + YearNo + "</th>"; if (nextMonthToken != "") { strCalendar = strCalendar + System.Environment.NewLine + " <th class=\"text-center\"><a href=\"/" + area + "/" + controller + "/" + action + "?" + nextMonthToken + "\" title=\"Next Month\"><i class=\"glyphicon glyphicon-menu-right\"></i></a></th>"; } else { strCalendar = strCalendar + System.Environment.NewLine + " <th class=\"text-center\"><a href=\"#\" title=\"Next Month\"><i class=\"glyphicon glyphicon-menu-right\"></i></a></th>"; } strCalendar = strCalendar + System.Environment.NewLine + " </tr>"; strCalendar = strCalendar + System.Environment.NewLine + " <tr style=\"color:#9A94AE;background-color:#ECEDEE;\">"; strCalendar = strCalendar + System.Environment.NewLine + " <th class=\"text-center\">S</th>"; strCalendar = strCalendar + System.Environment.NewLine + " <th class=\"text-center\">M</th>"; strCalendar = strCalendar + System.Environment.NewLine + " <th class=\"text-center\">T</th>"; strCalendar = strCalendar + System.Environment.NewLine + " <th class=\"text-center\">W</th>"; strCalendar = strCalendar + System.Environment.NewLine + " <th class=\"text-center\">T</th>"; strCalendar = strCalendar + System.Environment.NewLine + " <th class=\"text-center\">F</th>"; strCalendar = strCalendar + System.Environment.NewLine + " <th class=\"text-center\">S</th>"; strCalendar = strCalendar + System.Environment.NewLine + " </tr>"; strCalendar = strCalendar + System.Environment.NewLine + " "; strCalendar = strCalendar + System.Environment.NewLine + " <tbody>"; strCalendar = strCalendar + System.Environment.NewLine + " <tr style=\"background-color:#ffffff !important;\" class=\"nohover\">"; for (int i = 1; i <= (int)CalendarDate.DayOfWeek; i++) { strCalendar = strCalendar + System.Environment.NewLine + " <td class=\"text-center\">"; strCalendar = strCalendar + System.Environment.NewLine + " </td>"; } for (int i = 1; i <= CalendarDate.AddMonths(1).AddDays(-1).Day; i++) { DateTime tempDate = new DateTime(YearNo, MonthNo, i); CalendarEntries calendar = new CalendarEntries(); calendar.CalendarDate = tempDate; calendar.Remarks = ""; calendar.HorizontalAllignment = "text-center"; calendar.BadgeColor = ""; calendar.TooltipRemarks = ""; calendar.LegendText = "Un-Marked"; if (lstEntries.Where(m => m.CalendarDate == tempDate).Count() > 0) { calendar = lstEntries.Where(m => m.CalendarDate == tempDate).ToList()[0]; } if (legendText.IndexOf(calendar.LegendText) < 0) { legendText += calendar.LegendText; legendRow = legendRow + System.Environment.NewLine + "<label style=\"margin-left: 10px !important\" class=\"badge-calendar" + (calendar.BadgeColor == "" ? "" : " " + calendar.BadgeColor) + "\"> </label> " + calendar.LegendText; } string strEntry = ""; strEntry = strEntry + System.Environment.NewLine + " <td id=\"tdCalendar" + i + "\" class=\"" + calendar.HorizontalAllignment + "\" title=\"" + calendar.TooltipRemarks + "\">"; strEntry = strEntry + System.Environment.NewLine + " <label id=\"lblCalendarDay" + i + "\" style=\"margin-top:6px !important;\" class=\"badge-calendar" + (calendar.BadgeColor == "" && tempDate.DayOfWeek == DayOfWeek.Sunday ? " bg-blue" : " " + calendar.BadgeColor) + "\">" + i + "</label>"; strEntry = strEntry + System.Environment.NewLine + " </td>"; if (tempDate.DayOfWeek == DayOfWeek.Sunday) { strCalendar = strCalendar + System.Environment.NewLine + " <td id=\"tdCalendar" + i + "\" class=\"" + calendar.HorizontalAllignment + "\">"; strCalendar = strCalendar + System.Environment.NewLine + " <label id=\"lblCalendarDay" + i + "\" style=\"margin-top:10px !important;margin-bottom:10px !important;\" class=\"badge-calendar" + (calendar.BadgeColor == "" ? " bg-blue" : " " + calendar.BadgeColor) + "\">" + i + "</label>"; strCalendar = strCalendar + System.Environment.NewLine + " </td>"; } if (tempDate.DayOfWeek == DayOfWeek.Monday) { strCalendar = strCalendar + strEntry; } if (tempDate.DayOfWeek == DayOfWeek.Tuesday) { strCalendar = strCalendar + strEntry; } if (tempDate.DayOfWeek == DayOfWeek.Wednesday) { strCalendar = strCalendar + strEntry; } if (tempDate.DayOfWeek == DayOfWeek.Thursday) { strCalendar = strCalendar + strEntry; } if (tempDate.DayOfWeek == DayOfWeek.Friday) { strCalendar = strCalendar + strEntry; } if (tempDate.DayOfWeek == DayOfWeek.Saturday) { strCalendar = strCalendar + strEntry; strCalendar = strCalendar + System.Environment.NewLine + " </tr>"; strCalendar = strCalendar + System.Environment.NewLine + " "; strCalendar = strCalendar + System.Environment.NewLine + " <tr style=\"background-color:#ffffff !important;\" class=\"nohover\">"; } } strCalendar = strCalendar + System.Environment.NewLine + " </tr>"; strCalendar = strCalendar + System.Environment.NewLine + " </tbody>"; strCalendar = strCalendar + System.Environment.NewLine + " </table>"; strCalendar = strCalendar + legendRow; } catch (Exception Ex) { throw new Exception(Ex.Message); } //Removing Extra White Spaces strCalendar = Regex.Replace(strCalendar, @"\s+", " "); return(MvcHtmlString.Create(strCalendar)); }