Exemple #1
0
 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);
         }
     }
 }
Exemple #2
0
        //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());
            }
        }
Exemple #3
0
        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);
                }
            }
        }
Exemple #4
0
        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);
        }