Exemplo n.º 1
0
    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));
    }
Exemplo n.º 2
0
    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);
    }