public void InitView(long idActivity, String unknownUser, List <dtoLiteMapActivity> activities) { View.IdActivity = idActivity; if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { View.Activities = activities; litePmActivity activity = Service.GetLiteActivity(idActivity); liteProjectSettings project = Service.GetProjectSettings((activity != null) ? activity.IdProject :0); if (activity == null || project == null) { View.DisplayUnknownActivity(); } else { View.IdProject = activity.IdProject; dtoActivity dto = GetActivity(project, activity, activities, true); View.isCompleted = dto.IsCompleted; View.LoadSettings(dto, project.AllowEstimatedDuration, project.AllowMilestones); List <dtoResource> resources = project.Resources.Select(r => new dtoResource(r, unknownUser)).ToList(); View.LoadResources(dto.Permission.SetResources, resources, dto.IdResources); LoadAssignments(project, dto, resources); } } }
//public void VirtualDeleteLink(long idProject,long idActivity, long idLink, List<dtoLiteMapActivity> activities) //{ // if (UserContext.isAnonymous) // View.DisplaySessionTimeout(); // else { // if (Service.SetPredecessorVirtualDelete(idActivity, idLink, true)) // { // View.DisplayLinkRemoved(); // ReloadData(idProject, idActivity,activities, true); // } // else // View.DisplayUnableToRemoveLink(); // } //} //public void AddLink(long idProject, long idActivity, List<long> idPredecessors, List<dtoLiteMapActivity> activities) //{ // if (UserContext.isAnonymous) // View.DisplaySessionTimeout(); // else // { // if (idPredecessors.Any()){ // List<PmActivityLink> links = Service.AddPredecessors(idActivity, idPredecessors, activities); // if (links !=null ) // { // View.DisplayLinkRemoved(); // ReloadData(idProject, idActivity, activities,true); // } // else // View.DisplayUnableToAddLink(); // } // } //} //public void SaveLinks(long idProject, long idActivity, List<dtoActivityLink> links, List<dtoLiteMapActivity> activities) //{ // if (UserContext.isAnonymous) // View.DisplaySessionTimeout(); // else // { // if (links.Any()) // { // if (Service.SaveActivityPredecessors(idActivity, links)) // { // View.DisplayLinksSaved(); // ReloadData(idProject, idActivity, activities, true); // } // else // View.DisplayLinksUnsaved(); // } // } //} private void ReloadPredecessorsData(long idProject, long idActivity, List <dtoActivityLink> links, List <dtoLiteMapActivity> activities) { litePmActivity activity = Service.GetLiteActivity(idActivity); liteProjectSettings project = Service.GetProjectSettings((activity != null) ? activity.IdProject : 0); if (activity != null && project != null) { dtoActivity dto = GetActivity(project, activity, activities); dto.Links = links.Where(l => !l.Deleted && !l.InCycles).ToList(); List <long> idPredecessors = Service.GetAvailableIdPredecessors(dto, activities).Where(id => !dto.Links.Where(l => l.IdTarget == id).Any()).ToList(); View.LoadAvailableLinks(activities.Where(a => idPredecessors.Contains(a.IdActivity)).ToDictionary(a => a.IdActivity, act => act.RowNumber + " - " + (String.IsNullOrEmpty(act.Current.Name) ? act.Previous.Name : act.Current.Name)), dto.Links.ToList()); } }
private void ReloadData(long idProject, long idActivity, List <dtoLiteMapActivity> activities, Boolean reloadSettings = false) { litePmActivity activity = Service.GetLiteActivity(idActivity); liteProjectSettings project = Service.GetProjectSettings((activity != null) ? activity.IdProject : 0); if (activity == null || project == null) { View.DisplayUnknownActivity(); } else { dtoActivity dto = GetActivity(project, activity, activities); if (reloadSettings) { View.ReloadSettings(dto, project.AllowEstimatedDuration, project.AllowMilestones); } } }
private dtoActivity GetActivity(liteProjectSettings project, litePmActivity activity, List <dtoLiteMapActivity> activities, Boolean firstLoad = false) { 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(activity.IdProject, UserContext.CurrentUserID); dtoActivity dto = new dtoActivity(activity); Boolean allowEdit = (mPermission.Administration && !project.isPersonal) || pPermissions.HasFlag(PmActivityPermission.ManageProject); Boolean allowDelete = (mPermission.Administration && !project.isPersonal) || pPermissions.HasFlag(PmActivityPermission.ManageProject); dto.Permission = new dtoActivityPermission(pPermissions, allowEdit, allowDelete, project.AllowSummary, project.DateCalculationByCpm); dto.Permission.ViewPredecessors = dto.Permission.ViewPredecessors && !dto.IsSummary; dto.Permission.SetPredecessors = (allowEdit || pPermissions.HasFlag(PmActivityPermission.ManageLinks)) && project.DateCalculationByCpm && !dto.IsSummary; dto.Permission.SetDuration = dto.Permission.SetDuration && !dto.IsSummary; dto.Permission.SetResources = dto.Permission.SetResources && !dto.IsSummary; View.AllowDelete = allowDelete; View.AllowEdit = allowEdit; LoadLinks(dto, activities, firstLoad); return(dto); }