예제 #1
0
        private void btnGenerate_Click(object sender, EventArgs e)
        {
            try
            {
                dsSalary ds = new dsSalary();
                dsSalaryTableAdapters.SalaryTableAdapter       taSalary       = new dsSalaryTableAdapters.SalaryTableAdapter();
                dsSalaryTableAdapters.SalaryDetailTableAdapter taSalaryDetail = new dsSalaryTableAdapters.SalaryDetailTableAdapter();
                dsSalaryTableAdapters.EmployeeTableAdapter     taEmployee     = new dsSalaryTableAdapters.EmployeeTableAdapter();
                dsSalaryTableAdapters.vSalaryFormTableAdapter  tavSalary      = new dsSalaryTableAdapters.vSalaryFormTableAdapter();
                var salary = ds.Salary.NewSalaryRow();
                taSalary.FillByDate(ds.Salary, currenrtMonth, currentYear);
                if (ds.Salary.Rows.Count > 0)
                {
                    MessageBox.Show("Salary Sheet for this Month Already Exist!");
                }
                else
                {
                    salary.SalaryDate = SmartManger.BAL.Common.DateNow();
                    salary.CreatedOn  = SmartManger.BAL.Common.DateNow();
                    ds.Salary.AddSalaryRow(salary);
                    taSalary.Update(salary);
                    RecordId = salary.SalaryId;
                    DataTable dt    = taEmployee.GetData();
                    int       empid = 0;
                    foreach (DataRow item in dt.Rows)
                    {
                        empid = Convert.ToInt32(item[0]);
                        var salaryDetail = ds.SalaryDetail.NewSalaryDetailRow();
                        salaryDetail.SalaryId   = RecordId;
                        salaryDetail.EmployeeId = Convert.ToInt32(item[0]);
                        salaryDetail.Salary     = Convert.ToDouble(item[1]);
                        salaryDetail.Absents    = Convert.ToInt32(tavSalary.GetAbsents(empid, First, Last));
                        salaryDetail.Presents   = Convert.ToInt32(tavSalary.GetPresents(empid, First, Last));
                        int workingdays = SalaryForm.GetNumberOfWorkingDays(Convert.ToDateTime(First), Convert.ToDateTime(Last));
                        salaryDetail.Leaves          = Convert.ToInt32(tavSalary.GetAL(empid, First, Last)) + Convert.ToInt32(tavSalary.GetCL(empid, First, Last)) + Convert.ToInt32(tavSalary.GetSL(empid, First, Last));
                        salaryDetail.AbsentDeduction = ((salaryDetail.Salary / workingdays) * salaryDetail.Absents);
                        salaryDetail.Total           = ((salaryDetail.Salary / workingdays) * salaryDetail.Presents) + ((salaryDetail.Salary / workingdays) * salaryDetail.Leaves);

                        ds.SalaryDetail.AddSalaryDetailRow(salaryDetail);
                        taSalaryDetail.Update(salaryDetail);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #2
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            dsSalary ds = new dsSalary();

            dsSalaryTableAdapters.SalaryDetailTableAdapter taSalryDetail = new dsSalaryTableAdapters.SalaryDetailTableAdapter();
            taSalryDetail.FillById(ds.SalaryDetail, detailId);
            var salarydetail = ds.SalaryDetail.NewSalaryDetailRow();

            if (ds.SalaryDetail.Rows.Count > 0)
            {
                salarydetail            = ds.SalaryDetail[0];
                salarydetail.Presents   = Convert.ToInt32(tbxPresent.Text);
                salarydetail.Absents    = Convert.ToInt32(tbxAbsents.Text);
                salarydetail.Leaves     = Convert.ToInt32(tbxLeaves.Text);
                salarydetail.Deductions = Convert.ToDouble(tbxOtherDeductions.Text);
                salarydetail.Total      = Convert.ToDouble(tbxTotalSalary.Text);

                taSalryDetail.Update(salarydetail);
            }
            MessageBox.Show("Record Updated Successfully!");
            this.Close();
        }