• ASP.NET&Spring.NET&NHibernate最佳实践(五)——第3章人事子系统(2)


    3.4. 人事子系统服务层(Service)
    部门服务接口(IDeptService.cs)
    using System;
    using Guushuuse.SalaryPrj.HR.DomainModel;
    using Guushuuse.SalaryPrj.HR.Dao;
    using System.Collections;

    namespace Guushuuse.SalaryPrj.HR.Service
    {
        
    /// <summary>
        
    /// 部门服务接口
        
    /// </summary>

        public interface IDeptService
        
    {
            
    void CreateDept(Dept dept);
            
    void DeleteDept(Dept dept);
            IDeptDao DeptDao 
    getset; }
            IList GetAllDepts();
            Dept GetDept(
    int deptID);
            
    void UpdateDept(Dept dept);
        }

    }


    部门服务类(DeptService.cs)
    using System;
    using System.Collections.Generic;
    using System.Text;
    using Guushuuse.SalaryPrj.HR.Dao;
    using Guushuuse.SalaryPrj.HR.DomainModel;
    using System.Collections;
    using Spring.Transaction.Interceptor;

    namespace Guushuuse.SalaryPrj.HR.Service
    {
        
    /// <summary>
        
    /// 部门服务类
        
    /// </summary>

        public class DeptService : IDeptService
        
    {        
            
    private IDeptDao _deptDao;

            
    public IDeptDao DeptDao
            
    {
                
    get return _deptDao; }
                
    set { _deptDao = value; }
            }


            
    public DeptService()
            
    {

            }


            [Transaction(ReadOnly 
    = false)]
            
    public void CreateDept(Dept dept)
            
    {
                _deptDao.CreateDept(dept);
            }


            [Transaction(ReadOnly 
    = false)]
            
    public void UpdateDept(Dept dept)
            
    {
                _deptDao.UpdateDept(dept);
            }


            [Transaction(ReadOnly 
    = false)]
            
    public void DeleteDept(Dept dept)
            
    {
                _deptDao.DeleteDept(dept);
            }


            
    public IList GetAllDepts()
            
    {
                
    return _deptDao.GetAllDepts();
            }


            
    public Dept GetDept(int deptID)
            
    {
                
    return _deptDao.GetDept(deptID);
            }

        }

    }


    员工服务接口(IEmployeeService.cs)
    using System;
    using Guushuuse.SalaryPrj.HR.DomainModel;
    using Guushuuse.SalaryPrj.HR.Dao;
    using System.Collections;

    namespace Guushuuse.SalaryPrj.HR.Service
    {
        
    /// <summary>
        
    /// 员工服务接口
        
    /// </summary>

        public interface IEmployeeService
        
    {
            
    void CreateEmployee(Employee employee);
            
    void DeleteEmployee(Employee employee);
            IEmployeeDao EmployeeDao 
    getset; }
            IList GetAllEmployees();
            Employee GetEmployee(
    int employeeID);
            
    void UpdateEmployee(Employee employee);
        }

    }


    员工服务类(EmployeeService.cs)
    using System;
    using System.Collections.Generic;
    using System.Text;
    using Guushuuse.SalaryPrj.HR.Dao;
    using Guushuuse.SalaryPrj.HR.DomainModel;
    using System.Collections;
    using Spring.Transaction.Interceptor;

    namespace Guushuuse.SalaryPrj.HR.Service
    {
        
    /// <summary>
        
    /// 员工服务类
        
    /// </summary>

        public class EmployeeService : IEmployeeService
        
    {        
            
    private IEmployeeDao _employeeDao;

            
    public IEmployeeDao EmployeeDao
            
    {
                
    get return _employeeDao; }
                
    set { _employeeDao = value; }
            }


            
    public EmployeeService()
            
    {

            }


            [Transaction(ReadOnly 
    = false)]
            
    public void CreateEmployee(Employee employee)
            
    {
                _employeeDao.CreateEmployee(employee);
            }


            [Transaction(ReadOnly 
    = false)]
            
    public void UpdateEmployee(Employee employee)
            
    {
                _employeeDao.UpdateEmployee(employee);
            }


            [Transaction(ReadOnly 
    = false)]
            
    public void DeleteEmployee(Employee employee)
            
    {
                _employeeDao.DeleteEmployee(employee);
            }


            
    public IList GetAllEmployees()
            
    {
                
    return _employeeDao.GetAllEmployees();
            }


            
    public Employee GetEmployee(int employeeID)
            
    {
                
    return _employeeDao.GetEmployee(employeeID);
            }

        }

    }


    服务定位类(ServiceLocator.cs)
    using System;
    using System.Collections.Generic;
    using System.Text;
    using Spring.Context;
    using Spring.Context.Support;

    namespace Guushuuse.SalaryPrj.HR.Service
    {
        
    /// <summary>
        
    /// 服务定位类
        
    /// </summary>

        public class ServiceLocator
        
    {
            
    private static IApplicationContext _ctx;

            
    static ServiceLocator()
            
    {
                _ctx 
    = ContextRegistry.GetContext();
            }


            
    public static IDeptService DeptService
            
    {
                
    get
                
    {
                    IDeptService deptService 
    = _ctx["deptService"as IDeptService;

                    
    return deptService;
                }

            }


            
    public static IEmployeeService EmployeeService
            
    {
                
    get
                
    {
                    IEmployeeService employeeService 
    = _ctx["employeeService"as IEmployeeService;

                    
    return employeeService;
                }

            }

        }

    }


    修改Config/Guushuuse.SalaryPrj.HR.config文件,新增object
    <object id="deptService" type="Guushuuse.SalaryPrj.HR.Service.DeptService, Guushuuse.SalaryPrj.HR">
        
    <property name="DeptDao" ref="deptDao" />
      
    </object>

      
    <object id="employeeService" type="Guushuuse.SalaryPrj.HR.Service.EmployeeService, Guushuuse.SalaryPrj.HR">
        
    <property name="EmployeeDao" ref="employeeDao" />
      
    </object>

    3.5. 人事子系统帮助类(Helper)
    帮助类(HRHelper.cs)
    using System;
    using System.Collections.Generic;
    using System.Text;
    using Guushuuse.SalaryPrj.HR.DomainModel;
    using Guushuuse.SalaryPrj.HR.Service;
    using System.Collections;

    namespace Guushuuse.SalaryPrj.HR.Helper
    {
        
    /// <summary>
        
    /// 帮助类
        
    /// </summary>

        public class HRHelper
        
    {
            
    /// <summary>
            
    /// 新增部门
            
    /// </summary>
            
    /// <param name="code"></param>
            
    /// <param name="name"></param>

            public static void CreateDept(string code, string name)
            
    {
                
    try
                
    {
                    Dept dept 
    = new Dept();
                    dept.Code 
    = code;
                    dept.Name 
    = name;

                    ServiceLocator.DeptService.CreateDept(dept);
                }

                
    catch (Exception ex)
                
    {
                    
    throw ex;
                }

            }


            
    /// <summary>
            
    /// 更新部门
            
    /// </summary>
            
    /// <param name="id"></param>
            
    /// <param name="code"></param>
            
    /// <param name="name"></param>

            public static void UpdateDept(int id, string code, string name)
            
    {
                
    try
                
    {
                    Dept dept 
    = ServiceLocator.DeptService.GetDept(id);
                    dept.Code 
    = code;
                    dept.Name 
    = name;

                    ServiceLocator.DeptService.CreateDept(dept);
                }

                
    catch (Exception ex)
                
    {
                    
    throw ex;
                }

            }


            
    /// <summary>
            
    /// 删除部门
            
    /// </summary>
            
    /// <param name="id"></param>
            
    /// <param name="code"></param>
            
    /// <param name="name"></param>

            public static void DeleteDept(int id, string code, string name)
            
    {
                
    try
                
    {
                    Dept dept 
    = ServiceLocator.DeptService.GetDept(id);
                    
                    ServiceLocator.DeptService.DeleteDept(dept);
                }

                
    catch (Exception ex)
                
    {
                    
    throw ex;
                }

            }


            
    /// <summary>
            
    /// 取出所有部门
            
    /// </summary>
            
    /// <returns></returns>

            public static IList GetAllDepts()
            
    {
                IList depts;

                
    try
                
    {
                    depts 
    = ServiceLocator.DeptService.GetAllDepts();
                }

                
    catch (Exception ex)
                
    {
                    
    throw ex;
                }


                
    return depts;
           }


            
    /// <summary>
            
    /// 新增员工
            
    /// </summary>
            
    /// <param name="code"></param>
            
    /// <param name="name"></param>
            
    /// <param name="deptID"></param>

            public static void CreateEmployee(string code, string name, int deptID)
            
    {
                
    try
                
    {
                    Employee employee 
    = new Employee();
                    employee.Code 
    = code;
                    employee.Name 
    = name;
                    employee.Dept 
    = ServiceLocator.DeptService.GetDept(deptID);

                    ServiceLocator.EmployeeService.CreateEmployee(employee);
                }

                
    catch (Exception ex)
                
    {
                    
    throw ex;
                }

            }


            
    /// <summary>
            
    /// 更新员工
            
    /// </summary>
            
    /// <param name="id"></param>
            
    /// <param name="code"></param>
            
    /// <param name="name"></param>
            
    /// <param name="deptID"></param>

            public static void UpdateEmployee(int id, string code, string name, int deptID)
            
    {
                
    try
                
    {
                    Employee employee 
    = ServiceLocator.EmployeeService.GetEmployee(id);
                    employee.Code 
    = code;
                    employee.Name 
    = name;
                    employee.Dept 
    = ServiceLocator.DeptService.GetDept(deptID);

                    ServiceLocator.EmployeeService.CreateEmployee(employee);
                }

                
    catch (Exception ex)
                
    {
                    
    throw ex;
                }

            }


            
    /// <summary>
            
    /// 删除员工
            
    /// </summary>
            
    /// <param name="id"></param>
            
    /// <param name="code"></param>
            
    /// <param name="name"></param>

            public static void DeleteEmployee(int id, string code, string name)
            
    {
                
    try
                
    {
                    Employee employee 
    = ServiceLocator.EmployeeService.GetEmployee(id);

                    ServiceLocator.EmployeeService.DeleteEmployee(employee);
                }

                
    catch (Exception ex)
                
    {
                    
    throw ex;
                }

            }


            
    /// <summary>
            
    /// 取出所有员工
            
    /// </summary>
            
    /// <returns></returns>

            public static IList GetAllEmployees()
            
    {
                IList employees;

                
    try
                
    {
                    employees 
    = ServiceLocator.EmployeeService.GetAllEmployees();
                }

                
    catch (Exception ex)
                
    {
                    
    throw ex;
                }


                
    return employees;
            }

        }

    }

  • 相关阅读:
    分清函数指针和指针函数_
    常量指针与指针常量的区别
    Oracle11g数据库在Win系统下的安装
    MySQL-python模块
    堡垒机(paramiko)
    paramiko模块
    线程池
    线程、进程和协程
    Twisted
    SocketServer模块
  • 原文地址:https://www.cnblogs.com/pricks/p/1744427.html
Copyright © 2020-2023  润新知