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); } }
private void FillGrid(DateTime Start, DateTime End) { dsSalary ds = new dsSalary(); dsSalaryTableAdapters.SalaryTableAdapter taSalary = new dsSalaryTableAdapters.SalaryTableAdapter(); DataTable dt = taSalary.GetDataByDates(Start.ToString(), End.ToString()); grdSalary.Rows.Clear(); grdSalary.AutoGenerateColumns = false; int SrNo = 0; foreach (DataRow item in dt.Rows) { SrNo++; DateTime date = Convert.ToDateTime(item[1].ToString()); string Year = date.Year.ToString(); string Month = date.ToString("MMMM"); grdSalary.Rows.Add(item[0], SrNo, Month, Year, item[2].ToString()); } tbxCount.Text = SrNo.ToString(); }