Exemplo n.º 1
0
        /// <summary>
        /// Allows for the retrieval of an employee based on
        /// parameter <paramref name="id"/>
        /// </summary>
        public Data.Views.Employee GetEmployee(int id)
        {
            var empFromDB = DBContext.Employees.FirstOrDefault(x => x.Id == id);

            var emp = new Data.Views.Employee
            {
                DOB                     = empFromDB.DOB.Value,
                FirstName               = empFromDB.FirstName,
                LastName                = empFromDB.LastName,
                SSN                     = empFromDB.SSN,
                GetsDiscount            = empFromDB.GetsDiscount,
                BenefitCostPerYear      = empFromDB.BenefitCostPerYear,
                TotalBenefitCostPerYear = empFromDB.TotalBenefitCostPerYear,
                PayPeriodDeduction      = empFromDB.TotalPayPeriodDeduction,
                NetPayAfterDeduction    = empFromDB.NetPayAfterDeduction
            };

            emp.Dependents = new List <Data.Views.Dependent>();

            foreach (var d in empFromDB.Dependents)
            {
                var dep = new Data.Views.Dependent();
                dep.FirstName          = d.FirstName;
                dep.LastName           = d.LastName;
                dep.DOB                = d.DOB;
                dep.SSN                = d.SSN;
                dep.GetsDiscount       = d.GetsDiscount;
                dep.BenefitCostPerYear = d.BenefitCostPerYear;
                emp.Dependents.Add(dep);
            }

            return(emp);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Allows a new employee to be created and saved to the database.
        /// Accepts parameter <paramref name="newEmployee"/>
        /// </summary>
        public int SaveEmployee(Data.Views.Employee newEmployee)
        {
            var emp = new Data.Employee
            {
                DOB           = newEmployee.DOB.Value,
                FirstName     = newEmployee.FirstName,
                LastName      = newEmployee.LastName,
                SSN           = newEmployee.SSN,
                SalaryPerYear = newEmployee.SalaryPerYear,
                GetsDiscount  = newEmployee.FirstName.ToLower().Substring(0, 1) == "a"
            };

            emp.BenefitCostPerYear      = (emp.GetsDiscount) ? CalculateDiscount(1000m, .1m) : 1000m;
            emp.TotalBenefitCostPerYear = emp.BenefitCostPerYear;

            foreach (var d in newEmployee.Dependents.ToList())
            {
                var dep = new Data.Dependent();
                dep.FirstName                = d.FirstName;
                dep.LastName                 = d.LastName;
                dep.DOB                      = d.DOB.Value;
                dep.SSN                      = d.SSN;
                dep.Emp_Id                   = newEmployee.EmployeeId;
                dep.GetsDiscount             = d.FirstName.ToLower().Substring(0, 1) == "a";
                dep.BenefitCostPerYear       = (dep.GetsDiscount) ? CalculateDiscount(500m, .1m) : 500m;
                emp.TotalBenefitCostPerYear += dep.BenefitCostPerYear;
                emp.Dependents.Add(dep);
            }

            emp.TotalPayPeriodDeduction = CalculateDeduction(emp.TotalBenefitCostPerYear, 26m);

            // Add here pay check amount after deduction
            emp.NetPayAfterDeduction = CalculateGrossafterDeduction(2000m, emp.TotalPayPeriodDeduction.Value);

            DBContext.Employees.Add(emp);
            DBContext.SaveChanges();

            return(emp.Id);
        }