public static IQueryable <ProjectListDto> FilterProjectBy(
            this IQueryable <ProjectListDto> projects,
            ProjectFilterBy filterBy, string filterValue)
        {
            if (string.IsNullOrEmpty(filterValue))
            {
                return(projects);
            }

            switch (filterBy)
            {
            case ProjectFilterBy.NoFilter:
                return(projects);

            case ProjectFilterBy.Type:
                var filterval = filterValue.ParseEnum <ProjectType>();
                return(projects.Where(x =>
                                      x.Type == filterval));

            case ProjectFilterBy.Contractory:
                int contractorId = int.Parse(filterValue);
                return(projects.Where(x =>
                                      x.ContractorId == contractorId));

            default:
                throw new ArgumentOutOfRangeException
                          (nameof(filterBy), filterBy, null);
            }
        }
Beispiel #2
0
        public IEnumerable <DropdownTuple> GetFilterDropDownValues(ProjectFilterBy filterBy)
        {
            switch (filterBy)
            {
            case ProjectFilterBy.NoFilter:
                return(new List <DropdownTuple>());

            case ProjectFilterBy.Type:
                return(Enum.GetValues(typeof(ProjectType))
                       .Cast <ProjectType>().Select(v => new DropdownTuple
                {
                    Value = v.ToString(),
                    Text = v.ToString()
                }));

            case ProjectFilterBy.Contractory:
                return(_db.Contractors.Select(v => new DropdownTuple
                {
                    Value = v.Id.ToString(),
                    Text = v.Name.ToString()
                }));

            default:
                throw new ArgumentOutOfRangeException(nameof(filterBy), filterBy, null);
            }
        }
 public dtoDisplayTimelineContext(dtoProjectContext context, Int32 idContainerCommunity, PageContainerType container, PageListType currentPage, PageListType fromPage, SummaryTimeLine timeline, SummaryDisplay display, ProjectFilterBy filterBy = ProjectFilterBy.All, ItemsGroupBy groupBy = ItemsGroupBy.None, ItemListStatus status = ItemListStatus.All)
 {
     FromPage             = fromPage;
     ProjectContext       = context;
     FromPage             = fromPage;
     CurrentPage          = currentPage;
     IdContainerCommunity = idContainerCommunity;
     Display           = display;
     FilterBy          = filterBy;
     ContainerTimeline = timeline;
     Container         = container;
     GroupBy           = groupBy;
     Status            = status;
 }
Beispiel #4
0
 public static String ProjectListManager(int idCommunity, Boolean forPortal, Boolean isPersonal, Boolean fromCookies = false, long idProject = 0, ItemsGroupBy groupBy = ItemsGroupBy.None, ProjectFilterBy filterBy = ProjectFilterBy.All, ItemListStatus filterStatus = ItemListStatus.All, SummaryTimeLine timeline = SummaryTimeLine.Week, SummaryDisplay display = SummaryDisplay.All)
 {
     return(modulehome + "ListManager.aspx?" + (idCommunity > 0 ? "&cId=" + idCommunity.ToString() : "") + "&isPortal=" + forPortal.ToString() + "&isPersonal=" + isPersonal.ToString() + (fromCookies ? "&fromCookies=true" : "") + GetFilterParameters(groupBy, filterBy, filterStatus, timeline, display) + (idProject == 0 ? "" : "#" + idProject.ToString()));
 }
Beispiel #5
0
 public static String GetFilterParameters(ItemsGroupBy groupBy = ItemsGroupBy.None, ProjectFilterBy filterBy = ProjectFilterBy.All, ItemListStatus filterStatus = ItemListStatus.All, SummaryTimeLine timeline = SummaryTimeLine.Week, SummaryDisplay display = SummaryDisplay.All)
 {
     return(groupBy == ItemsGroupBy.None ? "" : "&grp=" + groupBy.ToString() + "&fltBy=" + filterBy.ToString() + "&fltSts=" + filterStatus.ToString() + "&tml=" + timeline.ToString() + "&smd=" + display.ToString());
 }
Beispiel #6
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));
 }
Beispiel #7
0
 public static String SummaryUser(Int32 idUser, ProjectFilterBy by, ItemListStatus status, Int32 idCommunity = -100)
 {
     return(All + "_" + idUser.ToString() + "_" + by.ToString() + "_" + status.ToString() + ((idCommunity == -100 || (by != ProjectFilterBy.AllPersonalFromCurrentCommunity && by != ProjectFilterBy.CurrentCommunity)) ? "" : "_" + idCommunity.ToString()));
 }
        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 void LoadSummary(dtoProjectContext context, Int32 idContainerCommunity, PageListType currentPageType, PageListType fromPage, Person person, SummaryTimeLine timeline, SummaryDisplay display, ProjectFilterBy filter = ProjectFilterBy.All, ItemListStatus filterStatus = ItemListStatus.All, Int32 idCommunity = -100)
 {
     if (person.Id != UserContext.CurrentUserID)
     {
         View.DisplayUserName((person == null) ? "" : person.SurnameAndName);
     }
     LoadSummary(context, idContainerCommunity, currentPageType, fromPage, Service.GetSummary(person.Id, filter, filterStatus, idCommunity), timeline, display);
 }