public static string changeCompOffStatus(string jsonData) { DBConnection db_connection = new DBConnection(); Dictionary <string, string> return_data = new Dictionary <string, string>(); try { JObject json_data = JObject.Parse(jsonData); string employee_id = json_data["EmpID"].ToString(); string from_date = json_data["fromdate"].ToString(); string to_date = json_data["todate"].ToString(); string comments = json_data["remarks"].ToString(); int compoff_id = Convert.ToInt32(json_data["compoff_id"]); DateTime formatted_from_date = new DateTime(); DateTime formatted_to_date = new DateTime(); formatted_from_date = DateTime.ParseExact(from_date, "dd/MM/yyyy", CultureInfo.InvariantCulture); formatted_to_date = DateTime.ParseExact(to_date, "dd/MM/yyyy", CultureInfo.InvariantCulture); int number_of_days = (formatted_to_date - formatted_from_date).Days + 1; int flag = Convert.ToInt32(json_data["flag"]); compoff_approve page_object = new compoff_approve(); page_object.updatecompoff(employee_id, flag, compoff_id, number_of_days, comments); // string message = page_object.sendMail(jsonData); string message = ""; return_data.Add("status", "success"); return_data.Add("message", "Comp Off requested successfully" + message); page_object.Dispose(); } catch (Exception ex) { Logger.LogException(ex, page, "CHANGE_COMPOFF_STATUS"); return_data.Add("status", "error"); return_data.Add("message", "An error occurred while performing this operation. Please try again. If the error persists, please contact Support."); } return(JsonConvert.SerializeObject(return_data, Formatting.Indented)); }
public static ReturnObject GetCompOffData(int page_number, bool is_filter, string filters) { compoff_approve page_object = new compoff_approve(); DBConnection db_connection = new DBConnection(); ReturnObject return_object = new ReturnObject(); DataTable leave_listing = new DataTable(); DataTable branch_list_data = new DataTable(); DataTable CoManagerID_data = new DataTable(); string user_name = string.Empty, employee_id = string.Empty, query = string.Empty, CoManagerID = string.Empty, BranchList = string.Empty; int user_access_level = 0, start_row = 0, number_of_record = 0, IsDelegationManager = 0; try { user_name = HttpContext.Current.Session["username"].ToString(); employee_id = HttpContext.Current.Session["employee_id"].ToString(); user_access_level = Convert.ToInt32(HttpContext.Current.Session["access_level"]); start_row = (page_number - 1) * 30; number_of_record = page_number * 30 + 1; //check employee is Delegation Manager or not if so get his CoManagerID IsDelegationManager = Convert.ToInt32(db_connection.ExecuteQuery_WithReturnValueString("Select COUNT(DelidationManagerID) from TbAsignDelegation Where DelidationManagerID='" + employee_id + "' And DeliationStatus=1 and Convert(date,Getdate())>=Convert(date,Fromdate) And Convert(date,Getdate())<=Convert(date,Todate)")); if (IsDelegationManager > 0) { query = "Select ManagerId from TbAsignDelegation Where DelidationManagerID='" + employee_id + "' And DeliationStatus=1 and Convert(date,Getdate())>=Convert(date,Fromdate) And Convert(date,Getdate())<=Convert(date,Todate)"; CoManagerID_data = db_connection.ReturnDataTable(query); if (CoManagerID_data.Rows.Count > 0) { foreach (DataRow dr in CoManagerID_data.Rows) { CoManagerID += "'" + dr["ManagerId"] + "',"; } CoManagerID = CoManagerID.TrimEnd(','); } } //get list of branches assigned to logged in manager hr query = "Select BranchCode From TbManagerHrBranchMapping Where ManagerID='" + employee_id + "'"; branch_list_data = db_connection.ReturnDataTable(query); query = string.Empty; query = page_object.GetBaseQuery(); //read main query if (branch_list_data.Rows.Count > 0) { foreach (DataRow dr in branch_list_data.Rows) { BranchList += "'" + dr["BranchCode"] + "',"; } BranchList = BranchList.TrimEnd(','); } else { BranchList = "'Empty'"; } //Validate CoManagerID if (string.IsNullOrEmpty(CoManagerID)) { CoManagerID = "'Empty'"; } //modify query as per access level if (user_access_level == 0)//Admin { query += " "; } else if (user_access_level == 3)//HR { query += " and ( l.EmpID='" + employee_id + "' or e.Emp_Branch In(" + BranchList + ")) "; } else if (user_access_level == 1 && !string.IsNullOrEmpty(CoManagerID) && CoManagerID != "'Empty'")//Manager and CoManager { query += " and l.EmpID in ( select Emp_Code from EmployeeMaster where ((managerId in ('" + employee_id + "'," + CoManagerID + ") or Emp_Code='" + employee_id + "') and Emp_Status=1 ) or Emp_Branch in (" + BranchList + "))"; } else if (user_access_level == 1 && CoManagerID == "'Empty'")//Only Manager { query += " and l.EmpID in ( select Emp_Code from EmployeeMaster where ((managerId='" + employee_id + "' or Emp_Code='" + employee_id + "') and Emp_Status=1 ) or Emp_Branch in (" + BranchList + "))"; } else { query += " and 1=0";// Only Employee } if (is_filter) { query = page_object.GetFilterQuery(filters, query); } else { query += " and l.Flag=1 "; } query += " ) a where row > " + start_row + " and row < " + number_of_record; query += " order by a.fromdate desc"; leave_listing = db_connection.ReturnDataTable(query); return_object.status = "success"; return_object.return_data = JsonConvert.SerializeObject(leave_listing, Formatting.Indented); } catch (Exception Ex) { Logger.LogException(Ex, page, "GET_COMPOFF_DATA"); return_object.status = "error"; return_object.return_data = "An error occurred while loading Leave Type data. Please try again. If the error persists, please contact Support."; } return(return_object); }
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); }