Exemple #1
0
 /// <summary>
 /// 删除合同类型,测试用
 /// </summary>
 public DeleteContractType(int contractTypeId, IContractType dalContractType, IContract dalContract, IContractBookMark dalContractBookMark)
 {
     _ContractTypeId   = contractTypeId;
     _DalContractType  = dalContractType;
     _DalContract      = dalContract;
     _ContractBookMark = dalContractBookMark;
 }
Exemple #2
0
 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);
 }
Exemple #3
0
 /// <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;
 }
Exemple #4
0
 public ContractBuilder TypeOfContract(TypeOfContract contract)
 {
     if (SalaryCalculators.TypeOfContract.UmowaZlecenie == contract)
     {
         result = new UmowaZlecenie();
     }
     else if (SalaryCalculators.TypeOfContract.UmowaODzielo == contract)
     {
         result = new UmowaODzielo();
     }
     return(this);
 }
Exemple #5
0
 public ContractBuilder TypeOfContract(string contract)
 {
     //if (contract == "uop")
     //    result = ;
     if (contract == "uz")
     {
         result = new UmowaZlecenie();
     }
     else if (contract == "uod")
     {
         result = new UmowaODzielo();
     }
     return(this);
 }
Exemple #6
0
        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;
 }
Exemple #8
0
        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;
 }
Exemple #11
0
 public GetContractType(IContractType mockParameter)
 {
     _dalContractType = mockParameter;
 }
Exemple #12
0
 public ContractTypeVaildater(IContractType itsView)
 {
     _ItsView = itsView;
 }
Exemple #13
0
 public SalaryCalculator(IContractType emplorSalry)
 {
     EmplorSalary = emplorSalry;
 }
Exemple #14
0
 public ContractTypeDataCollector(IContractType itsView)
 {
     _ItsView = itsView;
 }
Exemple #15
0
 /// <summary>
 /// 合同类型构造函数
 /// </summary>
 /// <param name="contractType"></param>
 /// <param name="dalContractType"></param>
 public UpdateContractType(ContractType contractType, IContractType dalContractType)
 {
     _ContractType    = contractType;
     _DalContractType = dalContractType;
 }
Exemple #16
0
 public AddContractTypePresenter(IContractType itsView)
 {
     _ItsView = itsView;
     AttachViewEvent();
 }
 public ContractTypeIniter(IContractType itsView)
 {
     _ItsView = itsView;
 }