private void SetBackUrls(PageListType fromPage, Int32 idContainerCommunity, dtoProject project, dtoProjectContext cContext)
        {
            switch (fromPage)
            {
            case PageListType.ListAdministrator:
            case PageListType.ListManager:
            case PageListType.ListResource:
                View.SetProjectsUrl(Service.GetBackUrl(fromPage, idContainerCommunity, (project == null) ? 0: project.Id));
                break;

            case PageListType.DashboardManager:
            case PageListType.DashboardResource:
            case PageListType.DashboardAdministrator:
                if (project != null)
                {
                    View.SetDashboardUrl(RootObject.DashboardFromCookies(cContext, idContainerCommunity, fromPage, project.Id), fromPage);
                }
                break;

            case PageListType.ProjectDashboardManager:
            case PageListType.ProjectDashboardResource:
                if (project != null)
                {
                    View.SetDashboardUrl(RootObject.ProjectDashboardFromCookies(cContext, idContainerCommunity, fromPage, project.Id), fromPage);
                }
                break;
            }
            if (project != null)
            {
                View.SetProjectMapUrl(RootObject.ProjectMap(project.Id, project.IdCommunity, project.isPortal, project.isPersonal, fromPage, idContainerCommunity));
            }
        }
        public void InitView(long idProject)
        {
            dtoProject project = Service.GetdtoProject(idProject);

            if (project == null)
            {
                View.DisplayUnknownProject();
            }
            else
            {
                Person p = CurrentManager.GetPerson(UserContext.CurrentUserID);
                ModuleProjectManagement mPermission  = (project.isPortal) ? ModuleProjectManagement.CreatePortalmodule((p == null) ? (Int32)UserTypeStandard.Guest : p.TypeID) : new ModuleProjectManagement(CurrentManager.GetModulePermission(UserContext.CurrentUserID, project.IdCommunity, CurrentIdModule));
                PmActivityPermission    pPermissions = Service.GetProjectPermission(idProject, UserContext.CurrentUserID);

                if ((mPermission.Administration && !project.isPersonal) || (pPermissions.HasFlag(PmActivityPermission.ManageProject)))
                {
                    View.LoadGantt(RootObject.GetGanttXML(project.Id, false, project.IdCommunity, project.isPortal, project.isPersonal));
                }
                else
                {
                    ProjectResource resource = Service.GetResource(idProject, UserContext.CurrentUserID);
                    if (pPermissions.HasFlag(PmActivityPermission.ViewProjectMap) && (resource != null && (resource.Visibility == ProjectVisibility.Full || resource.Visibility == ProjectVisibility.InvolvedTasks)))
                    {
                        View.LoadGantt(RootObject.GetGanttXML(project.Id, false, project.IdCommunity, project.isPortal, project.isPersonal));
                    }
                    else
                    {
                        View.DisplayNoPermissionToSeeProjectGantt();
                    }
                }
            }
        }
Exemple #3
0
        public void InitView(long idProject, String formatDateString, Dictionary <GanttCssClass, String> cssClass, String baseUrl)
        {
            dtoProject project = Service.GetdtoProject(idProject);

            if (project == null)
            {
                View.GenerateXML(new ProjectForGantt());
            }
            else
            {
                Person p = CurrentManager.GetPerson(UserContext.CurrentUserID);
                ModuleProjectManagement mPermission  = (project.isPortal) ? ModuleProjectManagement.CreatePortalmodule((p == null) ? (Int32)UserTypeStandard.Guest : p.TypeID) : new ModuleProjectManagement(CurrentManager.GetModulePermission(UserContext.CurrentUserID, project.IdCommunity, CurrentIdModule));
                PmActivityPermission    pPermissions = Service.GetProjectPermission(idProject, UserContext.CurrentUserID);
                ProjectResource         resource     = Service.GetResource(idProject, UserContext.CurrentUserID);

                if ((mPermission.Administration && !project.isPersonal) || (pPermissions.HasFlag(PmActivityPermission.ManageProject)))
                {
                    View.GenerateXML(Service.GetActivitiesForGantt(idProject, resource, ProjectVisibility.Full, formatDateString, cssClass, baseUrl));
                }
                else
                {
                    if (pPermissions.HasFlag(PmActivityPermission.ViewProjectMap) && (resource != null && (resource.Visibility == ProjectVisibility.Full || resource.Visibility == ProjectVisibility.InvolvedTasks)))
                    {
                        View.GenerateXML(Service.GetActivitiesForGantt(idProject, resource, resource.Visibility, formatDateString, cssClass, baseUrl));
                    }
                    else
                    {
                        View.GenerateXML(new ProjectForGantt());
                    }
                }
            }
        }
Exemple #4
0
        public void SaveProjectDate(long idProject, DateTime?editStartDate, DateTime?editDeadLine)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else if (editStartDate != View.PreviousStartDate || editDeadLine != View.PreviousDeadline)
            {
                dtoField <DateTime?> startDate = new dtoField <DateTime?>();
                dtoField <DateTime?> endDate   = new dtoField <DateTime?>();
                dtoField <DateTime?> deadLine  = new dtoField <DateTime?>();

                dtoProject project = Service.SetProjectDates(idProject, editStartDate, editDeadLine, ref startDate, ref endDate, ref deadLine);
                if (project != null)
                {
                    View.DisplaySavedDates(startDate, endDate, deadLine);
                    View.SendUserAction(project.IdCommunity, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectSavedStartDateDeadline);
                }
                else
                {
                    View.DisplayErrorSavingDates();
                    View.SendUserAction(project.IdCommunity, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectSavingErrorStartDateDeadline);
                }
            }
        }
        private Boolean isValid(dtoProject dto, dtoProjectStatistics cStatistics)
        {
            Boolean result = (cStatistics.Summaries == 0 || dto.AllowSummary) && (cStatistics.Milestones == 0 || dto.AllowMilestones) && (cStatistics.EstimatedActivities == 0 || dto.AllowEstimatedDuration) &&
                             (dto.DateCalculationByCpm == cStatistics.DateCalculationByCpm) && (dto.StartDate == cStatistics.StartDate);

            return(result);
        }
 public void InitView(long idProject, dtoProject dto, dtoProjectStatistics cStatistics, String description = "")
 {
     if (UserContext.isAnonymous)
     {
         View.DisplaySessionTimeout();
     }
     else
     {
         PmActivityPermission permissions = Service.GetProjectPermission(idProject, UserContext.CurrentUserID);
         Boolean allowUpdate = HasPermission(permissions, PmActivityPermission.ManageProject);
         View.DisplayApply = allowUpdate;
         if (!String.IsNullOrEmpty(description))
         {
             View.SetDescription(description);
         }
         if (allowUpdate)
         {
             LoadActions(dto, cStatistics);
         }
         else
         {
             View.DisplayNoPermissionToApply();
         }
     }
 }
        private void LoadActions(dtoProject dto, dtoProjectStatistics cStatistics)
        {
            dtoProjectSettingsAction actions = new dtoProjectSettingsAction();

            if (dto.StartDate != cStatistics.StartDate)
            {
                actions.DateActions = new List <ConfirmActions>()
                {
                    ConfirmActions.Apply, ConfirmActions.Hold
                }
            }
            ;
            if (!dto.AllowMilestones && cStatistics.Milestones > 0)
            {
                actions.MilestonesActions = new List <ConfirmActions>()
                {
                    ConfirmActions.Apply, ConfirmActions.Hold
                }
            }
            ;
            if (!dto.AllowSummary && cStatistics.Summaries > 0)
            {
                actions.SummariesActions = new List <ConfirmActions>()
                {
                    ConfirmActions.Apply, ConfirmActions.Hold
                }
            }
            ;
            if (!dto.AllowEstimatedDuration && cStatistics.EstimatedActivities > 0)
            {
                actions.EstimatedActions = new List <ConfirmActions>()
                {
                    ConfirmActions.Apply, ConfirmActions.Hold
                }
            }
            ;
            if (dto.DateCalculationByCpm && dto.DateCalculationByCpm != cStatistics.DateCalculationByCpm)
            {
                actions.CpmActions = new List <ConfirmActions>()
                {
                    ConfirmActions.Apply, ConfirmActions.Hold
                }
            }
            ;
            else if (!dto.DateCalculationByCpm && dto.DateCalculationByCpm != cStatistics.DateCalculationByCpm)
            {
                actions.ManualActions = new List <ConfirmActions>()
                {
                    ConfirmActions.Apply, ConfirmActions.Hold
                }
            }
            ;

            actions.EstimatedActivities = cStatistics.EstimatedActivities;
            actions.Activities          = cStatistics.Activities;
            actions.Summaries           = cStatistics.Summaries;
            actions.Milestones          = cStatistics.Milestones;
            View.LoadActions(actions, cStatistics.StartDate, dto.StartDate);
        }
Exemple #8
0
        public void InitView()
        {
            long idProject             = View.PreloadIdProject;
            dtoProjectContext cContext = new dtoProjectContext()
            {
                IdCommunity = View.PreloadIdCommunity, isPersonal = View.PreloadIsPersonal, isForPortal = View.PreloadForPortal
            };
            dtoProject project = InitializeContext(idProject, ref cContext);

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                if (project == null)
                {
                    View.DisplayUnknownProject();
                    View.SendUserAction(UserContext.CurrentCommunityID, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectUnknown);
                }
                else
                {
                    Person p = CurrentManager.GetPerson(UserContext.CurrentUserID);
                    ModuleProjectManagement mPermission  = (project.isPortal) ? ModuleProjectManagement.CreatePortalmodule((p == null) ? (Int32)UserTypeStandard.Guest : p.TypeID) : new ModuleProjectManagement(CurrentManager.GetModulePermission(UserContext.CurrentUserID, cContext.IdCommunity, CurrentIdModule));
                    PmActivityPermission    pPermissions = Service.GetProjectPermission(idProject, UserContext.CurrentUserID);
                    SetBackUrls(View.PreloadFromPage, View.PreloadIdContainerCommunity, project, cContext);
                    if ((mPermission.Administration && !project.isPersonal) || (pPermissions.HasFlag(PmActivityPermission.ViewProjectMap)))
                    {
                        PageListType fromPage = View.PreloadFromPage;
                        View.LoadProjectDateInfo(project, (fromPage != PageListType.ProjectDashboardResource && fromPage != PageListType.DashboardResource && fromPage != PageListType.ListResource) && ((mPermission.Administration && !project.isPersonal) || (pPermissions.HasFlag(PmActivityPermission.ManageProject))));

                        List <dtoMapActivity> activities = Service.GetActivities(mPermission, pPermissions, project);
                        if (activities == null)
                        {
                            View.DisplayNoActivities();
                            View.SendUserAction(View.ProjectIdCommunity, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectMapErrorFromDb);
                        }
                        else
                        {
                            View.SendUserAction(View.ProjectIdCommunity, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectMapView);
                            View.LoadActivities(activities);
                        }
                        if ((mPermission.Administration && !project.isPersonal) || (pPermissions.HasFlag(PmActivityPermission.ManageProject)))
                        {
                            View.SetEditProjectUrl(RootObject.EditProject(project.Id, project.IdCommunity, project.isPortal, project.isPersonal, View.PreloadFromPage, View.IdContainerCommunity));
                            View.SetEditMapUrl(RootObject.ProjectMap(project.Id, project.IdCommunity, project.isPortal, project.isPersonal, View.PreloadFromPage, View.IdContainerCommunity));
                        }
                        View.LoadAttachments(Service.GetProjectAttachments(idProject, 0, false, View.UnknownUser, true));
                    }
                    else
                    {
                        View.DisplayNoPermission(project.IdCommunity, currentIdModule);
                    }
                }
            }
        }
        private void LoadProjectSummary(dtoProjectContext context, Int32 idContainerCommunity, PageListType currentPageType, PageListType fromPage, Int32 idPerson, long idProject, SummaryTimeLine timeline, SummaryDisplay display)
        {
            dtoProject project = Service.GetdtoProject(idProject);

            if (project != null)
            {
                View.DisplayProjectName(project.Name, Service.GetProjectAttachments(idProject, 0, false, View.UnknownUserTranslation, true));
            }
            LoadSummary(context, idContainerCommunity, currentPageType, fromPage, Service.GetSummary(idPerson, idProject), timeline, display);
        }
        public void InitView(long idProject, Boolean allowEdit)
        {
            dtoProject project = Service.GetdtoProject(idProject);

            if (project == null)
            {
                View.DisplayUnknownProject();
            }
            else
            {
                InitView(project, allowEdit, !(UserContext.isAnonymous));
            }
        }
 public void SaveSettings(long idProject, dtoProject dto, dtoProjectSettingsSelectedActions actions = null)
 {
     if (UserContext.isAnonymous)
     {
         View.DisplaySessionTimeout();
     }
     else
     {
         if (dto == null)
         {
             View.DisplayUnknownProject();
             View.SendUserAction(View.ProjectIdCommunity, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectTryToSave);
         }
         else if (!dto.StartDate.HasValue || dto.DaysOfWeek == FlagDayOfWeek.None)
         {
             View.DisplayProjectSavingError(dto.StartDate, dto.DaysOfWeek);
             View.SendUserAction(View.ProjectIdCommunity, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectTryToSave);
         }
         else
         {
             dtoProjectStatistics cStatistics = Service.GetProjectStatistics(idProject);
             if (isValid(dto, cStatistics) || actions != null)
             {
                 Project project = Service.SaveProject(dto, View.GetDefaultCalendarName(), actions);
                 if (project == null)
                 {
                     View.DisplayProjectSavingError();
                     View.SendUserAction(View.ProjectIdCommunity, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectTryToSave);
                 }
                 else
                 {
                     if (actions != null)
                     {
                         View.UpdateSettings(actions, project.StartDate, project.EndDate);
                     }
                     else
                     {
                         View.UpdateSettings(project.StartDate, project.EndDate);
                     }
                     View.SendUserAction(View.ProjectIdCommunity, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectSaveSettings);
                     View.LoadWizardSteps(idProject, (project.Community == null) ? 0 : project.Community.Id, project.isPersonal, project.isPortal, Service.GetAvailableSteps(WizardProjectStep.Settings, idProject));
                     View.DisplayProjectSaved();
                 }
             }
             else
             {
                 View.DisplayConfirmActions(dto, cStatistics);
             }
         }
     }
 }
Exemple #12
0
        public void InitView()
        {
            long idProject             = View.PreloadIdProject;
            dtoProjectContext cContext = new dtoProjectContext()
            {
                IdCommunity = View.PreloadIdCommunity, isPersonal = View.PreloadIsPersonal, isForPortal = View.PreloadForPortal
            };
            dtoProject project = InitializeContext(idProject, ref cContext);

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                SetBackUrls(View.PreloadFromPage, View.PreloadIdContainerCommunity, project, cContext);
                if (project == null)
                {
                    View.DisplayUnknownProject();
                    View.SendUserAction(UserContext.CurrentCommunityID, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectUnknown);
                }
                else
                {
                    Person p = CurrentManager.GetPerson(UserContext.CurrentUserID);
                    ModuleProjectManagement mPermission  = (project.isPortal) ? ModuleProjectManagement.CreatePortalmodule((p == null) ? (Int32)UserTypeStandard.Guest : p.TypeID) : new ModuleProjectManagement(CurrentManager.GetModulePermission(UserContext.CurrentUserID, cContext.IdCommunity, CurrentIdModule));
                    PmActivityPermission    pPermissions = Service.GetProjectPermission(idProject, UserContext.CurrentUserID);

                    if ((mPermission.Administration && !project.isPersonal) || (pPermissions.HasFlag(PmActivityPermission.ManageProject)))
                    {
                        View.AllowSave = true;
                        View.LoadProjectDateInfo(project, true);
                        View.SendUserAction(UserContext.CurrentCommunityID, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ViewGantt);
                        View.SetEditProjectUrl(RootObject.EditProject(project.Id, project.IdCommunity, project.isPortal, project.isPersonal, View.PreloadFromPage, View.IdContainerCommunity));
                    }
                    else
                    {
                        ProjectResource resource = Service.GetResource(idProject, UserContext.CurrentUserID);
                        if (pPermissions.HasFlag(PmActivityPermission.ViewProjectMap) && (resource != null && (resource.Visibility == ProjectVisibility.Full || resource.Visibility == ProjectVisibility.InvolvedTasks)))
                        {
                            View.LoadProjectDateInfo(project, false);
                            View.SendUserAction(UserContext.CurrentCommunityID, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ViewGantt);
                        }
                        else
                        {
                            View.DisplayNoPermission(project.IdCommunity, currentIdModule);
                        }
                    }
                }
            }
        }
        public void InitView()
        {
            long idProject             = View.PreloadIdProject;
            dtoProjectContext cContext = new dtoProjectContext()
            {
                IdCommunity = View.PreloadIdCommunity, isPersonal = View.PreloadIsPersonal, isForPortal = View.PreloadForPortal
            };
            dtoProject project = InitializeContext(idProject, ref cContext);

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                Person p = CurrentManager.GetPerson(UserContext.CurrentUserID);
                SetBackUrls(View.PreloadFromPage, View.PreloadIdContainerCommunity, project, cContext);
                List <lm.Comol.Core.Wizard.NavigableWizardItem <dtoProjectManagementStep> > steps = Service.GetAvailableSteps(WizardProjectStep.Calendars, idProject);
                View.LoadWizardSteps(idProject, cContext.IdCommunity, cContext.isPersonal, cContext.isForPortal, steps);
                if (project == null)
                {
                    View.DisplayUnknownProject();
                }
                else
                {
                    ModuleProjectManagement mPermission  = (project.isPortal) ? ModuleProjectManagement.CreatePortalmodule((p == null) ? (Int32)UserTypeStandard.Guest : p.TypeID) : new ModuleProjectManagement(CurrentManager.GetModulePermission(UserContext.CurrentUserID, cContext.IdCommunity, CurrentIdModule));
                    PmActivityPermission    pPermissions = Service.GetProjectPermission(idProject, UserContext.CurrentUserID);

                    View.LoadProjectAvailableDays(project.DaysOfWeek);
                    if ((mPermission.Administration && !project.isPersonal) || (pPermissions & PmActivityPermission.ManageProject) == PmActivityPermission.ManageProject)
                    {
                        View.AllowSave = false;
                        View.AllowAdd  = false;
                        View.SendUserAction(cContext.IdCommunity, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.CalendarsLoad);
                    }
                    else
                    {
                        ProjectResource resource = Service.GetResource(idProject, UserContext.CurrentUserID);
                        if (resource != null && resource.Visibility == ProjectVisibility.Full)
                        {
                            View.SendUserAction(cContext.IdCommunity, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.CalendarsLoad);
                        }
                        else
                        {
                            View.DisplayNoPermission(cContext.IdCommunity, CurrentIdModule);
                        }
                    }
                }
            }
        }
        public void InitView(String unknownUser)
        {
            long idProject             = View.PreloadIdProject;
            dtoProjectContext cContext = new dtoProjectContext()
            {
                IdCommunity = View.PreloadIdCommunity, isPersonal = View.PreloadIsPersonal, isForPortal = View.PreloadForPortal
            };
            dtoProject project = InitializeContext(idProject, ref cContext);

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                litePerson p = CurrentManager.GetLitePerson(UserContext.CurrentUserID);
                SetBackUrls(View.PreloadFromPage, View.PreloadIdContainerCommunity, project, cContext);
                List <lm.Comol.Core.Wizard.NavigableWizardItem <dtoProjectManagementStep> > steps = Service.GetAvailableSteps(WizardProjectStep.Documents, idProject);
                View.LoadWizardSteps(idProject, cContext.IdCommunity, cContext.isPersonal, cContext.isForPortal, steps);
                if (project == null)
                {
                    View.DisplayUnknownProject();
                }
                else
                {
                    ModuleProjectManagement mPermission  = (project.isPortal) ? ModuleProjectManagement.CreatePortalmodule((p == null) ? (Int32)UserTypeStandard.Guest : p.TypeID) : new ModuleProjectManagement(CurrentManager.GetModulePermission(UserContext.CurrentUserID, cContext.IdCommunity, CurrentIdModule));
                    PmActivityPermission    pPermissions = Service.GetProjectPermission(idProject, UserContext.CurrentUserID);
                    View.RepositoryIdentifier = CreateRepositoryIdentifier(project);
                    if ((mPermission.Administration && !project.isPersonal) || (pPermissions & PmActivityPermission.ManageProject) == PmActivityPermission.ManageProject)
                    {
                        LoadAttachments(unknownUser, project.Id, project.isPersonal, project.IdCommunity, mPermission, pPermissions, true);
                    }
                    else
                    {
                        View.AllowSave = false;
                        ProjectResource resource = Service.GetResource(idProject, UserContext.CurrentUserID);
                        if (resource != null && resource.ProjectRole != ActivityRole.Visitor && resource.ProjectRole != ActivityRole.None)
                        {
                            LoadAttachments(unknownUser, project.Id, project.isPersonal, project.IdCommunity, mPermission, pPermissions, false);
                        }
                        else
                        {
                            View.DisplayNoPermission(cContext.IdCommunity, CurrentIdModule);
                        }
                    }
                }
            }
        }
        public void InitView(long idProject)
        {
            dtoProject project = Service.GetdtoProject(idProject);

            if (project == null)
            {
                View.DisplayUnknownProject();
            }
            else
            {
                Person p = CurrentManager.GetPerson(UserContext.CurrentUserID);
                ModuleProjectManagement mPermission  = (project.isPortal) ? ModuleProjectManagement.CreatePortalmodule((p == null) ? (Int32)UserTypeStandard.Guest : p.TypeID) : new ModuleProjectManagement(CurrentManager.GetModulePermission(UserContext.CurrentUserID, project.IdCommunity, CurrentIdModule));
                PmActivityPermission    pPermissions = Service.GetProjectPermission(idProject, UserContext.CurrentUserID);
                InitView(project, ((mPermission.Administration && !project.isPersonal) || (pPermissions.HasFlag(PmActivityPermission.ManageProject))) && !(UserContext.isAnonymous), true);
            }
        }
Exemple #16
0
        private dtoProject InitializeContext(long idProject, ref dtoProjectContext cContex)
        {
            dtoProject project = Service.GetdtoProject(idProject);

            View.IdProject = idProject;
            if (project == null)
            {
                Int32     idCommunity = (!cContex.isForPortal && cContex.IdCommunity < 1) ? UserContext.CurrentCommunityID : cContex.IdCommunity;
                Community community   = (idCommunity > 0) ? CurrentManager.GetCommunity(idCommunity) : null;
                cContex.IdCommunity = (community != null) ? community.Id : 0;
            }
            else
            {
                cContex.IdCommunity = project.IdCommunity;
            }

            return(project);
        }
Exemple #17
0
 public void AddProject(dtoProject dto, Int32 activitiesToAdd)
 {
     if (UserContext.isAnonymous)
     {
         View.DisplaySessionTimeout();
     }
     else
     {
         if (dto == null)
         {
             View.DisplayProjectAddError();
             View.SendUserAction(View.ProjectIdCommunity, CurrentIdModule, 0, ModuleProjectManagement.ActionType.ProjectTryToAdd);
         }
         else if (!dto.StartDate.HasValue || dto.DaysOfWeek == FlagDayOfWeek.None)
         {
             View.DisplayProjectAddError(dto.StartDate, dto.DaysOfWeek);
             View.SendUserAction(View.ProjectIdCommunity, CurrentIdModule, 0, ModuleProjectManagement.ActionType.ProjectTryToAdd);
         }
         else
         {
             Project project = Service.AddProject(dto, View.ProjectIdCommunity, View.forPortal, View.isPersonal, View.GetDefaultCalendarName());
             if (project == null)
             {
                 View.DisplayProjectAddError();
                 View.SendUserAction(View.ProjectIdCommunity, CurrentIdModule, 0, ModuleProjectManagement.ActionType.ProjectTryToAdd);
             }
             else
             {
                 View.SendUserAction(View.ProjectIdCommunity, CurrentIdModule, project.Id, ModuleProjectManagement.ActionType.ProjectAdded);
                 if (activitiesToAdd > 0)
                 {
                     List <PmActivity> activities = Service.AddTaks(project, View.GetDefaultActivityName(), activitiesToAdd);
                     View.RedirectToEdit(project.Id, (project.Community != null) ? project.Community.Id : 0, project.isPortal, project.isPersonal, activitiesToAdd, activities.Count);
                 }
                 else
                 {
                     View.RedirectToEdit(project.Id, (project.Community != null) ? project.Community.Id : 0, project.isPortal, project.isPersonal);
                 }
             }
         }
     }
 }
Exemple #18
0
        private void SetBackUrls(PageListType fromPage, Int32 idContainerCommunity, dtoProject project, dtoProjectContext cContext)
        {
            switch (fromPage)
            {
            case PageListType.ListAdministrator:
            case PageListType.ListManager:
            case PageListType.ListResource:
                View.SetProjectsUrl(Service.GetBackUrl(fromPage, idContainerCommunity, project.Id));
                break;

            case PageListType.DashboardManager:
            case PageListType.DashboardResource:
            case PageListType.DashboardAdministrator:
                View.SetDashboardUrl(RootObject.DashboardFromCookies(cContext, idContainerCommunity, fromPage, project.Id), fromPage);
                break;

            case PageListType.ProjectDashboardManager:
            case PageListType.ProjectDashboardResource:
                View.SetDashboardUrl(RootObject.ProjectDashboardFromCookies(cContext, idContainerCommunity, fromPage, project.Id), fromPage);
                break;
            }
        }
        public void InitView()
        {
            long idProject             = View.PreloadIdProject;
            dtoProjectContext cContext = new dtoProjectContext()
            {
                IdCommunity = View.PreloadIdCommunity, isPersonal = View.PreloadIsPersonal, isForPortal = View.PreloadForPortal
            };
            dtoProject project = InitializeContext(idProject, ref cContext);

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                Person p = CurrentManager.GetPerson(UserContext.CurrentUserID);
                SetBackUrls(View.PreloadFromPage, View.PreloadIdContainerCommunity, project, cContext);

                List <lm.Comol.Core.Wizard.NavigableWizardItem <dtoProjectManagementStep> > steps = Service.GetAvailableSteps(WizardProjectStep.Settings, idProject);
                View.LoadWizardSteps(idProject, cContext.IdCommunity, cContext.isPersonal, cContext.isForPortal, steps);
                if (project == null)
                {
                    View.DisplayUnknownProject();
                    View.SendUserAction(UserContext.CurrentCommunityID, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectUnknown);
                }
                else
                {
                    ModuleProjectManagement mPermission  = (project.isPortal) ? ModuleProjectManagement.CreatePortalmodule((p == null) ? (Int32)UserTypeStandard.Guest : p.TypeID) : new ModuleProjectManagement(CurrentManager.GetModulePermission(UserContext.CurrentUserID, cContext.IdCommunity, CurrentIdModule));
                    PmActivityPermission    pPermissions = Service.GetProjectPermission(idProject, UserContext.CurrentUserID);

                    List <ProjectAvailability> availabilities = new List <ProjectAvailability>();
                    ProjectAvailability        cAvailability  = project.Availability;
                    Boolean hasActivities = Service.HasTasks(project.Id);
                    if (project.Availability == ProjectAvailability.Draft)
                    {
                        availabilities.Add(ProjectAvailability.Draft);
                    }
                    if (hasActivities)
                    {
                        availabilities.Add(ProjectAvailability.Active);
                        availabilities.Add(ProjectAvailability.Closed);
                        availabilities.Add(ProjectAvailability.Suspended);
                    }

                    Boolean allowChangeOwner              = false;
                    Boolean allowChangeOwnerFromResource  = false;
                    Boolean allowChangeOwnerFromCommunity = false;
                    if ((mPermission.Administration && !project.isPersonal) || (pPermissions & PmActivityPermission.ManageProject) == PmActivityPermission.ManageProject)
                    {
                        View.AllowSave = true;
                        View.SendUserAction(cContext.IdCommunity, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectStartEditing);
                        if (View.PreloadAddedProject)
                        {
                            View.DisplayAddedInfo(View.PreloadRequiredActions, View.PreloadAddedActions);
                        }

                        allowChangeOwner              = (mPermission.Administration && !project.isPersonal) || ((pPermissions & PmActivityPermission.ChangeOwner) == PmActivityPermission.ChangeOwner);
                        allowChangeOwnerFromResource  = (project.Resources.Count > 1);
                        allowChangeOwnerFromCommunity = (project.IdCommunity > 0);
                        View.InitializeProject(project, hasActivities, project.Resources.Where(r => r.ProjectRole == ActivityRole.ProjectOwner).FirstOrDefault(), availabilities, cAvailability, allowChangeOwner, allowChangeOwnerFromResource, allowChangeOwnerFromCommunity);
                    }
                    else
                    {
                        ProjectResource resource = Service.GetResource(idProject, UserContext.CurrentUserID);
                        if (resource != null && resource.Visibility == ProjectVisibility.Full)
                        {
                            View.InitializeProject(project, hasActivities, project.Resources.Where(r => r.ProjectRole == ActivityRole.ProjectOwner).FirstOrDefault(), availabilities, cAvailability, allowChangeOwner, allowChangeOwnerFromResource, allowChangeOwnerFromCommunity);
                            View.SendUserAction(cContext.IdCommunity, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectViewSettings);
                        }
                        else
                        {
                            View.DisplayNoPermission(cContext.IdCommunity, CurrentIdModule);
                        }
                    }
                }
            }
        }
 public void InitView(dtoProject project, Boolean allowEdit, Boolean setCulture)
 {
     View.AllowEdit = allowEdit && !UserContext.isAnonymous;
     View.LoadProjectInfo(project, setCulture);
 }
 public void InitView(dtoProject project, System.Globalization.CultureInfo culture, String currentShortDatePattern, Boolean allowEdit)
 {
     View.LoaderCultureInfo       = culture;
     View.CurrentShortDatePattern = currentShortDatePattern;
     InitView(project, allowEdit, false);
 }
        public void InitView()
        {
            long idProject             = View.PreloadIdProject;
            dtoProjectContext cContext = new dtoProjectContext()
            {
                IdCommunity = View.PreloadIdCommunity, isPersonal = View.PreloadIsPersonal, isForPortal = View.PreloadForPortal
            };
            dtoProject project = InitializeContext(idProject, ref cContext);

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                if (project == null)
                {
                    View.DisplayUnknownProject();
                    View.SendUserAction(UserContext.CurrentCommunityID, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectUnknown);
                }
                else
                {
                    Person p = CurrentManager.GetPerson(UserContext.CurrentUserID);
                    ModuleProjectManagement mPermission  = (project.isPortal) ? ModuleProjectManagement.CreatePortalmodule((p == null) ? (Int32)UserTypeStandard.Guest : p.TypeID) : new ModuleProjectManagement(CurrentManager.GetModulePermission(UserContext.CurrentUserID, cContext.IdCommunity, CurrentIdModule));
                    PmActivityPermission    pPermissions = Service.GetProjectPermission(idProject, UserContext.CurrentUserID);
                    SetBackUrls(View.PreloadFromPage, View.PreloadIdContainerCommunity, project, cContext);
                    if ((mPermission.Administration && !project.isPersonal) || (pPermissions.HasFlag(PmActivityPermission.ManageProject)))
                    {
                        View.LoadAttachments(Service.GetProjectAttachments(idProject, 0, false, View.UnknownUser, true));
                        View.AllowAddExternalUser  = pPermissions.HasFlag(PmActivityPermission.ManageProject) || pPermissions.HasFlag(PmActivityPermission.ManageResources);
                        View.AllowAddCommunityUser = (!project.isPortal && project.IdCommunity > 0) && (pPermissions.HasFlag(PmActivityPermission.ManageProject) || pPermissions.HasFlag(PmActivityPermission.ManageResources));
                        View.AllowSave             = true;
                        View.AllowAddActivity      = true;
                        View.AllowManageResources  = (mPermission.Administration && !project.isPersonal) || (pPermissions.HasFlag(PmActivityPermission.ManageResources) || (pPermissions.HasFlag(PmActivityPermission.ManageProject)));
                        View.LoadProjectDateInfo(project, true);

                        List <dtoMapActivity> activities = Service.GetActivities(mPermission, pPermissions, project);
                        if (activities == null)
                        {
                            View.DisplayErrorGetActivitiesFromDB();
                            View.SendUserAction(View.ProjectIdCommunity, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectMapErrorFromDb);
                        }
                        else
                        {
                            View.InitializeControlForResourcesSelection(Service.GetProjectResources(idProject, View.UnknownUser));
                            View.SendUserAction(View.ProjectIdCommunity, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectMapForEditing);
                            View.LoadActivities(activities);
                        }
                        View.SetEditProjectUrl(RootObject.EditProject(project.Id, project.IdCommunity, project.isPortal, project.isPersonal, View.PreloadFromPage, View.IdContainerCommunity));
                    }
                    else
                    {
                        ProjectResource resource = Service.GetResource(idProject, UserContext.CurrentUserID);
                        if (pPermissions.HasFlag(PmActivityPermission.ViewProjectMap) && (resource != null && resource.Visibility == ProjectVisibility.Full))
                        {
                            View.RedirectToUrl(RootObject.ViewProjectMap(idProject, project.IdCommunity, project.isPortal, project.isPersonal, View.PreloadFromPage, View.PreloadIdContainerCommunity));
                        }
                        else
                        {
                            View.DisplayNoPermission(project.IdCommunity, currentIdModule);
                        }
                    }
                }
            }
        }
 public void InitView(dtoProject project, String encodedFormatDatePattern)
 {
     View.LoadGantt(RootObject.GetGanttXML(project.Id, false, project.IdCommunity, project.isPortal, project.isPersonal));
 }
Exemple #24
0
        public void InitView()
        {
            dtoProjectContext cContext = new dtoProjectContext()
            {
                IdCommunity = View.PreloadIdCommunity, isPersonal = View.PreloadIsPersonal, isForPortal = View.PreloadForPortal
            };

            InitializeContext(cContext);

            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                Person p = CurrentManager.GetPerson(UserContext.CurrentUserID);
                View.SetProjectsUrl(Service.GetBackUrl(View.PreloadFromPage, View.PreloadIdContainerCommunity, 0));
                List <lm.Comol.Core.Wizard.NavigableWizardItem <dtoProjectManagementStep> > steps = Service.GetAvailableSteps(WizardProjectStep.Settings, 0); //new List<Core.Wizard.NavigableWizardItem<dtoProjectManagementStep>>();   //'Service.GetAvailableSteps(0, WizardTemplateStep.Settings, ownerInfo.Type);
                View.LoadWizardSteps(0, cContext.IdCommunity, cContext.isPersonal, cContext.isForPortal, steps);
                if (!cContext.isForPortal && !cContext.isValid)
                {
                    View.DisplayNotAvailableComunity();
                }
                else
                {
                    ModuleProjectManagement mPermission = Service.GetModulePermissions(cContext.IdCommunity);
                    if (cContext.isPersonal && !mPermission.CreatePersonalProject)
                    {
                        View.DisplayNotAvailableForAddPersonalProject();
                        View.SendUserAction(cContext.IdCommunity, CurrentIdModule, 0, ModuleProjectManagement.ActionType.ProjectTryToAdd);
                    }
                    else if (!cContext.isPersonal && !mPermission.CreatePublicProject)
                    {
                        if (cContext.IdCommunity > 0)
                        {
                            View.DisplayNotAvailableForAddCommunityProject();
                        }
                        else
                        {
                            View.DisplayNotAvailableForAddPortalProject();
                        }
                        View.SendUserAction(cContext.IdCommunity, CurrentIdModule, 0, ModuleProjectManagement.ActionType.ProjectTryToAdd);
                    }
                    else if (p != null && (mPermission.CreatePublicProject || mPermission.CreatePersonalProject))
                    {
                        View.AllowAdd = true;
                        dtoProject project = new dtoProject();
                        project.IdCommunity            = cContext.IdCommunity;
                        project.isPersonal             = cContext.isPersonal;
                        project.isPortal               = cContext.isPersonal;
                        project.Name                   = View.GetDefaultProjectName() + DateTime.Now.Date.ToShortDateString();
                        project.StartDate              = DateTime.Now.Date;
                        project.Status                 = ProjectItemStatus.notstarted;
                        project.Availability           = ProjectAvailability.Draft;
                        project.AllowEstimatedDuration = true;
                        project.AllowMilestones        = true;
                        project.AllowSummary           = true;
                        List <ProjectAvailability> items = new List <ProjectAvailability>();
                        items.Add(ProjectAvailability.Draft);
                        dtoResource resource = new dtoResource()
                        {
                            IdResource = 0, LongName = p.SurnameAndName, ShortName = GetPersonShortName(p), IdPerson = p.Id, ProjectRole = ActivityRole.ProjectOwner
                        };
                        project.Resources = new List <dtoResource>();
                        project.Resources.Add(resource);
                        View.InitializeProject(project, resource, items, ProjectAvailability.Draft, 10);
                        View.SendUserAction(cContext.IdCommunity, CurrentIdModule, 0, ModuleProjectManagement.ActionType.ProjectStartAdding);
                    }
                    else
                    {
                        View.DisplayNoPermission(cContext.IdCommunity, CurrentIdModule);
                    }
                }
            }
        }
 private lm.Comol.Core.FileRepository.Domain.RepositoryIdentifier CreateRepositoryIdentifier(dtoProject project)
 {
     if (project.isPortal)
     {
         return(lm.Comol.Core.FileRepository.Domain.RepositoryIdentifier.Create(lm.Comol.Core.FileRepository.Domain.RepositoryType.Portal, 0));
     }
     else
     {
         return(lm.Comol.Core.FileRepository.Domain.RepositoryIdentifier.Create(lm.Comol.Core.FileRepository.Domain.RepositoryType.Community, project.IdCommunity));
     }
 }