コード例 #1
0
        //TODO: use and test ~/Controls/Report.ascx

        /// <summary>
        /// Fills the form with the given item.
        /// </summary>
        /// <param name="item">The item.</param>
        public void FillForm(ProjectItem item)
        {
            if (item != null)
            {
                lblType.Text        = item.Type.ToString();
                lblName.Text        = item.Name;
                lblDescription.Text = item.Description;
                lblStartDate.Text   = Utility.MaskNull(item.StartDate);
                lblExpEndDate.Text  = Utility.MaskNull(item.ExpEndDate);
                lblActEndDate.Text  = Utility.MaskNull(item.ActEndDate);

                double percentComplete;
                switch (item.Type)
                {
                case ProjectItemType.Project:
                {
                    ModuleService      service     = new ModuleService();
                    List <Module>      modules     = new List <Module>(service.GetByProject(item.ID));
                    List <ProjectItem> moduleItems = modules.ConvertAll(i => (ProjectItem)i);
                    percentComplete = GetPercentComplete(moduleItems);
                    break;
                }

                case ProjectItemType.Module:
                {
                    TaskService        taskService = new TaskService();
                    List <Task>        tasks       = new List <Task>(taskService.GetByModule(item.ID));
                    List <ProjectItem> taskItems   = tasks.ConvertAll(i => (ProjectItem)i);
                    percentComplete = GetPercentComplete(taskItems);
                    break;
                }

                case ProjectItemType.Task:
                {
                    percentComplete = item.IsComplete ? 1 : 0;
                    break;
                }

                default:
                {
                    throw new ArgumentOutOfRangeException();
                }
                }

                lblItemStatus.Text = percentComplete.ToString("p");
            }
        }
コード例 #2
0
        public void GetByProject()
        {
            for (int i = 0; i < 10; i++)
            {
                Insert(CreateRecord());
            }

            ModuleService       target     = new ModuleService();
            Collection <Module> collection = target.GetByProject(_project.ID);

            Assert.IsTrue(collection.Count >= 10);

            foreach (Module module in collection)
            {
                Assert.AreEqual(_project.ID, module.ProjectID);
            }
        }
コード例 #3
0
        public void GetByProject()
        {
            for (int i = 0; i < 10; i++)
            {
                Insert(CreateRecord());
            }

            ModuleService target = new ModuleService();
            Collection<Module> collection = target.GetByProject(_project.ID);

            Assert.IsTrue(collection.Count >= 10);

            foreach (Module module in collection)
            {
                Assert.AreEqual(_project.ID, module.ProjectID);
            }
        }
コード例 #4
0
        public void DeleteWithModules()
        {
            ProjectService service = new ProjectService();
            Project        project = (Project)CreateRecord();

            Insert(project);

            ModuleService moduleService = new ModuleService();

            for (int i = 0; i < 5; i++)
            {
                moduleService.Insert(new Module(project.ID, "Module", "Description"));
            }

            service.Delete(project.ID);

            Assert.AreEqual(0, moduleService.GetByProject(project.ID).Count);
        }
コード例 #5
0
ファイル: Report.ascx.cs プロジェクト: jrummell/projmgt-net
        //TODO: use and test ~/Controls/Report.ascx
        /// <summary>
        /// Fills the form with the given item.
        /// </summary>
        /// <param name="item">The item.</param>
        public void FillForm(ProjectItem item)
        {
            if (item != null)
            {
                lblType.Text = item.Type.ToString();
                lblName.Text = item.Name;
                lblDescription.Text = item.Description;
                lblStartDate.Text = Utility.MaskNull(item.StartDate);
                lblExpEndDate.Text = Utility.MaskNull(item.ExpEndDate);
                lblActEndDate.Text = Utility.MaskNull(item.ActEndDate);

                double percentComplete;
                switch (item.Type)
                {
                    case ProjectItemType.Project:
                        {
                            ModuleService service = new ModuleService();
                            List<Module> modules = new List<Module>(service.GetByProject(item.ID));
                            List<ProjectItem> moduleItems = modules.ConvertAll(i => (ProjectItem) i);
                            percentComplete = GetPercentComplete(moduleItems);
                            break;
                        }
                    case ProjectItemType.Module:
                        {
                            TaskService taskService = new TaskService();
                            List<Task> tasks = new List<Task>(taskService.GetByModule(item.ID));
                            List<ProjectItem> taskItems = tasks.ConvertAll(i => (ProjectItem) i);
                            percentComplete = GetPercentComplete(taskItems);
                            break;
                        }
                    case ProjectItemType.Task:
                        {
                            percentComplete = item.IsComplete ? 1 : 0;
                            break;
                        }
                    default:
                        {
                            throw new ArgumentOutOfRangeException();
                        }
                }

                lblItemStatus.Text = percentComplete.ToString("p");
            }
        }
コード例 #6
0
        public void DeleteWithTasks()
        {
            ProjectService service = new ProjectService();
            Project        project = (Project)CreateRecord();

            Insert(project);

            ModuleService moduleService = new ModuleService();
            Module        module        = new Module(project.ID, "Name", "Description");

            moduleService.Insert(module);

            TaskService taskService = new TaskService();

            for (int i = 0; i < 5; i++)
            {
                taskService.Insert(new Task(module.ID, "Task", "Description", TaskComplexity.Medium));
            }

            service.Delete(project.ID);

            Assert.AreEqual(0, moduleService.GetByProject(project.ID).Count);
            Assert.AreEqual(0, taskService.GetByModule(module.ID).Count);
        }
コード例 #7
0
        public void DeleteWithModules()
        {
            ProjectService service = new ProjectService();
            Project project = (Project) CreateRecord();
            Insert(project);

            ModuleService moduleService = new ModuleService();
            for (int i = 0; i < 5; i++)
            {
                moduleService.Insert(new Module(project.ID, "Module", "Description"));
            }

            service.Delete(project.ID);

            Assert.AreEqual(0, moduleService.GetByProject(project.ID).Count);
        }
コード例 #8
0
        public void DeleteWithTasks()
        {
            ProjectService service = new ProjectService();
            Project project = (Project) CreateRecord();
            Insert(project);

            ModuleService moduleService = new ModuleService();
            Module module = new Module(project.ID, "Name", "Description");
            moduleService.Insert(module);

            TaskService taskService = new TaskService();
            for (int i = 0; i < 5; i++)
            {
                taskService.Insert(new Task(module.ID, "Task", "Description", TaskComplexity.Medium));
            }

            service.Delete(project.ID);

            Assert.AreEqual(0, moduleService.GetByProject(project.ID).Count);
            Assert.AreEqual(0, taskService.GetByModule(module.ID).Count);
        }