Пример #1
0
        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);
        }
Пример #4
0
 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);
             }
         }
     }
 }