コード例 #1
0
 /// <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);
 }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
 public CalendarViewModel(ICalendarRepository calendarRepository, IWindowManager windowManager)
 {
     _calendarRepository = calendarRepository;
     _windowManager      = windowManager;
     _fullEntrieList     = _calendarRepository.GetCalendarEntries().ToList();
     CalendarEntries.AddRange(_fullEntrieList);
     SelectedEntrie = _calendarEntries.FirstOrDefault();
 }
コード例 #4
0
        public async Task DeleteEntrieAsync()
        {
            if (SelectedEntrie == null)
            {
                return;
            }

            await _calendarRepository.RemoveEntrieAsync(SelectedEntrie);

            CalendarEntries.Remove(SelectedEntrie);
            SelectedEntrie = CalendarEntries.FirstOrDefault();
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        /// <summary>
        /// implementing of callbackInterfaces
        /// </summary>
        public async Task OnCreateAsync(CalendarEntrie calendarEntrie)
        {
            var item = await _calendarRepository.AddEntrieAsync(calendarEntrie);

            CalendarEntries.Add(item);
        }
コード例 #7
0
        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'>&#10094;</a></li>";
                strCalendar = strCalendar + System.Environment.NewLine + "          <li class='next'><a href=\"#\" class=\"" + actionClass + "\" title=\"Next Month\" data-token=\"" + nextMonthToken + "\" style='color: white'>&#10095;</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));
        }
コード例 #8
0
        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\">&nbsp;</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) + "\">&nbsp;</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));
        }