public bool CheckLeaveStatus(int empid, DateTime date) { bool temp = false; int totalleave = 0; string qry = "select joining from profile where profileid=@id"; MySqlParameter idP = new MySqlParameter("@id", empid); DataRow dr = MySqlHelper.ExecuteDataRow(Common.GetConnectionString(), qry, idP); if (dr != null) { DateTime joiningdate = Convert.ToDateTime(dr["joining"]); int legaldate = joiningdate.Day; if (legaldate <= 15) { totalleave += 2; } else { totalleave += 0; } //TimeSpan t1 = date - joiningdate; int monthspassed = Common.MonthDifference(date, joiningdate); if (monthspassed > 3)//then he is allowd to take leave { int startmonth = joiningdate.Month + 1; int endmonth = date.Month; int monthdiffernce = endmonth - startmonth; if (monthdiffernce > 24) { monthdiffernce = 24; } int leaves = (monthdiffernce) * 2; int allowedleaves = leaves + totalleave; int availablelaves = allowedleaves - LeaveTaken(empid); if (availablelaves > 0) { temp = true; } } DateTime previousdate = date.AddYears(-2); } return temp; } public void AddLeaves(int empid, DateTime date, string status) { if (status == "L") { string qry = "insert into leavestatus(empid,takenon)values(@empid,@takenon)"; MySqlParameter idP = new MySqlParameter("@empid", empid); MySqlParameter takenonP = new MySqlParameter("@takenon", date); MySqlParameter[] p = { idP, takenonP }; MySqlHelper.ExecuteNonQuery(Common.GetConnectionString(), qry, p); } }