Ejemplo n.º 1
0
        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);
 }
Ejemplo n.º 4
0
 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;
     }
 }
Ejemplo n.º 6
0
        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();
        }
Ejemplo n.º 7
0
 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));
 }
Ejemplo n.º 8
0
 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));
 }
Ejemplo n.º 9
0
 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));
 }
Ejemplo n.º 10
0
 private static String GetDashboardActivityParametes(UserActivityStatus actStatus, SummaryTimeLine actTimeline)
 {
     return((actStatus == UserActivityStatus.Ignore) ? "" : "&aSt=" + actStatus.ToString() + "&aTml=" + actTimeline.ToString());
 }
Ejemplo n.º 11
0
        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);
        }
Ejemplo n.º 12
0
 public static String Dashboard(dtoDisplayTimelineContext context, PageListType toPage, UserActivityStatus actStatus, SummaryTimeLine actTimeline)
 {
     return(Dashboard(context, 0, toPage, actStatus, actTimeline));
 }
Ejemplo n.º 13
0
 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));
 }
Ejemplo n.º 14
0
 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);
        }
Ejemplo n.º 18
0
        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());
        }