Example #1
0
    private ActivitySearchOptions SetDefaultsFromUserOptions(ref string timeFrame)
    {
        ActivitySearchOptions result = null;

        timeFrame = TimeFrameList.Items[1].Value;
        if (_UserOptions != null)
        {
            SetCurrentTab(_UserOptions.DefaultView, true);
            if (!string.IsNullOrEmpty(_UserOptions.ShowActivitiesFor))
            {
                result = new ActivitySearchOptions();
                string[] items = _UserOptions.ShowActivitiesFor.Split('|');
                foreach (string id in items)
                {
                    result.UserIds.Add(id);
                }
            }
            if (!string.IsNullOrEmpty(_UserOptions.TimeFrame))
            {
                int idx = int.Parse(_UserOptions.TimeFrame);
                if (idx >= 0)
                {
                    timeFrame = TimeFrameList.Items[idx].Value;
                }
            }
        }

        return(result);
    }
    private IList<ILitRequest> GetLiterature()
    {
        ActivitySearchOptions aso;
        ActivitySearchOptions temp;
        _Context = ApplicationContext.Current.Services.Get<IContextService>(true);
        _TimeZone = (TimeZone) _Context.GetContext("TimeZone");
        temp = (ActivitySearchOptions)_Context.GetContext("ActivitySearchCriteria");
        aso = new ActivitySearchOptions();
        if (temp == null)
        {
            aso.UserIds.Add(_UserId);
        }
        else
        {
            aso.UserIds.AddRange(temp.UserIds);
        }
        aso.StartDate = null;
        aso.EndDate = null;
        using (new SessionScopeWrapper())
        {
            IRepository<ILitRequest> eventRep = EntityFactory.GetRepository<ILitRequest>();
            IQueryable qry = (IQueryable)eventRep;
            IExpressionFactory ef = qry.GetExpressionFactory();
            ICriteria crit = qry.CreateCriteria();
            IExpression userExp = ef.Eq("RequestUser", User.GetById(aso.UserIds[0]));
            IExpression dateRangeExp = null;
            if (_SortDir.Equals("Ascending"))
            {
                crit.AddOrder(ef.Asc(_SortColumn));
            }
            else
            {
                crit.AddOrder(ef.Desc(_SortColumn));
            }

            if (aso.StartDate.HasValue)
            {
                dateRangeExp = ef.And(ef.Ge("RequestDate", aso.StartDate.Value), ef.Lt("RequestDate", aso.EndDate.Value));
            }

            IList<ILitRequest> events;
            if (dateRangeExp != null)
            {
                events = crit.Add(
                    ef.And(userExp, dateRangeExp)).List<ILitRequest>();
            }
            else
            {
                events = crit.Add(userExp).List<ILitRequest>();
            }
            return events;
        }
    }
Example #3
0
    protected void SearchBtn_Click(object sender, ImageClickEventArgs e)
    {
        IContextService       context = ApplicationContext.Current.Services.Get <IContextService>(true);
        ActivitySearchOptions aso     = new ActivitySearchOptions();

        int[] idxs = UserList.GetSelectedIndices();
        foreach (int i in idxs)
        {
            aso.UserIds.Add(UserList.Items[i].Value);
        }
        SetStartandEndDates(aso);
        context.SetContext("ActivitySearchCriteria", aso);
        context.SetContext("ActivitySearchTimeFrame", TimeFrameList.SelectedValue);
        Response.Redirect("ActivityManager.aspx?u=" + DateTime.Now.Millisecond);
    }
 protected override void OnPreRender(EventArgs e)
 {
     if (displayQueue)
     {
         _Context = ApplicationContext.Current.Services.Get <IContextService>();
         List <string> ids = (List <string>)_Context.GetContext("CompleteActivityIds");
         if ((ids == null) || (ids.Count == 0))
         {
             ids = (List <string>)_Context.GetContext("RescheduleActivityIds");
         }
         ActivitySearchOptions aso = new ActivitySearchOptions();
         aso.ActivityIds.AddRange(ids);
         aso.UserIds.Add(_UserId);
         IList <Activity> results = Activity.GetActivitiesFor(aso);
         ActivityGrid.DataSource = ResultsToDataSet(results);
         ActivityGrid.DataBind();
         base.OnPreRender(e);
     }
 }
 protected override void OnPreRender(EventArgs e)
 {
     if (displayQueue)
     {
         _Context = ApplicationContext.Current.Services.Get<IContextService>();
         List<string> ids = (List<string>)_Context.GetContext("CompleteActivityIds");
         if ((ids == null) || (ids.Count == 0))
         {
             ids = (List<string>)_Context.GetContext("RescheduleActivityIds");
         }
         ActivitySearchOptions aso = new ActivitySearchOptions();
         aso.ActivityIds.AddRange(ids);
         aso.UserIds.Add(_UserId);
         IList<Activity> results = Activity.GetActivitiesFor(aso);
         ActivityGrid.DataSource = ResultsToDataSet(results);
         ActivityGrid.DataBind();
         base.OnPreRender(e);
     }
 }
 protected void SearchBtn_Click(object sender, ImageClickEventArgs e)
 {
     IContextService context = ApplicationContext.Current.Services.Get<IContextService>(true);
     ActivitySearchOptions aso = new ActivitySearchOptions();
     int[] idxs = UserList.GetSelectedIndices();
     foreach (int i in idxs)
     {
         aso.UserIds.Add(UserList.Items[i].Value);
     }
     SetStartandEndDates(ref aso);
     context.SetContext("ActivitySearchCriteria", aso);
     context.SetContext("ActivitySearchTimeFrame", TimeFrameList.SelectedValue);
     Response.Redirect("ActivityManager.aspx?u=" + DateTime.Now.Millisecond);
 }
 private void SetStartandEndDates(ref ActivitySearchOptions so)
 {
     int month;
     int year;
     int remainder;
     switch (TimeFrameList.SelectedValue)
     {
         case "liAll":
             break;
         case "liToday":
             so.StartDate = DateTime.Today.ToUniversalTime();
             so.EndDate = DateTime.Today.AddDays(1).ToUniversalTime();
             break;
         case "liYesterday":
             DateTime temp = DateTime.Today.Subtract(new TimeSpan(1, 0, 0, 0));
             so.StartDate = temp.ToUniversalTime();
             so.EndDate = DateTime.Today.ToUniversalTime();
             break;
         case "liTomorrow":
             so.StartDate = DateTime.Today.AddDays(1).ToUniversalTime();
             so.EndDate = DateTime.Today.AddDays(2).ToUniversalTime();
             break;
         case "liCurrentWeek":
             so.StartDate = GetStartOfWeek().ToUniversalTime();
             so.EndDate = so.StartDate.Value.AddDays(7);
             break;
         case "liCurrentMonth":
             month = DateTime.Today.Month;
             year = DateTime.Today.Year;
             so.StartDate = new DateTime(year, month, 1).ToUniversalTime();
             so.EndDate = so.StartDate.Value.AddMonths(1);
             break;
         case "liCurrentQuarter":
             month = DateTime.Today.Month;
             year = DateTime.Today.Year;
             month = (Math.DivRem(month - 1, 3, out remainder) * 3) + 1;
             so.StartDate = new DateTime(year, month, 1).ToUniversalTime();
             so.EndDate = so.StartDate.Value.AddMonths(3);
             break;
         case "liCurrentYear":
             year = DateTime.Today.Year;
             so.StartDate = new DateTime(year, 1, 1).ToUniversalTime();
             so.EndDate = so.StartDate.Value.AddYears(1);
             break;
         case "liLastWeek":
             so.EndDate = GetStartOfWeek().ToUniversalTime();
             so.StartDate = so.EndDate.Value.Subtract(new TimeSpan(7, 0, 0, 0));
             break;
         case "liLastMonth":
             month = DateTime.Today.Month - 1;
             year = DateTime.Today.Year;
             if (month < 1)
             {
                 month = 12;
                 year--;
             }
             so.StartDate = new DateTime(year, month, 1).ToUniversalTime();
             so.EndDate = so.StartDate.Value.AddMonths(1);
             break;
         case "liLastQuarter":
             month = DateTime.Today.Month - 3;
             year = DateTime.Today.Year;
             if (month < 1)
             {
                 month = 11;
                 year--;
             }
             month = (Math.DivRem(month, 3, out remainder) * 3) + 1;
             if (remainder == 0)
             {
                 month = month - 3;
             }
             so.StartDate = new DateTime(year, month, 1).ToUniversalTime();
             so.EndDate = so.StartDate.Value.AddMonths(3);
             break;
         case "liLastYear":
             year = DateTime.Today.Year - 1;
             so.StartDate = new DateTime(year, 1, 1).ToUniversalTime();
             so.EndDate = so.StartDate.Value.AddYears(1);
             break;
         case "liWeektoDate":
             so.StartDate = GetStartOfWeek().ToUniversalTime();
             so.EndDate = DateTime.Today.AddDays(1).ToUniversalTime();
             break;
         case "liMonthtoDate":
             month = DateTime.Today.Month;
             year = DateTime.Today.Year;
             so.StartDate = new DateTime(year, month, 1).ToUniversalTime();
             so.EndDate = DateTime.Today.AddDays(1).ToUniversalTime();
             break;
         case "liQuartertoDate":
             month = DateTime.Today.Month;
             year = DateTime.Today.Year;
             month = (Math.DivRem(month - 1, 3, out remainder) * 3) + 1;
             so.StartDate = new DateTime(year, month, 1).ToUniversalTime();
             so.EndDate = DateTime.Today.AddDays(1).ToUniversalTime();
             break;
         case "liYeartoDate":
             year = DateTime.Today.Year;
             so.StartDate = new DateTime(year, 1, 1).ToUniversalTime();
             so.EndDate = DateTime.Today.AddDays(1).ToUniversalTime();
             break;
         case "liNextWeek":
             so.StartDate = GetStartOfWeek().AddDays(7).ToUniversalTime();
             so.EndDate = so.StartDate.Value.AddDays(7);
             break;
         case "liNextMonth":
             month = DateTime.Today.Month + 1;
             year = DateTime.Today.Year;
             if (month > 12)
             {
                 month = 1;
                 year++;
             }
             so.StartDate = new DateTime(year, month, 1).ToUniversalTime();
             so.EndDate = so.StartDate.Value.AddMonths(1);
             break;
         case "liNextQuarter":
             month = DateTime.Today.Month;
             year = DateTime.Today.Year;
             month = (Math.DivRem(month + 2, 3, out remainder) * 3) + 1;
             if (month > 12)
             {
                 month = 1;
                 year++;
             }
             so.StartDate = new DateTime(year, month, 1).ToUniversalTime();
             so.EndDate = so.StartDate.Value.AddMonths(3);
             break;
         case "liNextYear":
             year = DateTime.Today.Year + 1;
             so.StartDate = new DateTime(year, 1, 1).ToUniversalTime();
             so.EndDate = so.StartDate.Value.AddYears(1);
             break;
     }
     if (so.StartDate != null)
         so.StartDate = Activity.AdjustForClientTimezone((DateTime)so.StartDate);
     if (so.EndDate != null)
         so.EndDate = Activity.AdjustForClientTimezone((DateTime)so.EndDate);
 }
    private ActivitySearchOptions SetDefaultsFromUserOptions(ref string timeFrame)
    {
        ActivitySearchOptions result = null;
        timeFrame = TimeFrameList.Items[1].Value;
        if (_UserOptions != null)
        {
            SetCurrentTab(_UserOptions.DefaultView, true);
            if (!string.IsNullOrEmpty(_UserOptions.ShowActivitiesFor))
            {
                result = new ActivitySearchOptions();
                string[] items = _UserOptions.ShowActivitiesFor.Split('|');
                foreach (string id in items)
                {
                    result.UserIds.Add(id);
                }
            }
            if (!string.IsNullOrEmpty(_UserOptions.TimeFrame))
            {
                int idx = int.Parse(_UserOptions.TimeFrame);
                if (idx >= 0)
                {
                    timeFrame = TimeFrameList.Items[idx].Value;
                }
            }
        }

        return result;
    }
    private IList<IEvent> GetEvents()
    {
        ActivitySearchOptions aso;
        _Context = ApplicationContext.Current.Services.Get<IContextService>(true);
        _TimeZone = (TimeZone) _Context.GetContext("TimeZone");
        aso = (ActivitySearchOptions)_Context.GetContext("ActivitySearchCriteria");
        if (aso == null)
        {
            aso = new ActivitySearchOptions();
            aso.UserIds.Add(_UserId);
            aso.StartDate = DateTime.Today.ToUniversalTime();
            aso.EndDate = DateTime.Today.AddDays(1).ToUniversalTime();
        }
        using ( new SessionScopeWrapper())
        {
            IRepository<IEvent> eventRep = EntityFactory.GetRepository<IEvent>();
            IQueryable qry = (IQueryable)eventRep;
            IExpressionFactory ef = qry.GetExpressionFactory();
            ICriteria crit = qry.CreateCriteria();
            IExpression userExp = ef.Eq("UserId", aso.UserIds[0]);
            IExpression dateRangeExp = null;
            if (_SortDir.Equals("Ascending"))
            {
                crit.AddOrder(ef.Asc(_SortColumn));
            }
            else
            {
                crit.AddOrder(ef.Desc(_SortColumn));
            }

            if (aso.UserIds.Count > 1)
            {
                userExp = ef.In("UserId", aso.UserIds);
            }
            if (aso.StartDate.HasValue)
            {
                dateRangeExp = ef.And(ef.Ge("StartDate", aso.StartDate.Value), ef.Lt("StartDate", aso.EndDate.Value));
            }

            IList<IEvent> events;
            if (dateRangeExp != null)
            {
                events = crit.Add(
                    ef.And(userExp, dateRangeExp)).List<IEvent>();
            }
            else
            {
                events = crit.Add(userExp).List<IEvent>();
            }
            return events;
        }
    }
Example #10
0
    private void LoadActivities()
    {
        if (TodaysActivities != null)
        {
            IContextService context = Sage.Platform.Application.ApplicationContext.Current.Services.Get<IContextService>(true);
            SLXUserService userService = ApplicationContext.Current.Services.Get<IUserService>() as SLXUserService;
            if ((userService != null) && (userService.UserId != null))
            {
                /// To change LoadActivities to a different time period, change startDt to midnight for the day you want
                /// and change NumberOfDays to the correct value.  To show the next rolling week's activities, change
                /// NumberOfDays to 7, for example.
                const int NumberOfDays = 1;
                if (context.GetContext("WelcomeSearchCriteria") == null)
                {
                    ActivitySearchOptions aso = new ActivitySearchOptions();
                    aso.UserIds.Add(userService.UserId.Trim());
                    aso.StartDate = DateTime.Today.ToUniversalTime();
                    aso.EndDate = DateTime.Today.AddDays(NumberOfDays).ToUniversalTime();
                    aso.SortOrder = ActivitySortOrder.soWelcome;
                    aso.SortDirection = ListSortDirection.Ascending;
                    aso.TheType = ActivityType.atInternal;
                    context.SetContext("WelcomeSearchCriteria", aso);
                }
                if (context.GetContext("WelcomeSearchTimeframe") == null)
                {
                    context.SetContext("WelcomeSearchTimeframe", "liToday");
                }

                ///

                string userId = userService.UserId;
                ISession session = SessionFactoryHolder.HolderInstance.CreateSession();
                try
                {

                    ActivitySearchOptions aso = (ActivitySearchOptions)context.GetContext("WelcomeSearchCriteria");
                    aso.TheType = ActivityType.atInternal;
                    IList results = (List<Activity>)Activity.GetActivitiesFor(aso);

                    const string ActivityUrlFormat = "javascript:Link.editActivity('{0}');";
                    const string ActivityDescriptionFormat = "{0}   {1} ({2})";
                    const string ActivityDescriptionFormatNoContact = "{0}    {1}";
                    const string TimeRangeFormat = "{0} - {1}";
                    foreach (IActivity act in results)
                    {
                        string desc;
                        string url;
                        string timerange;
                        if (!act.Timeless)
                        {
                            timerange = string.Format(TimeRangeFormat, PrettyDateTime(act.StartDate),
                                                              PrettyDateTime(act.StartDate.AddMinutes(act.Duration)));
                        }
                        else
                        {
                            timerange = GetLocalResourceObject("Timeless.Text").ToString();
                        }
                        if (string.IsNullOrEmpty(act.ContactName))
                        {
                            desc = string.Format(ActivityDescriptionFormatNoContact, timerange, act.Description);
                        }
                        else
                        {
                            desc = string.Format(ActivityDescriptionFormat, timerange, act.Description, act.ContactName);
                        }
                        url = string.Format(ActivityUrlFormat, act.Id);
                        AddALink(TodaysActivities, desc, url, enumPageLinkType.RelativePath);
                    }
                }
                finally
                {
                    SessionFactoryHolder.HolderInstance.ReleaseSession(session);
                }
                PageLink allActivities = new PageLink();
                int numActivities = (TodaysActivities.ListOfLinks == null) ? 0 : TodaysActivities.ListOfLinks.Count;
                allActivities.Text = String.Format(GetLocalResourceObject("AllActivities.Text").ToString(), numActivities);
                allActivities.NavigateUrl = "ActivityManager.aspx?useWelcomeCriteria=T";
                allActivities.LinkType = enumPageLinkType.RelativePath;
                TodaysActivities.Footer = allActivities;
            }
        }
    }
 private void PerformBinding()
 {
     if ((Visible) && (!_Loaded)) //|| (_Type.Equals("moreTabs") && this.ID.Equals("actTabPersonal")))
     {
         if ((Sort == ActivitySortOrder.soStartDate) && (ActivityGrid.CurrentSortExpression != "StartDate"))
         {
             ActivityGrid.ShowSortIcon = false;
         }
         _Context = ApplicationContext.Current.Services.Get<IContextService>(true);
         _TimeZone = (TimeZone)_Context.GetContext("TimeZone");
         ActivitySearchOptions aso = (ActivitySearchOptions)_Context.GetContext("ActivitySearchCriteria");
         if (aso == null)
         {
             aso = new ActivitySearchOptions();
             aso.UserIds.Add(_UserId);
             aso.StartDate = Activity.AdjustForClientTimezone(DateTime.Today.ToUniversalTime());
             aso.EndDate = Activity.AdjustForClientTimezone(DateTime.Today.AddDays(1).ToUniversalTime());
         }
         _Users = aso.UserIds;
         aso.IncludeUnconfirmed = false;
         aso.TheType = GetActivityType();
         aso.SortOrder = Sort;
         aso.SortDirection = SortDir;
         List<Activity> results;
         if (ID.Equals("actTabAlarms"))
         {
             results = new List<Activity>();
             foreach (string user in aso.UserIds)
             {
                 results.AddRange(Reminders.GetAlarms(user, aso.StartDate, aso.EndDate, Sort, SortDir));
             }
         }
         else
         {
             results = (List<Activity>)Activity.GetActivitiesFor(aso);
         }
         ActivityGrid.DataSource = ResultsToDataSet(results);
         ActivityGrid.DataBind();
         _Loaded = true;
     }
 }
Example #12
0
    private void SetStartandEndDates(ActivitySearchOptions so)
    {
        int month;
        int year;
        int remainder;

        switch (TimeFrameList.SelectedValue)
        {
        case "liAll":
            break;

        case "liToday":
            so.StartDate = DateTime.Today.ToUniversalTime();
            so.EndDate   = DateTime.Today.AddDays(1).ToUniversalTime();
            break;

        case "liYesterday":
            DateTime temp = DateTime.Today.Subtract(new TimeSpan(1, 0, 0, 0));
            so.StartDate = temp.ToUniversalTime();
            so.EndDate   = DateTime.Today.ToUniversalTime();
            break;

        case "liTomorrow":
            so.StartDate = DateTime.Today.AddDays(1).ToUniversalTime();
            so.EndDate   = DateTime.Today.AddDays(2).ToUniversalTime();
            break;

        case "liCurrentWeek":
            so.StartDate = GetStartOfWeek().ToUniversalTime();
            so.EndDate   = so.StartDate.Value.AddDays(7);
            break;

        case "liCurrentMonth":
            month        = DateTime.Today.Month;
            year         = DateTime.Today.Year;
            so.StartDate = new DateTime(year, month, 1).ToUniversalTime();
            so.EndDate   = so.StartDate.Value.AddMonths(1);
            break;

        case "liCurrentQuarter":
            month        = DateTime.Today.Month;
            year         = DateTime.Today.Year;
            month        = (Math.DivRem(month - 1, 3, out remainder) * 3) + 1;
            so.StartDate = new DateTime(year, month, 1).ToUniversalTime();
            so.EndDate   = so.StartDate.Value.AddMonths(3);
            break;

        case "liCurrentYear":
            year         = DateTime.Today.Year;
            so.StartDate = new DateTime(year, 1, 1).ToUniversalTime();
            so.EndDate   = so.StartDate.Value.AddYears(1);
            break;

        case "liLastWeek":
            so.EndDate   = GetStartOfWeek().ToUniversalTime();
            so.StartDate = so.EndDate.Value.Subtract(new TimeSpan(7, 0, 0, 0));
            break;

        case "liLastMonth":
            month = DateTime.Today.Month - 1;
            year  = DateTime.Today.Year;
            if (month < 1)
            {
                month = 12;
                year--;
            }
            so.StartDate = new DateTime(year, month, 1).ToUniversalTime();
            so.EndDate   = so.StartDate.Value.AddMonths(1);
            break;

        case "liLastQuarter":
            month = DateTime.Today.Month - 3;
            year  = DateTime.Today.Year;
            if (month < 1)
            {
                month = 11;
                year--;
            }
            month = (Math.DivRem(month, 3, out remainder) * 3) + 1;
            if (remainder == 0)
            {
                month = month - 3;
            }
            so.StartDate = new DateTime(year, month, 1).ToUniversalTime();
            so.EndDate   = so.StartDate.Value.AddMonths(3);
            break;

        case "liLastYear":
            year         = DateTime.Today.Year - 1;
            so.StartDate = new DateTime(year, 1, 1).ToUniversalTime();
            so.EndDate   = so.StartDate.Value.AddYears(1);
            break;

        case "liWeektoDate":
            so.StartDate = GetStartOfWeek().ToUniversalTime();
            so.EndDate   = DateTime.Today.AddDays(1).ToUniversalTime();
            break;

        case "liMonthtoDate":
            month        = DateTime.Today.Month;
            year         = DateTime.Today.Year;
            so.StartDate = new DateTime(year, month, 1).ToUniversalTime();
            so.EndDate   = DateTime.Today.AddDays(1).ToUniversalTime();
            break;

        case "liQuartertoDate":
            month        = DateTime.Today.Month;
            year         = DateTime.Today.Year;
            month        = (Math.DivRem(month - 1, 3, out remainder) * 3) + 1;
            so.StartDate = new DateTime(year, month, 1).ToUniversalTime();
            so.EndDate   = DateTime.Today.AddDays(1).ToUniversalTime();
            break;

        case "liYeartoDate":
            year         = DateTime.Today.Year;
            so.StartDate = new DateTime(year, 1, 1).ToUniversalTime();
            so.EndDate   = DateTime.Today.AddDays(1).ToUniversalTime();
            break;

        case "liNextWeek":
            so.StartDate = GetStartOfWeek().AddDays(7).ToUniversalTime();
            so.EndDate   = so.StartDate.Value.AddDays(7);
            break;

        case "liNextMonth":
            month = DateTime.Today.Month + 1;
            year  = DateTime.Today.Year;
            if (month > 12)
            {
                month = 1;
                year++;
            }
            so.StartDate = new DateTime(year, month, 1).ToUniversalTime();
            so.EndDate   = so.StartDate.Value.AddMonths(1);
            break;

        case "liNextQuarter":
            month = DateTime.Today.Month;
            year  = DateTime.Today.Year;
            month = (Math.DivRem(month + 2, 3, out remainder) * 3) + 1;
            if (month > 12)
            {
                month = 1;
                year++;
            }
            so.StartDate = new DateTime(year, month, 1).ToUniversalTime();
            so.EndDate   = so.StartDate.Value.AddMonths(3);
            break;

        case "liNextYear":
            year         = DateTime.Today.Year + 1;
            so.StartDate = new DateTime(year, 1, 1).ToUniversalTime();
            so.EndDate   = so.StartDate.Value.AddYears(1);
            break;
        }
        if (so.StartDate != null)
        {
            so.StartDate = Activity.AdjustForClientTimezone((DateTime)so.StartDate);
        }
        if (so.EndDate != null)
        {
            so.EndDate = Activity.AdjustForClientTimezone((DateTime)so.EndDate);
        }
    }