public EmployeeService(
     IEmployeeFactory employeeFactory,
     IEmployeeRepository employeeRepository)
 {
     this.employeeFactory    = employeeFactory;
     this.employeeRepository = employeeRepository;
 }
Example #2
0
        static void Main(string[] args)
        {
            Console.WriteLine($"Press 1 for Simple Factory:");
            Console.WriteLine($"Press 2 for Factory Method:");

            string option = Console.ReadLine();

            switch (option)
            {
            case "1":     //-------------Simple Factory Example-----------------

                string          EmployeeType    = "PermanentEmployee";
                EmployeeFactory employeeFactory = new EmployeeFactory();
                IEmployee       emp             = employeeFactory.CreateInstance(EmployeeType.ToLower());
                var             salary          = emp.GetAnnualSalary(123);
                Console.WriteLine($"Salary : {salary.ToString()} ");

                break;

            case "2":     //-------------Factory Method Example-----------------

                //IEmployeeFactory empfactory = LoadFactory("Permanent");
                IEmployeeFactory empfactory = LoadFactory("Temporary");

                FactoryPattern.FactoryMethod.Employees.IEmployee employee = empfactory.CreateEmployee();
                string netsalary = employee.GetNetSalary;
                Console.WriteLine(netsalary);
                break;

            default:
                break;
            }
        }
Example #3
0
        /// <summary>
        /// Here we use the factory method pattern to calculate the employee's AnnualSalary
        /// </summary>
        /// <param name="employee">Employee</param>
        private static void ProcessEmployee(Employee employee)
        {
            IEmployeeFactory employeeFactory = null;
            var salary = 0m;

            switch (employee.ContractTypeName)
            {
            case "HourlySalaryEmployee":
                employeeFactory = new HourlyEmployeeFactory();
                salary          = employee.HourlySalary;
                break;

            case "MonthlySalaryEmployee":
                employeeFactory = new MonthlyEmployeeFactory();
                salary          = employee.MonthlySalary;
                break;

            default:
                break;
            }
            if (employeeFactory != null)
            {
                employee.AnnualSalary = employeeFactory.GetEmployee().CalculateAnnualSalary(salary);
            }
        }
Example #4
0
 public AddEmployeeHandler(
     IEmployeeRepository employeeRepository,
     IEmployeeFactory employeeFactory,
     IEmployeeDtoBuilder employeeDtoBuilder)
 {
     this.employeeRepository = employeeRepository;
     this.employeeFactory    = employeeFactory;
     this.employeeDtoBuilder = employeeDtoBuilder;
 }
Example #5
0
        public EmployeeManager()
        {
            _employeeFactory    = new EmployeeFactory();
            _employeeRepository = new EmployeeRepository();

            employees = new List <Models.Employee>();

            FetchEmployees();
        }
        public JsonResult EmployeeList(int?EmployeeID)
        {
            result          = new Result();
            EmployeeFactory = new EmployeeFactorys();
            List <DAL.db.Employee> list = EmployeeFactory.SearchEmployee(EmployeeID);
            var empList = list.Select(x => new { x.EmployeeID, x.EmpName, x.BranchID, BranchName = x.SET_CompanyBranch.Name, x.DepartmentID, DepartmentName = x.Department.DepartmentName, x.DesignationID, DesignationName = x.Designation.DesignationName, x.Location, x.Floor, x.EmpCode, x.Mobile, x.PbxNumber, x.Email, x.OnBehalfEmployeeID });

            return(Json(empList, JsonRequestBehavior.AllowGet));
        }
        public async Task <Employee> FindEmployeeAsync(int id)
        {
            var employees = await repository.GetEmployeeAsync().ConfigureAwait(false);

            var employee = employees.FirstOrDefault(emp => emp.Id == id);

            IEmployeeFactory factory = LoadFactory(employee);

            return(factory.ObtainFullyConstrutedEmployee(employee));
        }
 public CommandParser(
     ISubject subject,
     IEmployeeRepository employeeRepository,
     IEmployeeFactory employeeFactory,
     IJobFactory jobFactory,
     IOutputWriter writer)
 {
     this.subject            = subject;
     this.employeeRepository = employeeRepository;
     this.employeeFactory    = employeeFactory;
     this.jobFactory         = jobFactory;
     this.writer             = writer;
 }
        public static IEnumerable <Employee> GetEmployees(IEnumerable <Employee> listOfEmployees)
        {
            EmployeeFactory factory           = new ConcreteEmployeeFactory();
            List <Employee> listOfEmployeeNew = new List <Employee>();

            foreach (Employee x in listOfEmployees)
            {
                IEmployeeFactory employee = factory.GetEmployee(x);
                x.annualSalary = employee.CalculateAnnualSalary(x.contractTypeName);
                listOfEmployeeNew.Add(x);
            }

            return((IEnumerable <Employee>)listOfEmployeeNew);
        }
Example #10
0
        public void Initialize()
        {
            employeeBuilder = new EmployeeBuilder();

            var mappingConfig = new MapperConfiguration(mc =>
            {
                mc.AddProfile(new AutoMapping());
            });

            employeeFactory = new EmployeeFactory(mappingConfig.CreateMapper());

            employeeRepository = Substitute.For <IEmployeeRepository>();

            employeeService = new EmployeeService(employeeFactory, employeeRepository);
        }
Example #11
0
        public static IEnumerable<Employee> GetEmployees(IEnumerable<Employee> listOfEmployees)
        {
            EmployeeFactory factory = new ConcreteEmployeeFactory();
            List<Employee> employeeList = new List<Employee>();

            foreach (Employee emp in listOfEmployees)
            {
                IEmployeeFactory employee = factory.GetEmployee(emp);
                emp.annualSalary = employee.CalculateAnnualSalary(emp.contractTypeName);
                emp.contractType = emp.contractTypeName.Contains("Hourly") ? "Hourly" : "Monthly";
                emp.formattedHourlySalary = emp.hourlySalary.ToString("C");
                emp.formattedMonthlySalary = emp.monthlySalary.ToString("C");
                emp.formattedAnnualSalary = emp.annualSalary.ToString("C");
                employeeList.Add(emp);
            }

            return (IEnumerable<Employee>)employeeList;
        }
Example #12
0
        public JsonResult EmployeeCreate(DAL.db.Employee emp, List <int> beHalfEmpList, UserModel user)
        {
            IVMS_DBEntities db = new IVMS_DBEntities();

            result = new Result();
            JsonResult jsonResult = new JsonResult();

            EmployeeFactory = new EmployeeFactorys();
            int companyID = Convert.ToInt32(dictionary[9].Id == "" ? 0 : Convert.ToInt32(dictionary[9].Id));

            emp.CompanyID = companyID;
            emp.Status    = 1;


            result = EmployeeFactory.SaveEmployee(emp);
            if (result.isSucess)
            {
                if (beHalfEmpList != null && beHalfEmpList.Count > 0)
                {
                    // Self OnBehalfEmployeeID
                    var appDataSelf = db.Employees.Where(x => x.EmployeeID == emp.EmployeeID).FirstOrDefault();
                    appDataSelf.OnBehalfEmployeeID = emp.EmployeeID;
                    db.Entry(appDataSelf).State    = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();

                    foreach (var details in beHalfEmpList)
                    {
                        var appData = db.Employees.Where(x => x.EmployeeID == details).FirstOrDefault();
                        appData.OnBehalfEmployeeID = emp.EmployeeID;
                        db.Entry(appData).State    = System.Data.Entity.EntityState.Modified;
                        db.SaveChanges();
                    }
                }
                if (user.UserGroupID > 0)
                {
                    UserController userController = new UserController();
                    jsonResult = userController.CreateUserSave(user);
                }
            }
            return(Json(result));
        }
Example #13
0
 public void Inicializar()
 {
     masGlobalEmployeeTestRepository = Substitute.For <IMasGlobalEmployeeTestRepository>();
     employeeFactory  = Substitute.For <IEmployeeFactory>();
     employeeBusiness = new EmployeeBusiness(masGlobalEmployeeTestRepository, employeeFactory);
     employeeList     = new List <Employee> {
         new Employee {
             Id               = 1,
             Name             = "Arthur",
             ContractTypeName = "HourlySalaryEmployee",
             RoleId           = 1,
             RoleName         = "Developer",
             RoleDescription  = null,
             HourlySalary     = 50000,
             MonthlySalary    = 6000000
         },
         new Employee {
             Id               = 2,
             Name             = "Fancisco",
             ContractTypeName = "MonthlySalaryEmployee",
             RoleId           = 1,
             RoleName         = "Arquitect",
             RoleDescription  = null,
             HourlySalary     = 50000,
             MonthlySalary    = 9000000
         },
         new Employee {
             Id               = 2,
             Name             = "Juan",
             ContractTypeName = "HourlySalaryEmployee",
             RoleId           = 1,
             RoleName         = "Designer",
             RoleDescription  = null,
             HourlySalary     = 25000,
             MonthlySalary    = 3000000
         }
     };
 }
Example #14
0
        private static void EmployeeSalaryCalc(Employee employee)
        {
            IEmployeeFactory factory = null;
            double           salary  = 0;

            switch (employee.ContractTypeName)
            {
            case "MonthlySalaryEmployee":
                factory = new HourEmployeeFactory();
                salary  = employee.MonthlySalary;
                break;

            case "HourlySalaryEmployee":
                factory = new MonthEmployeeFactory();
                salary  = employee.HourlySalary;
                break;

            default:
                salary = 0;
                break;
            }

            employee.AnnualSalary = factory.GetEmployee().CalculateAnnualSalary(salary);
        }
Example #15
0
 public EmployeeService(IMapper mapper, IEmployeeRepository employeeRepository,
                        IEmployeeFactory employeeFactory)
     : base(mapper, employeeRepository)
 {
     _employeeFactory = employeeFactory;
 }
 public Engine(IOffice office, IEmployeeFactory employeeFactory, IJobFactory jobFactory)
 {
     this.office          = office;
     this.employeeFactory = employeeFactory;
     this.jobFactory      = jobFactory;
 }
	public MainApp(){
		_employeeFactory = new EmployeeFactory();
		_employeeList = new List<IEmployee>();
	}
                                    public PeopleService(IEmployeeFactory factory)
 {
     this.factory = factory;
 }
 public EmployeeBLLRepository(IEmployeeDALRepository repository, IEmployeeFactory factory)
 {
     _repository = repository;
     _factory    = factory;
 }
Example #20
0
 /// <summary>
 /// Initializes a new instance of the employee repository.
 /// </summary>
 /// <param name="dbContext">The db context.</param>
 /// <param name="empFactory">The employee factory.</param>
 public EmployeeInfoReceiver(IEmployeeFactory empFactory)
 {
     _empFactory = empFactory;
 }
 public EmployeeManagement(IEmployeeRepository employeeRepository, IEmployeeFactory employeeFactory, Func <string, ISalaryCalculator> salaryCacluatorFactory, IMapper mapper) : base(mapper)
 {
     _EmployeeRepository     = employeeRepository;
     _EmployeeFactory        = employeeFactory;
     _SalaryCacluatorFactory = salaryCacluatorFactory;
 }
 public ADODataAccess(IEmployeeFactory employeeFactory)
 {
     this._emloyeeFactory = employeeFactory;
 }
Example #23
0
 public EmployeeCreator(IEmployeeFactory employeeFactory)
 {
     this.employeeFactory = employeeFactory;
 }
Example #24
0
 public EmployeeTest()
 {
     EmployeeFactory = new EmployeeFactory();
 }
 public EmployeeLoggingFactory(IEmployeeFactory empFact, ILogger logr)
 {
     employeeFact = empFact;
     logger = logr;
 }
Example #26
0
 public RegularManagementEmployeeService([KeyFilter("management")] IEmployeeFactory factory, IEmployeeRepository repository)
 {
     _factory    = factory;
     _repository = repository;
 }
Example #27
0
 public EmployeeManager(IEmployeeService employeeService, IEmployeeFactory employeeFactory)
 {
     this.employeeService = employeeService;
     this.employeeFactory = employeeFactory;
 }
Example #28
0
 public EmployeeService(IEmployeeRepository employeeRepository, IEmployeeFactory employeeFactory)
 {
     _employeeRepository = employeeRepository;
     _employeeFactory    = employeeFactory;
 }
Example #29
0
 public EmployeeService(IEmployeesRepository repository, IEmployeeFactory factory)
 {
     _repository = repository;
     _factory    = factory;
 }
Example #30
0
 /// <summary>
 /// Constructor for the Class GetPaymentForEmployeeQuery
 /// </summary>
 /// <param name="employeeFactory">Factory for buildig the employee</param>
 /// <param name="scheduleFactory">Factory for buildig the schedule</param>
 public GetPaymentForEmployeeQuery(IEmployeeFactory employeeFactory
                                   , IScheduleFactory scheduleFactory)
 {
     _employeeFactory = employeeFactory;
     _scheduleFactory = scheduleFactory;
 }
Example #31
0
 public Engine(JobList jobs, ICollection <IEmployee> employees, IEmployeeFactory employeeFactory)
 {
     this.jobs            = jobs;
     this.employees       = employees;
     this.employeeFactory = employeeFactory;
 }
 public ADODataAccess(IEmployeeFactory employeeFactory)
 {
     this._emloyeeFactory = employeeFactory;
 }