protected EmployeeDataProvider GetEmployeeDataProviderInstance()
        {
            EmployeeDataProvider employeeProvider = null;

            if (employeeProvider == null)
            {
                return(new EmployeeDataProvider());
            }

            return(employeeProvider);
        }
Example #2
0
        public static void Import(IRepository repository)
        {
            //setup governments
            //TODO: make this not hard coded, maybe reflect providers or something? or a property on provider? I don't know....
            repository.SaveGovernments(new GovernmentRow[] {
                new GovernmentRow()
                {
                    Key = Key_US,
                    Name = "United States Federal"
                },
                new GovernmentRow()
                {
                    Key = Key_US_MD,
                    Name = "Maryland State"
                },
                new GovernmentRow()
                {
                    Key = Key_US_MD_BaltimoreCity,
                    Name = "Baltimore City"
                },
                new GovernmentRow()
                {
                    Key = Key_US_MD_BaltimoreCounty,
                    Name = "Baltimore County"
                }
            });

            repository.AddParentChildGovernmentAssociation(Key_US, Key_US_MD);
            repository.AddParentChildGovernmentAssociation(Key_US_MD, Key_US_MD_BaltimoreCity);
            repository.AddParentChildGovernmentAssociation(Key_US_MD, Key_US_MD_BaltimoreCounty);

            repository.AddAdjacentGovernmentAssocation(Key_US_MD_BaltimoreCity, Key_US_MD_BaltimoreCounty);

            //var providers = new EmployeeDataProvider[] { new EmployeeDataProvider(Key_US_MD_BaltimoreCounty, typeof(BaltimoreCountyEmployeeEnumerator))
            //    , new EmployeeDataProvider(Key_US_MD_BaltimoreCity, typeof(BaltimoreCityEmployeeEnumerator)) };

            var providers = new EmployeeDataProvider[] { new EmployeeDataProvider(Key_US_MD_BaltimoreCity, typeof(BaltimoreCityEmployeeEnumerator)) };

            foreach (var p in providers)
            {
                var employeeData = p.ToList();
                var employees = employeeData.Select(d => d.Row).ToList();

                var g = repository.LoadGovernment(p.GovernmentKey);

                g.FillAggregates(employees);

                repository.SaveGovernments(g);

                var departmentGroups = employeeData.GroupBy(e => e.DepartmentKey);

                var departments = departmentGroups.Select(dept =>
                {
                    var departmentEmployeeData = dept.ToList();

                    var department = new DepartmentRow()
                    {
                        GovernmentKey = p.GovernmentKey,
                        Key = dept.Key,
                        Name = departmentEmployeeData[0].DepartmentName
                    };

                    var departmentEmployees = departmentEmployeeData.Select(data => data.Row).ToList();

                    department.FillAggregates(departmentEmployees);

                    foreach (var employee in departmentEmployees)
                    {
                        employee.DepartmentKey = department.Key;
                    }

                    return department;
                }).ToList();

                repository.SaveDepartments(departments);

                repository.SaveEmployees(employees);
            }
        }
 public EmployeeService(EmployeeDataProvider dataProvider, IConfiguration configuration) : base(dataProvider, configuration)
 {
     _dataProvider  = dataProvider;
     _configuration = configuration;
 }
Example #4
0
 public EmployeeService(EmployeeDataProvider dataProvider) : base(dataProvider)
 {
     _dataProvider = dataProvider;
 }
        /// <summary>
        /// 获取开窗表格数据源
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        public static StringBuilder GetTBodyString(DataBrowserType type)
        {
            var tbody = new StringBuilder();

            switch (type)
            {
            case DataBrowserType.Employee:
                var employees = EmployeeDataProvider.GetAll();
                foreach (var item in employees)
                {
                    tbody.Append("<tr><td><input class='databrowser-selector' type='radio' name='selector'/></td>");
                    foreach (PropertyInfo pInfo in item.GetType().GetProperties())
                    {
                        var value = pInfo.GetValue(item);
                        if (value != null)
                        {
                            tbody.AppendFormat("<td data-property='{0}'>{1}</td>", pInfo.Name, value.ToString());
                        }
                    }
                    tbody.Append("</tr>");
                }
                ;
                break;

            case DataBrowserType.Position:
                var positions = PositionDataProvider.GetAll();
                foreach (var item in positions)
                {
                    tbody.Append("<tr><td><input class='databrowser-selector' type='radio' name='selector'/></td>");
                    foreach (PropertyInfo pInfo in item.GetType().GetProperties())
                    {
                        var value = pInfo.GetValue(item);
                        if (value != null)
                        {
                            tbody.AppendFormat("<td data-property='{0}'>{1}</td>", pInfo.Name, value.ToString());
                        }
                    }
                    tbody.Append("</tr>");
                }
                ;
                break;

            case DataBrowserType.WorkingUnit:
                var workingUnits = WorkingUnitDataProvider.GetAll();
                foreach (var item in workingUnits)
                {
                    tbody.Append("<tr><td><input class='databrowser-selector' type='radio' name='selector'/></td>");
                    foreach (PropertyInfo pInfo in item.GetType().GetProperties())
                    {
                        var value = pInfo.GetValue(item);
                        if (value != null)
                        {
                            tbody.AppendFormat("<td data-property='{0}'>{1}</td>", pInfo.Name, value.ToString());
                        }
                    }
                    tbody.Append("</tr>");
                }
                ;
                break;

            case DataBrowserType.WorkingGroup:
                var workingGroups = WorkingGroupDataProvider.GetAll();
                foreach (var item in workingGroups)
                {
                    tbody.Append("<tr><td><input class='databrowser-selector' type='radio' name='selector'/></td>");
                    foreach (PropertyInfo pInfo in item.GetType().GetProperties())
                    {
                        var value = pInfo.GetValue(item);
                        if (value != null)
                        {
                            tbody.AppendFormat("<td data-property='{0}'>{1}</td>", pInfo.Name, value.ToString());
                        }
                    }
                    tbody.Append("</tr>");
                }
                ;
                break;
            }

            return(tbody);
        }