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); }
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); } } } }