コード例 #1
0
        public virtual void SetDataType(Type type, UiBase parent)
        {
            CloseCurrentService();

            CurrentType           = type;
            this.associatedParent = parent;

            if (type == typeof(UiClient))
            {
                UiClient.InitService();
                SelectService(UiClient.Service, typeof(UiClient), parent);
                return;
            }

            if (type == typeof(UiEmployee))
            {
                UiEmployee.InitService();
                SelectService(UiEmployee.Service, typeof(UiEmployee), parent);
                return;
            }

            if (type == typeof(UiProjectItemsCategory))
            {
                // only as DetailController
                UiProjectItemsCategory.InitService();
                SelectService(UiProjectItemsCategory.Service, typeof(UiProjectItemsCategory), parent);
                return;
            }

            if (type == typeof(UiProject))
            {
                UiProject.InitService();
                SelectService(UiProject.Service, typeof(UiProject), parent, new[] { "Budgets" });
                return;
            }

            if (type == typeof(UiMaterial))
            {
                UiMaterial.InitService();
                SelectService(UiMaterial.Service, typeof(UiMaterial), parent);
                return;
            }

            if (type == typeof(UiProjectCategory))
            {
                UiProjectCategory.InitService();
                SelectService(UiProjectCategory.Service, typeof(UiProjectCategory), parent);
                return;
            }

            // TODO : throw an exception
        }
コード例 #2
0
        private List <ProjectCategorySplit> DoGetData(/*TODO : filter*/)
        {
            var result   = new List <ProjectCategorySplit>();
            var projects = UiProject.Service.GetList(/*TODO : filter*/);

            foreach (UiProject prj in projects)
            {
                var item = new ProjectCategorySplit {
                    Name    = prj.Name,
                    Budget  = prj.Price,
                    Budgets = new List <CategoryBudget>(),
                };

                if (UiProjectCategory.Service == null)
                {
                    UiProjectCategory.InitService();
                }
                foreach (UiProjectCategory cat in UiProjectCategory.Service.GetList())
                {
                    var budget = new CategoryBudget();
                    budget.CategoryName = cat.Name;
                    foreach (var catItem in (UiProjectItemDetail.Service as UiProjectItemDetail.TheService).GetList(prj.Id, cat.Key))
                    {
                        budget.Value += catItem.Value;
                    }

                    if (budget.Value != 0d)
                    {
                        item.Budgets.Add(budget);
                    }
                }

                result.Add(item);
            }

            return(result);
        }