示例#1
0
        public override float GetSalary(DateTime customDate)
        {
            float salary = 0.00f, baseSalary;

            baseSalary = SQLiteDataAccess.GetBaseSalary(3);
            float    totalAllowance;
            TimeSpan span = customDate - this.employmentDate;

            if (span.Ticks > 0)
            {
                int workingYears = (new DateTime(1, 1, 1) + span).Year - 1;
                salary = baseSalary;
                if (workingYears > 35)
                {
                    salary = baseSalary + baseSalary * 0.35f;
                }
                else
                {
                    salary = baseSalary + baseSalary * 0.35f * workingYears;
                }
                if (!(subordinatesOfEveryLevel == null))
                {
                    salaryList = new List <float>();
                    List <float> salaryListForCounting = new List <float>();
                    for (int index = 0; index < subordinatesOfEveryLevel.Length; index++)
                    {
                        int id = subordinatesOfEveryLevel[index];
                        SQLiteDataAccess.MakeSecondWorker(id);
                        for (int subordinatesIndex = 0; subordinatesIndex < subordinates.Length / 2; subordinatesIndex++)
                        {
                            if (int.Parse(subordinates[subordinatesIndex, 0]) == id)
                            {
                                salaryList.Add(SQLiteDataAccess.secondPerson.Salary);
                            }
                        }
                        salaryListForCounting.Add(SQLiteDataAccess.secondPerson.Salary);
                    }
                    salary += (salaryListForCounting.Sum() * 0.005f);
                }
                salary = (float)Math.Round(salary, 2);
            }

            return(salary);
        }
示例#2
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            label2.Text = SQLiteDataAccess.person.Salary + " руб.";

            float salarySum    = 0.00f;
            int   entriesCount = SQLiteDataAccess.GetEntriesCount();

            for (int index = 0; index < entriesCount; index++)
            {
                SQLiteDataAccess.MakeSecondWorker(index + 1);
                salarySum += SQLiteDataAccess.secondPerson.Salary;
            }
            label5.Text = salarySum + " руб.";
            if (SQLiteDataAccess.person is Manager || SQLiteDataAccess.person is Salesman)
            {
                string[,] subordinates = SQLiteDataAccess.person.Subordinates;
                for (int index = 0; index < subordinates.Length; index++)
                {
                    listBox1.Items.Add(subordinates[index, 1]);
                }
            }
        }
示例#3
0
        public override float GetSalary(DateTime customDate)
        {
            float salary = 0.00f, baseSalary;

            baseSalary = SQLiteDataAccess.GetBaseSalary(1);
            TimeSpan span = customDate - this.employmentDate;

            if (span.Ticks > 0)
            {
                int workingYears = (new DateTime(1, 1, 1) + span).Year - 1;
                salary = baseSalary;
                if (workingYears > 10)
                {
                    salary = baseSalary + baseSalary * 0.3f;
                }
                else
                {
                    salary = baseSalary + baseSalary * 0.03f * workingYears;
                }
                salary = (float)Math.Round(salary, 2);
            }

            return(salary);
        }
示例#4
0
 public string[,] GetSubordinates()
 {
     return(SQLiteDataAccess.GetSubordinates(this.id));
 }