/// <summary> /// 删除合同类型,测试用 /// </summary> public DeleteContractType(int contractTypeId, IContractType dalContractType, IContract dalContract, IContractBookMark dalContractBookMark) { _ContractTypeId = contractTypeId; _DalContractType = dalContractType; _DalContract = dalContract; _ContractBookMark = dalContractBookMark; }
public Employee(int id, string name, int roleId, string roleName, string roleDescription, string contractTypeName, decimal hourlySalary, decimal montlySalary) { this.Id = id; this.Name = name; this.Role = new Role(roleId, roleName, roleDescription); this.HourlySalary = hourlySalary; this.MonthlySalary = montlySalary; this.ContractTypeName = (CommonEnum.ContractType)Enum.Parse(typeof(CommonEnum.ContractType), contractTypeName, false); ContractType = Factory.ContractTypeFactory.Create(ContractTypeName, CurrentSalary); }
/// <summary> /// 更新员工合同构造函数,测试 /// </summary> /// <param name="contract"></param> /// <param name="employee"></param> /// <param name="dalContract"></param> /// <param name="dalEmployee"></param> /// <param name="dalContractType"></param> /// <param name="dalEmployeeContractBookMark"></param> public UpdateEmployeeContract(Contract contract, Employee employee, IContract dalContract, IEmployee dalEmployee, IContractType dalContractType, IEmployeeContractBookMark dalEmployeeContractBookMark) { _Contract = contract; _Employee = employee; _DalContract = dalContract; _DalEmployee = dalEmployee; _DalContractType = dalContractType; _DalEmployeeContractBookMark = dalEmployeeContractBookMark; }
public ContractBuilder TypeOfContract(TypeOfContract contract) { if (SalaryCalculators.TypeOfContract.UmowaZlecenie == contract) { result = new UmowaZlecenie(); } else if (SalaryCalculators.TypeOfContract.UmowaODzielo == contract) { result = new UmowaODzielo(); } return(this); }
public ContractBuilder TypeOfContract(string contract) { //if (contract == "uop") // result = ; if (contract == "uz") { result = new UmowaZlecenie(); } else if (contract == "uod") { result = new UmowaODzielo(); } return(this); }
public SalaryCalculatorResult Calculate(IContractType EmployerSalary) { var result = new SalaryCalculatorResult(); var es = EmployerSalary as IUmowaODzielo; if (es.SalaryFrom.Equals(SalaryFrom.Gross) || es.SalaryFrom.Equals(SalaryFrom.EmployerCosts)) { result.GrossSalary = es.Salary; var podstawaOpodatkowania = es.Salary * (1 - ((decimal)es.HigherCostOfGettingIncome / 100)); var kosztUzyskaniaPrzychodu = es.Salary - podstawaOpodatkowania; var zaliczkaNaPIT = Math.Round(podstawaOpodatkowania * 0.18M, 0); result.NetSalary = result.GrossSalary - zaliczkaNaPIT; result.SalaryCosts.Add(new SalaryCost() { CostName = "zaliczka na PIT", CostValue = zaliczkaNaPIT }); } else if (es.SalaryFrom.Equals(SalaryFrom.Net)) { result.GrossSalary = Math.Round(es.Salary / 0.856M, 2); if (es.HigherCostOfGettingIncome == 50) { result.GrossSalary = Math.Round(es.Salary / 0.91M, 2); } result.NetSalary = es.Salary; var podstawaOopodatkowania = (es.Salary / 0.8M) * (1 - ((decimal)es.HigherCostOfGettingIncome / 100)); var zaliczkaNaPIT = Math.Round(podstawaOopodatkowania * 0.18M, 0); result.SalaryCosts.Add(new SalaryCost() { CostName = "zaliczka na PIT", CostValue = zaliczkaNaPIT }); } return(result); }
public ContractTypeDataBinder(IContractType itsView, IContractTypeFacade getContractType) { _ItsView = itsView; _IContractTypeFacade = getContractType; }
public SalaryCalculatorResult Calculate(IContractType EmployerSalary) { var result = new SalaryCalculatorResult(); var umowa = EmployerSalary as IUmowaZlecenie; if (umowa.SalaryFrom.Equals(SalaryFrom.Gross)) { var brutto = umowa.Salary; var kosztUzyskaniaPrzychodu = brutto * 0.20M; if (umowa.HigherCostOfGettingIncome == 50) { kosztUzyskaniaPrzychodu = brutto * 0.50M; } var dochodDoOpadatkowania = brutto - kosztUzyskaniaPrzychodu; var podatek = 0M; var netto = 0M; if (umowa.HealthInsurance == true) { var skladkaNaubiezpiczenieZdrowotne = brutto * 0.09M; var skladkaNaubiezpiczenieZdrowotnePomiejszajacaPodatek = brutto * 0.0775M; podatek = dochodDoOpadatkowania * 0.18M; podatek = podatek - skladkaNaubiezpiczenieZdrowotnePomiejszajacaPodatek; podatek = Math.Round(podatek, 0, MidpointRounding.AwayFromZero); netto = brutto - skladkaNaubiezpiczenieZdrowotne - podatek; result.SalaryCosts.Add(new SalaryCost() { CostName = "ubezpieczenie zdrowotne", CostPercent = 2.45M, CostValue = skladkaNaubiezpiczenieZdrowotne }); } else { podatek = dochodDoOpadatkowania * 0.18M; podatek = Math.Round(podatek, 0, MidpointRounding.AwayFromZero); netto = brutto - podatek; } result.GrossSalary = brutto; result.NetSalary = netto; result.SalaryCosts.Add(new SalaryCost() { CostName = "zaliczka na PIT", CostValue = podatek }); } if (umowa.SalaryFrom.Equals(SalaryFrom.Net)) { if (umowa.HealthInsurance == false) { var netto = umowa.Salary; result.NetSalary = umowa.Salary; result.GrossSalary = Math.Round(umowa.Salary / 0.856M, 2); if (umowa.HigherCostOfGettingIncome == 50) { result.GrossSalary = Math.Round(umowa.Salary / 0.91M, 2); } var podatek = result.GrossSalary - result.NetSalary; podatek = Math.Round(podatek, 0); result.SalaryCosts.Add(new SalaryCost() { CostName = "zaliczka na PIT", CostValue = podatek }); } if (umowa.HealthInsurance == true) { var netto = umowa.Salary; result.NetSalary = umowa.Salary; result.GrossSalary = Math.Round(umowa.Salary / 0.8435M, 2); if (umowa.HigherCostOfGettingIncome == 50) { result.GrossSalary = Math.Round(umowa.Salary / 0.8975M, 2); } var ubezpiecznieZdrowotne = Math.Round(result.GrossSalary * 0.09M, 2); var podatek = result.GrossSalary - result.NetSalary - ubezpiecznieZdrowotne; podatek = Math.Round(podatek, 0); result.SalaryCosts.Add(new SalaryCost() { CostName = "zaliczka na PIT", CostValue = podatek //poprawić podatek z funkcji brutto zwracanie }); result.SalaryCosts.Add(new SalaryCost() { CostName = "ubezpieczenie zdrowotne", CostValue = ubezpiecznieZdrowotne }); } } return(result); }
public ContractTypeController(IContractType _IContractType) { this._IContractType = _IContractType; }
/// <summary> /// AddContractType的构造函数,专为测试提供 /// </summary> public AddContractType(ContractType contractType, IContractType dalContractType) { _ContractType = contractType; _DalContractType = dalContractType; }
public GetContractType(IContractType mockParameter) { _dalContractType = mockParameter; }
public ContractTypeVaildater(IContractType itsView) { _ItsView = itsView; }
public SalaryCalculator(IContractType emplorSalry) { EmplorSalary = emplorSalry; }
public ContractTypeDataCollector(IContractType itsView) { _ItsView = itsView; }
/// <summary> /// 合同类型构造函数 /// </summary> /// <param name="contractType"></param> /// <param name="dalContractType"></param> public UpdateContractType(ContractType contractType, IContractType dalContractType) { _ContractType = contractType; _DalContractType = dalContractType; }
public AddContractTypePresenter(IContractType itsView) { _ItsView = itsView; AttachViewEvent(); }
public ContractTypeIniter(IContractType itsView) { _ItsView = itsView; }