public static ReturnObject DoAction(int action, string comments, string selected_rows) { compoff_approve page_object = new compoff_approve(); DBConnection db_connection = new DBConnection(); DataTable Compoff_data = new DataTable(); ReturnObject return_object = new ReturnObject(); string empid = string.Empty, Query = string.Empty, From = string.Empty, Todate = string.Empty, Remarks = string.Empty; int No_of_days = 0, last_flag = 0; List <string> selected_manual_punch = JsonConvert.DeserializeObject <List <string> >(selected_rows); string query = string.Empty, retrn_message = string.Empty, Comp_Off_status = string.Empty; long Comp_Off_id = 0; if (HttpContext.Current.Session["username"] == null) { return_object = page_object.DoLogout(); } else { try { switch (action) { case 2: Comp_Off_status = "Approved"; break; case 3: Comp_Off_status = "Declined"; break; case 4: Comp_Off_status = "Cancelled"; break; } for (int i = 0; i < selected_manual_punch.Count; i++) { Comp_Off_id = Convert.ToInt64(selected_manual_punch[i].ToString()); Query = "select * From compoffdetails where compoff_id='" + Comp_Off_id + "'"; Compoff_data = db_connection.ReturnDataTable(Query); empid = Compoff_data.Rows[0]["EMPID"].ToString(); From = Compoff_data.Rows[0]["FromDate"].ToString(); Todate = Compoff_data.Rows[0]["ToDate"].ToString(); Remarks = Compoff_data.Rows[0]["Remarks"].ToString(); last_flag = Convert.ToInt32(Compoff_data.Rows[0]["Flag"].ToString()); if (last_flag == 2 && action == 3) { retrn_message += "Comp Off already Approved, you can't decline it."; } else if (last_flag == 3 && action == 2) { retrn_message += "Comp Off already Declined, you can't approve it."; } else if (last_flag == action) { retrn_message += "Comp Off already " + Comp_Off_status; } else { page_object.updatecompoff(empid, action, Comp_Off_id, No_of_days, comments); page_object.sendMail(empid, From, Todate, Remarks, Comp_Off_status); retrn_message = "Comp off status updated successfully!"; } } return_object.status = "success"; return_object.return_data = retrn_message; } catch (Exception ex) { Logger.LogException(ex, page, "UPDATE_COMPOFF_APPROVAL_STATUS"); return_object.status = "error"; return_object.return_data = "An error occurred while updating Leave Approval Status. Please try again. If the error persists, please contact Support."; } finally { page_object.Dispose(); } } return(return_object); }