protected string GetDay(int DayIndex)
    {
        //if (_dayEvents == null)
        //{
        //    return "<div>" + DayIndex.ToString() + "</div>";
        //}
        //for (int i = 0; i < _dayEvents.Count; i++)
        //{
        //    if (Convert.ToInt32(((string[])_dayEvents[i])[0]) == DayIndex)
        //        return "<div class='cEventDay'><a target=\"_blank\" href=\"" + ((string[])_dayEvents[i])[1] + "\" title=\"" + ((string[])_dayEvents[i])[2].Replace("\"", "").Replace("'", "") + "\" >" + Tools.ChangeEnc(DayIndex.ToString()) + "</a></div>";

        //}

        string strDay   = DayIndex.ToString();
        string strMonth = CurMonth.ToString();
        string strYear  = CurYear.ToString();

        if (strDay.Length == 1)
        {
            strDay = "0" + strDay;
        }
        if (strMonth.Length == 1)
        {
            strMonth = "0" + strMonth;
        }

        return("<a target=\"_blank\" href=\"/News/?d=" + strYear + "/" + strMonth + "/" + strDay + "\" title=\"" + DayIndex + "\" >" + Tools.ChangeEnc(DayIndex.ToString()) + "</a>");
    }
Example #2
0
        public IEnumerable <Slot> FetchSlotsByMonth(int?curMonth)
        {
            var mlist = (from m in DbUtil.Db.Meetings
                         where m.MeetingDate > Util.Now.Date
                         where m.OrganizationId == OrgId
                         orderby m.MeetingDate
                         select m).ToList();

            if (curMonth.IsNull() && mlist.Count > 0)
            {
                curMonth = mlist[0].MeetingDate.Value.Month;
            }

            //var mfinallist = mlist.Where(k => k.MeetingDate.Value.Month == curMonth).ToList();

            var alist = (from a in DbUtil.Db.AttendCommitments(OrgId)
                         orderby a.MeetingDate
                         select a).ToList();

            var list = new List <Slot>();

            DateTime calcSunday = Sunday;

            if (curMonth != Sunday.Month)
            {
                DateTime firstDayOfMonth = new DateTime(CurYear.ToInt(), CurMonth.ToInt(), 1);
                calcSunday = firstDayOfMonth.AddDays(7 - (int)firstDayOfMonth.DayOfWeek);
            }

            for (var sd = calcSunday; sd <= EndDt && sd.Month == curMonth; sd = sd.AddDays(7))
            {
                var dt = sd;
                {
                    var u = from ts in Regsettings.TimeSlots.list
                            orderby ts.Datetime()
                            let time = ts.Datetime(dt)
                                       let meeting = mlist.SingleOrDefault(mm => mm.MeetingDate == time)
                                                     let needed = meeting != null ?
                                                                  (from e in meeting.MeetingExtras
                                                                       where e.Field == "TotalVolunteersNeeded"
                                                                   select e.Data).SingleOrDefault().ToInt2() : null
                                                                  let meetingid = meeting?.MeetingId ?? 0
                                                                                  select new Slot()
                    {
                        Time     = time,
                        Sunday   = dt,
                        Week     = dt.WeekOfMonth(),
                        Disabled = time < DateTime.Now,
                        Limit    = needed.ToInt2() ?? ts.Limit ?? 0,
                        Persons  = (from a in alist
                                    where a.MeetingDate == time
                                    orderby a.Name2
                                    select new NameId
                        {
                            Name = a.Name2,
                            PeopleId = a.PeopleId,
                            Commitment = a.Commitment,
                            OtherCommitments = a.Conflicts == true
                        }).ToList(),
                        MeetingId = meetingid
                    };
                    list.AddRange(u);
                }
            }
            return(list);
        }