Exemplo n.º 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);
         }
     }
 }
Exemplo n.º 2
0
 private void LoadAssignments(liteProjectSettings project, dtoActivity dto, List <dtoResource> resources)
 {
     if (dto.IsSummary)
     {
         View.LoadSummaryCompletion(dto.Completeness, dto.IsCompleted, dto.Permission);
     }
     else
     {
         List <dtoActivityCompletion> assignments = new List <dtoActivityCompletion>();
         foreach (dtoResource resource in resources.OrderBy(r => r.LongName))
         {
             dtoActivityCompletion assignment = dto.Assignments.Where(a => a.IdResource == resource.IdResource).FirstOrDefault();
             if (assignment == null)
             {
                 assignment              = new dtoActivityCompletion();
                 assignment.IdResource   = resource.IdResource;
                 assignment.Completeness = (dto.IsCompleted) ? 100 :0;
                 assignment.IsApproved   = (dto.IsCompleted) ? true : !project.ConfirmCompletion;
                 assignment.Deleted      = true;
             }
             assignment.IdPerson    = resource.IdPerson;
             assignment.DisplayName = resource.LongName;
             assignment.AllowEdit   = dto.Permission.SetCompleteness || dto.Permission.SetOthersCompletion || (dto.Permission.SetMyCompletion && resource.IdPerson == UserContext.CurrentUserID);
             assignments.Add(assignment);
         }
         View.LoaderAssignments = assignments;
         View.LoadCompletion(dto.Completeness, dto.IsCompleted, assignments, dto.Permission);
     }
 }
Exemplo n.º 3
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());
            }
        }
Exemplo n.º 4
0
        private Boolean IsProjectAdministrator(long idProject, Person person)
        {
            Boolean result = false;

            try
            {
                liteProjectSettings project = Manager.Get <liteProjectSettings>(idProject);
                if (project != null && !project.isPersonal)
                {
                    ModuleProjectManagement mPermission = (project.isPortal) ? ModuleProjectManagement.CreatePortalmodule((person == null) ? (Int32)UserTypeStandard.Guest : person.TypeID) : new ModuleProjectManagement(Manager.GetModulePermission(person.Id, project.IdCommunity, GetIdModule()));
                    result = mPermission.Administration;
                }
            }
            catch (Exception ex) {
            }
            return(result);
        }
Exemplo n.º 5
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);
                }
            }
        }
Exemplo n.º 6
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);
        }