private Boolean UserHasActivitiesByStatus(UserActivityStatus status, Person p, dtoProjectContext context, dtoItemsFilter filter, PageListType pageType, SummaryTimeLine timeline, long idProject = 0) { switch (pageType) { case PageListType.ProjectDashboardManager: return(ProjectHasActivitiesByStatus(status, idProject, timeline)); case PageListType.DashboardAdministrator: if (idProject > 0) { return(ProjectHasActivitiesByStatus(status, idProject, timeline)); } break; default: Int32 idCommunity = context.IdCommunity; if (filter.FilterBy != ProjectFilterBy.CurrentCommunity && filter.FilterBy != ProjectFilterBy.AllPersonalFromCurrentCommunity) { idCommunity = -100; } List <dtoTimelineSummary> items = GetSummary(p.Id, idProject, filter.FilterBy, ItemListStatus.All, idCommunity); if (pageType == PageListType.ProjectDashboardResource) { return(items != null && items.Where(i => i.DashboardPage == PageListType.DashboardResource && i.Activities.Where(a => a.TimeLine == timeline && a.Status == status).Any()).Any()); } else { return(items != null && items.Where(i => i.DashboardPage == pageType && i.Activities.Where(a => a.TimeLine == timeline && a.Status == status).Any()).Any()); } } return(false); }
protected void CompleteBtn_Click(object sender, EventArgs e) { UserActivityStatus status = Action.Items[Action.SelectedIndex].Value.Equals("asDeclned") ? UserActivityStatus.asDeclned : UserActivityStatus.asAccepted; _CurrentActivity.ConfirmDeclineActivity(_CurrentActivity.ActivityId, _UserId, status, Reply.Text); Page.Response.Redirect("ActivityManager.aspx?activetab=actTabConfirm"); }
private void InitValues() { EmployeeName = User.Name; Email = User.Email; Gender = User.Gender; UserStatus = User.Status; SubmitButton.IsEnabled = !string.IsNullOrEmpty(EmployeeName); }
public async Task ClientHeartBeat(UserActivityStatus status) { if (!Context.User.Identity.IsAuthenticated) { return; } await HeartBeat(int.Parse(Context.User.Identity.Name), status); }
private void ConfirmDeclineActivity(UserActivityStatus status) { if (_CurrentActivity != null) { _CurrentActivity.ConfirmDeclineActivity(_CurrentActivity.ActivityId, CurrentUser.Id.ToString().Trim(), status, String.Empty); } if (status.Equals(UserActivityStatus.asDeclned)) { _CurrentActivity = null; } }
public async Task HeartBeat(int userId, UserActivityStatus status) { if (!Context.User.Identity.IsAuthenticated) { return; } var user = await _db.Users.FindAsync(userId); var userLanguages = await _db.UserLanguages .Where(x => x.UserId == userId) .ToListAsync(); user.HeartBeat = DateTime.UtcNow; if (user.ActivityStatus != status) { user.ActivityStatus = status; var allLanguages = await LanguageViewModel.All(_cache, _db); var userViewModel = new UserViewModel(user, userLanguages, allLanguages); await Clients.Others.SendAsync("userStatusChanged", userViewModel); } await _db.SaveChangesAsync(); }
public static String ProjectDashboard(dtoProjectContext context, Int32 idContainerCommunity, long idProject, PageListType fromPageType, PageListType toPage, ItemsGroupBy groupBy, ItemListStatus filterStatus, SummaryTimeLine timeline, UserActivityStatus actStatus = UserActivityStatus.Expired, SummaryTimeLine actTimeline = SummaryTimeLine.Week) { return(GetDashboardPage(context, idProject, toPage) + GetPageParameters(fromPageType, idContainerCommunity) + GetFilterParameters(groupBy, ProjectFilterBy.All, filterStatus, timeline, SummaryDisplay.Project) + GetDashboardActivityParametes(actStatus, actTimeline)); }
public static String ProjectDashboard(dtoProjectContext context, Int32 idContainerCommunity, long idProject, PageListType fromPageType, PageListType toPage, SummaryTimeLine timeline, UserActivityStatus actStatus = UserActivityStatus.Expired, SummaryTimeLine actTimeline = SummaryTimeLine.Week) { return(GetDashboardPage(context, idProject, toPage) + GetPageParameters(fromPageType, idContainerCommunity) + "&tml=" + timeline.ToString() + GetDashboardActivityParametes(actStatus, actTimeline)); }
public static String ProjectDashboard(Int32 idCommunity, Boolean isPortal, Boolean isPersonal, Int32 idContainerCommunity, long idProject, PageListType fromPageType, PageListType toPage, SummaryTimeLine timeline, UserActivityStatus actStatus = UserActivityStatus.Expired, SummaryTimeLine actTimeline = SummaryTimeLine.Week) { return(ProjectDashboard(new dtoProjectContext() { IdCommunity = idCommunity, isForPortal = isPortal, isPersonal = isPersonal }, idContainerCommunity, idProject, fromPageType, toPage, timeline, actStatus, actTimeline)); }
private static String GetDashboardActivityParametes(UserActivityStatus actStatus, SummaryTimeLine actTimeline) { return((actStatus == UserActivityStatus.Ignore) ? "" : "&aSt=" + actStatus.ToString() + "&aTml=" + actTimeline.ToString()); }
public static String Dashboard(dtoDisplayTimelineContext context, long idProject, PageListType toPage, UserActivityStatus actStatus, SummaryTimeLine actTimeline) { String page = GetDashboardPage(context.ProjectContext, idProject, toPage); page += GetPageParameters(context.FromPage, context.IdContainerCommunity) + GetFilterParameters(context) + GetDashboardActivityParametes(actStatus, actTimeline); return(page); }
public static String Dashboard(dtoDisplayTimelineContext context, PageListType toPage, UserActivityStatus actStatus, SummaryTimeLine actTimeline) { return(Dashboard(context, 0, toPage, actStatus, actTimeline)); }
public static String Dashboard(dtoProjectContext context, long idProject, Int32 idContainerCommunity, PageContainerType container, PageListType fromPage, PageListType toPage, SummaryTimeLine timeline, SummaryDisplay display, ProjectFilterBy filterBy, ItemsGroupBy groupBy, ItemListStatus status, UserActivityStatus actStatus = UserActivityStatus.Ignore, SummaryTimeLine actTimeline = SummaryTimeLine.Week) { return(Dashboard(new dtoDisplayTimelineContext(context, idContainerCommunity, container, fromPage, timeline, display, filterBy, groupBy, status), idProject, toPage, actStatus, actTimeline)); }
private Boolean ProjectHasActivitiesByStatus(UserActivityStatus status, long idProject, SummaryTimeLine timeline) { return(ProjectHasActivitiesByStatus((from a in Manager.GetIQ <PmActivity>() where a.Deleted == BaseStatusDeleted.None && a.Project.Id == idProject && !a.IsSummary select a), status, timeline, GetDaysOfYear(DateTime.Now))); }
public void InitView(dtoProjectContext context, Int32 idContainerCommunity, Boolean loadFromCookies, TabListItem tab, PageContainerType container, PageListType fromPage, PageListType currentPageType, ItemsGroupBy preloadGroupBy, ProjectFilterBy pFilterBy, ItemListStatus pProjectsStatus, ItemListStatus pActivitiesStatus, SummaryTimeLine pFilterTimeLine = SummaryTimeLine.Week, SummaryDisplay pFilterDisplay = SummaryDisplay.All, long idProject = 0, UserActivityStatus pUserActivitiesStatus = UserActivityStatus.Ignore, SummaryTimeLine pUserActivitiesTimeLine = SummaryTimeLine.Week) { Person p = CurrentManager.GetPerson(UserContext.CurrentUserID); View.PageContext = context; View.PageContainer = container; View.PageType = currentPageType; View.CurrentFromPage = fromPage; View.CurrendIdProject = idProject; View.IdContainerCommunity = idContainerCommunity; View.CurrentActivityStatus = pUserActivitiesStatus; View.CurrentActivityTimeLine = pUserActivitiesTimeLine; if (UserContext.isAnonymous || p == null) { View.DisplaySessionTimeout(); } else { View.CookieName = View.CookieStartName + container.ToString() + tab.ToString(); dtoItemsFilter filter = null; if (loadFromCookies) { filter = View.GetSavedFilters; View.CurrentActivityStatus = filter.UserActivitiesStatus; View.CurrentActivityTimeLine = filter.UserActivitiesTimeLine; idProject = filter.IdProject; View.CurrendIdProject = idProject; } if (filter == null) { filter = dtoItemsFilter.GenerateForGroup(container, (preloadGroupBy == ItemsGroupBy.None) ? ItemsGroupBy.Plain : preloadGroupBy); if (preloadGroupBy != ItemsGroupBy.None) { filter.FilterBy = pFilterBy; filter.ProjectsStatus = pProjectsStatus; filter.Display = pFilterDisplay; filter.TimeLine = pFilterTimeLine; filter.ActivitiesStatus = pActivitiesStatus; filter.UserActivitiesStatus = pUserActivitiesStatus; filter.UserActivitiesTimeLine = pUserActivitiesTimeLine; } filter.IdProject = idProject; } LoadFilters(p, context, filter, container, currentPageType, fromPage, pFilterTimeLine, idProject); View.SaveCurrentFilters(filter); View.InitializeTabs(Service.GetAvailableTabs(p.Id, context, container), tab, filter, context); LoadSummary(context, idContainerCommunity, currentPageType, fromPage, p, idProject, filter, pFilterTimeLine, pFilterDisplay, (context.IdCommunity > 0 ? context.IdCommunity : -100)); } }
private String GenerateItemUrl(PageListType currentPageType, PageListType fromPage, dtoItemsFilter filter, dtoProjectContext context, Int32 idContainerCommunity, ItemsGroupBy groupBy, ItemListStatus status, UserActivityStatus activitiesStatus = UserActivityStatus.Ignore) { switch (currentPageType) { case PageListType.ListAdministrator: return(RootObject.ProjectListAdministrator(context.IdCommunity, context.isForPortal, context.isPersonal, false, 0, groupBy, filter.FilterBy, status, filter.TimeLine, filter.Display)); case PageListType.ListManager: return(RootObject.ProjectListManager(context.IdCommunity, context.isForPortal, context.isPersonal, false, 0, groupBy, filter.FilterBy, status, filter.TimeLine, filter.Display)); case PageListType.ListResource: return(RootObject.ProjectListResource(context.IdCommunity, context.isForPortal, context.isPersonal, false, 0, groupBy, filter.FilterBy, status, filter.TimeLine, filter.Display)); case PageListType.DashboardManager: case PageListType.DashboardResource: case PageListType.DashboardAdministrator: return(RootObject.Dashboard(context, idContainerCommunity, View.PageContainer, fromPage, currentPageType, filter.TimeLine, filter.Display, filter.FilterBy, groupBy, status, activitiesStatus, View.CurrentActivityTimeLine)); case PageListType.ProjectDashboardResource: case PageListType.ProjectDashboardManager: return(RootObject.ProjectDashboard(context, idContainerCommunity, filter.IdProject, fromPage, currentPageType, groupBy, status, filter.TimeLine, activitiesStatus, View.CurrentActivityTimeLine)); default: return(""); } }
private void LoadSummary(dtoProjectContext context, Int32 idContainerCommunity, PageListType currentPageType, PageListType fromPage, List <dtoTimelineSummary> items, SummaryTimeLine timeline, SummaryDisplay display) { List <dtoDisplayTimelineSummary> results = new List <dtoDisplayTimelineSummary>(); if (items != null) { List <dtoItemFilter <SummaryTimeLine> > timeLines = items.SelectMany(t => t.Activities.Select(a => a.TimeLine)).Distinct().Where(t => t != SummaryTimeLine.Today).Select(t => new dtoItemFilter <SummaryTimeLine>() { Value = t, Selected = (t == timeline) }).ToList(); if (timeLines.Count == 1) { timeLines[0].DisplayAs = lm.Comol.Core.DomainModel.ItemDisplayOrder.first | lm.Comol.Core.DomainModel.ItemDisplayOrder.last; } else if (timeLines.Count > 1) { timeLines[0].DisplayAs = lm.Comol.Core.DomainModel.ItemDisplayOrder.first; timeLines.Last().DisplayAs = lm.Comol.Core.DomainModel.ItemDisplayOrder.last; } if (!timeLines.Where(t => t.Selected).Any()) { timeline = timeLines.FirstOrDefault().Value; timeLines.FirstOrDefault().Selected = true; } View.LoadTimeLines(timeLines); List <dtoItemFilter <SummaryDisplay> > dItems = new List <dtoItemFilter <SummaryDisplay> >(); if (display == SummaryDisplay.Project) { dItems.Add(new dtoItemFilter <SummaryDisplay>() { DisplayAs = lm.Comol.Core.DomainModel.ItemDisplayOrder.last, Value = SummaryDisplay.Project, Selected = (display == SummaryDisplay.Project) }); } else { if (View.PageContainer == PageContainerType.ProjectsList) { dItems.Add(new dtoItemFilter <SummaryDisplay>() { DisplayAs = lm.Comol.Core.DomainModel.ItemDisplayOrder.first | ItemDisplayOrder.last, Value = SummaryDisplay.All, Selected = true }); } else { dItems.Add(new dtoItemFilter <SummaryDisplay>() { DisplayAs = lm.Comol.Core.DomainModel.ItemDisplayOrder.first, Value = SummaryDisplay.All, Selected = (display == SummaryDisplay.All) }); dItems.Add(new dtoItemFilter <SummaryDisplay>() { DisplayAs = lm.Comol.Core.DomainModel.ItemDisplayOrder.last, Value = SummaryDisplay.Filtered, Selected = (display == SummaryDisplay.Filtered) }); } } if (!dItems.Where(t => t.Selected).Any()) { dItems.FirstOrDefault().Selected = true; } View.LoadDisplayMode(dItems); UserActivityStatus aStatus = View.CurrentActivityStatus; if (aStatus != UserActivityStatus.Ignore) { SummaryTimeLine aTimeline = View.CurrentActivityTimeLine; if (items.Where(i => i.Activities.Where(a => a.Status == aStatus && a.TimeLine == aTimeline).Any()).Any()) { View.CurrentStatus = ItemListStatus.Ignore; } else { View.CurrentActivityStatus = UserActivityStatus.Ignore; } } dtoItemsFilter filters = View.GetCurrentFilters; items.ForEach(i => results.Add(new dtoDisplayTimelineSummary(i, new dtoDisplayTimelineContext(context, idContainerCommunity, View.PageContainer, currentPageType, fromPage, filters, (View.PageContainer != PageContainerType.ProjectsList && currentPageType == i.DashboardPage) ? ItemsGroupBy.None : ItemsGroupBy.Plain)))); } View.LoadSummaries(results); }
private Boolean ProjectHasActivitiesByStatus(IEnumerable <PmActivity> qActivities, UserActivityStatus status, SummaryTimeLine timeline, Dictionary <SummaryTimeLine, long> days) { IEnumerable <PmActivity> query; switch (status) { case UserActivityStatus.Starting: query = qActivities.Where(a => a.EarlyStartDate.HasValue && a.Completeness == 0 && a.EarlyStartDate.Value.Ticks >= days[SummaryTimeLine.Today] && a.EarlyStartDate.Value.Ticks <= days[timeline]); break; case UserActivityStatus.ToDo: query = qActivities.Where(a => a.EarlyStartDate.HasValue && !a.IsCompleted && a.EarlyStartDate.Value.Ticks >= days[SummaryTimeLine.Today] && a.EarlyStartDate.Value.Ticks <= days[timeline]); break; case UserActivityStatus.Expired: query = qActivities.Where(a => a.EarlyFinishDate.HasValue && !a.IsCompleted && a.EarlyFinishDate.Value.Ticks < days[SummaryTimeLine.Today]); break; case UserActivityStatus.Expiring: query = qActivities.Where(a => a.EarlyFinishDate.HasValue && !a.IsCompleted && a.EarlyFinishDate.Value.Ticks >= days[timeline] && a.EarlyFinishDate.Value.Ticks <= days[timeline]); break; default: return(false); } return(query.Select(a => a.Id).Any()); }