public object PostRequest([FromBody] LeaveRecClass recallObj)
        {
            string   startdate = recallObj.RecallDt;
            DateTime?startDt   = new CommonMethodsClass().ConvertStringToDate(startdate);

            if (DateTime.Now >= startDt || startDt == null)
            {
                return(new { Error = "Recall date must be greater than today's date" });
            }

            object[] varModifyMasterData = new object[8];
            varModifyMasterData[0] = recallObj.CompId;
            varModifyMasterData[1] = recallObj.GRqstID;
            varModifyMasterData[2] = recallObj.RecallEmp;
            varModifyMasterData[3] = recallObj.SpentDays;
            varModifyMasterData[4] = recallObj.AccountingYear;
            varModifyMasterData[5] = DateTime.Parse(recallObj.RecallDt).ToString("dd-MMM-yyyy");
            varModifyMasterData[6] = recallObj.UserId;
            varModifyMasterData[7] = DateTime.Now.ToString("dd-MMM-yyyy");

            int result = DataCreator.ExecuteProcedure("UPDATE_H_EMP_LV_RQST_R", varModifyMasterData);

            if (result == 0)
            {
                DataTable dt = LeaveRecObj.LvlRecallDays(recallObj.CompId, recallObj.RqstId, recallObj.RecallEmp, recallObj.AccountingYear, recallObj.LvGrp, recallObj.LvCode);

                int unspent = 0;
                if (dt.Rows.Count > 0)
                {
                    unspent = int.Parse(dt.Rows[0]["DateTo"].ToString());
                }

                object[] varModifyData = new object[8];
                varModifyData[0] = recallObj.CompId;
                varModifyData[1] = recallObj.LvGrp;
                varModifyData[2] = recallObj.RecallEmp;
                varModifyData[3] = int.Parse(recallObj.OldDuration) - int.Parse(recallObj.SpentDays);
                varModifyData[4] = recallObj.AccountingYear;
                varModifyData[5] = recallObj.LvCode;
                varModifyData[6] = recallObj.UserId;
                varModifyData[7] = DateTime.Now.ToString("dd-MMM-yyyy");

                result = DataCreator.ExecuteProcedure(" UPDATE_H_EMP_LV_RMN_DAYS_R", varModifyData);
            }

            string error;

            if (result == 0)
            {
                error = "";
            }
            else
            {
                error = "Error Saving Records";
            }

            var response = new { Error = error };

            return(response);
        }
        public object PostRequest([FromBody] AbsenteeismReq requestObj)
        {
            try
            {
                string   startdate = requestObj.DateStr;
                DateTime?startDt   = new CommonMethodsClass().ConvertStringToDate(startdate);
                if (DateTime.Now >= startDt || startDt == null)
                {
                    return(new { Error = "Request date must be greater than today's date" });
                }

                object[] reqInsertPara = new object[5];

                //  DateTime myDate = DateTime.Parse(requestObj.DateStr).ToString("dd-MMM-yyyy");

                reqInsertPara[0] = int.Parse(requestObj.EmployeeNo);
                reqInsertPara[1] = DateTime.Parse(requestObj.DateStr).ToString("dd-mmm-yyyy");
                reqInsertPara[2] = requestObj.Reason.ToUpper();
                reqInsertPara[3] = requestObj.UserId;
                reqInsertPara[4] = requestObj.CompId;

                int resultInt = DataCreator.ExecuteProcedure("INSERT_H_EMPLYE_ABSENTEESM", reqInsertPara);

                string error;
                if (resultInt == 0)
                {
                    error = "";
                }
                else
                {
                    error = "Error Saving Records";
                }

                var response = new { Error = error };
                return(response);
            }

            catch (Exception ex)
            {
                ex.Log();
                throw;
            }
        }
示例#3
0
        private void Button1_Click(object sender, EventArgs e)
        {
            textBox5.Text = "";

            if (textBox1.Text != "" &&
                textBox2.Text != "" &&
                textBox3.Text != "" &&
                textBox4.Text != "")
            {
                button1.Enabled = false;

                CommonMethodsClass commonMethods = new CommonMethodsClass(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5);
                commonMethods.SetupApi();
                commonMethods.GetRawTestCasesResult(textBox4.Text);
                commonMethods.SaveTestCasesIntoExcelFile();

                button1.Enabled = true;
                textBox5.AppendText("---Done---");
            }
        }
示例#4
0
        public object PostRequest([FromBody] LeaveExtClass extObj)
        {
            string   startdate = extObj.ToDate;
            DateTime?startDt   = new CommonMethodsClass().ConvertStringToDate(startdate);

            if (DateTime.Now >= startDt || startDt == null)
            {
                return(new { Error = "Extended date must be greater than today's date" });
            }

            DataTable otherInfoDt = LeaveExtObj.GetOtherRequestInfo(extObj.CompId, extObj.PrevReqId);

            LeaveRequestController rqstContrlObj = new LeaveRequestController();
            var lvlReqObj = new LeaveRequestController.LeaveReqClass();

            lvlReqObj.AccountingYear  = extObj.AccountingYear;
            lvlReqObj.Allowance       = DBNull.Value.Equals(otherInfoDt.Rows[0]["RQS_LV_ALLW"]) ? "" : otherInfoDt.Rows[0]["RQS_LV_ALLW"].ToString();
            lvlReqObj.CompId          = extObj.CompId;
            lvlReqObj.Duration        = extObj.Duration;
            lvlReqObj.EmployeeNo      = extObj.EmployeeNo;
            lvlReqObj.EnddateStr      = extObj.ToDate;
            lvlReqObj.LvCode          = extObj.LvCode;
            lvlReqObj.reason          = extObj.Reason;
            lvlReqObj.ReliefOfficer   = DBNull.Value.Equals(otherInfoDt.Rows[0]["LV_REL_OFF_NAME"]) ? "" : otherInfoDt.Rows[0]["LV_REL_OFF_NAME"].ToString();
            lvlReqObj.ReliefOfficerID = extObj.RelOfficerId;
            lvlReqObj.RemainingDays   = extObj.RemainingDays;
            string strtDate = DBNull.Value.Equals(otherInfoDt.Rows[0]["P_DATE_FROM"]) ? "" : otherInfoDt.Rows[0]["P_DATE_FROM"].ToString();

            strtDate = DateTime.Parse(strtDate).ToString("dd/MM/yyyy");
            lvlReqObj.StartdateStr = strtDate;
            lvlReqObj.UserId       = extObj.UserId;

            int newRqstId = 0;

            rqstContrlObj.NewRequestIdEvent += (s, intEv) =>
            {
                newRqstId = intEv;
            };

            dynamic status = rqstContrlObj.PostRequest(lvlReqObj, true);

            if (status.Error == "")
            {
                DataTable dv2 = LeaveExtObj.LeaveExtNum(extObj.CompId);

                int eReqNo;
                if (dv2.Rows.Count > 0)
                {
                    if (dv2.Rows[0]["ReqNum"] != DBNull.Value)
                    {
                        eReqNo = int.Parse(dv2.Rows[0]["ReqNum"].ToString()) + 1;
                    }
                    else
                    {
                        eReqNo = 1;
                    }
                }
                else
                {
                    eReqNo = 1;
                }

                object[] varInsertPara = new object[14];
                varInsertPara[0] = eReqNo;
                varInsertPara[1] = (int)double.Parse(extObj.ReqNo);
                varInsertPara[2] = int.Parse(extObj.EmployeeNo);
                varInsertPara[3] = extObj.AccountingYear;
                varInsertPara[4] = (int)double.Parse(extObj.LeaveGrp);
                varInsertPara[5] = extObj.LvCode;
                varInsertPara[6] = int.Parse(extObj.RemainingDays);
                varInsertPara[7] = int.Parse(extObj.Duration);
                string[] ToDate = extObj.ToDate.Split('/');
                varInsertPara[8]  = new DateTime(int.Parse(ToDate[2]), int.Parse(ToDate[1]), int.Parse(ToDate[0])).ToString("dd-MMM-yyyy");
                varInsertPara[9]  = "E";
                varInsertPara[10] = extObj.Reason;
                varInsertPara[11] = extObj.UserId;
                varInsertPara[12] = extObj.CompId;
                varInsertPara[13] = newRqstId;

                int result = DataCreator.ExecuteProcedure("INSERT_H_EMP_LV_Extension2", varInsertPara);

                if (result != 0)
                {
                    status.Error = "Error Saving Extension Records";
                }
            }

            return(status);
        }
示例#5
0
        public object PostRequest([FromBody] LeaveReqClass requestObj, bool isExtension = false)
        {
            string   startdate = requestObj.StartdateStr;
            DateTime?startDt   = new CommonMethodsClass().ConvertStringToDate(startdate);

            if (DateTime.Now >= startDt || startDt == null)
            {
                return(new { Error = "Start date must be greater than today's date" });
            }

            object[] varAnnualLv         = new object[6];
            object[] varCasualLv         = new object[6];
            object[] varInsertPara       = new object[18];
            object[] varInsertRemainData = new object[7];
            object[] varModifyPara       = new object[18];
            object[] varEnginePara       = new object[5];


            int    intRqstID;
            int    IntResult;
            int    IntResultRow;
            string strApprovrEmail, strRqstrEmail, strRqstEmp, strSubject;
            int    intCheckLvDepends = 0;
            string strAnnlLvCode     = "";
            string strLvCode;
            int    intLvRec;
            int    intRes;
            int    intApprEmpID;
            string StrQuery;

            try
            {
                int       LeaveGrp;
                DataTable dvx = LeaveReqObj.ChkLeaveGroup(requestObj.CompId, int.Parse(requestObj.EmployeeNo));
                if (dvx.Rows.Count > 0)
                {
                    LeaveGrp = int.Parse(dvx.Rows[0]["LvGrpCode"].ToString());
                }
                else
                {
                    LeaveGrp = 0;
                }

                int nReqNo;

                DataTable dv = LeaveReqObj.SLeaveReqTypeDtl(requestObj.CompId, requestObj.LvCode);

                if (dv.Rows.Count > 0)
                {
                    for (int II = 0; II < dv.Rows.Count; II++)
                    {
                        if (dv.Rows[II]["ANL"] != DBNull.Value)
                        {
                            intCheckLvDepends = int.Parse(dv.Rows[II]["ANL"].ToString());
                        }
                        if (dv.Rows[II]["h_leave_code"] != DBNull.Value)
                        {
                            strAnnlLvCode = dv.Rows[II]["h_leave_code"].ToString();
                        }
                        intCheckLvDepends = !DBNull.Value.Equals(dv.Rows[II]["ANL"]) ? 1 : 1;
                    }
                }
                if (intCheckLvDepends == 1)
                {
                    strLvCode = strAnnlLvCode;
                }
                else
                {
                    strLvCode = requestObj.LvCode;
                }

                DataTable dv1 = LeaveReqObj.SLeaveReqAutoNum(requestObj.CompId, requestObj.AccountingYear, requestObj.EmployeeNo, requestObj.LvCode);

                if (dv1.Rows.Count == 0)
                {
                    intLvRec = 1;
                }
                else
                {
                    intLvRec = 0;
                }

                //Select Maximun Request Number And Increment For this Request
                DataTable dv2 = LeaveReqObj.SLeaveReqNum(requestObj.CompId);
                if (dv2.Rows.Count > 0)
                {
                    if (dv2.Rows[0]["ReqNum"] != DBNull.Value)
                    {
                        nReqNo = int.Parse(dv2.Rows[0]["ReqNum"].ToString()) + 1;
                    }
                    else
                    {
                        nReqNo = 1;
                    }
                }
                else
                {
                    nReqNo = 1;
                }

                varInsertPara[0] = nReqNo;
                varInsertPara[1] = requestObj.EmployeeNo;     // Session("HEMP_EMPLYE_NMBR");
                varInsertPara[2] = requestObj.AccountingYear; //Session("acc_year");
                varInsertPara[3] = LeaveGrp;                  //Leave Grp
                varInsertPara[4] = requestObj.LvCode;         //lblLeave.Text;
                varInsertPara[5] = requestObj.RemainingDays;  // CInt(txtRDays.Text) ;
                varInsertPara[6] = requestObj.Duration;       // CInt(txtDuration1.Text);
                string[] strtDate = requestObj.StartdateStr.Split('/');
                varInsertPara[7] = new DateTime(int.Parse(strtDate[2]), int.Parse(strtDate[1]), int.Parse(strtDate[0])).ToString("dd-MMM-yyyy");
                //varInsertPara[7] = DateTime.Parse(requestObj.StartdateStr).ToString("dd-MMM-yyyy");    // DateTime.Parse(Trim(txtStartDt.Text)).ToString("dd-MMM-yyyy");
                string[] EndDate = requestObj.EnddateStr.Split('/');
                varInsertPara[8] = new DateTime(int.Parse(EndDate[2]), int.Parse(EndDate[1]), int.Parse(EndDate[0])).ToString("dd-MMM-yyyy");
                // varInsertPara[8] = DateTime.Parse(requestObj.EnddateStr).ToString("dd-MMM-yyyy");  // DateTime.Parse(Trim(txtEndDt.Text)).ToString("dd-MMM-yyyy");
                varInsertPara[9]  = requestObj.reason;    //     UCase(txtReason.Text);
                varInsertPara[10] = requestObj.Allowance; // IIf(chkAllowance.Checked = True, "Y", "N");
                varInsertPara[11] = "";
                varInsertPara[12] = "";
                varInsertPara[13] = "R";
                varInsertPara[14] = requestObj.UserId; //Session("UName");
                varInsertPara[15] = requestObj.CompId; // Session("Company_CODE");
                varInsertPara[16] = requestObj.ReliefOfficerID;
                varInsertPara[17] = requestObj.ReliefOfficer;

                IntResult = DataCreator.ExecuteProcedure("INSERT_SS_H_EMP_LV_RQST", varInsertPara);

                varCasualLv[0] = varInsertPara[1];
                varCasualLv[1] = varInsertPara[3];
                varCasualLv[2] = varInsertPara[4];
                varCasualLv[3] = varInsertPara[5];

                //To be looked at later(What is this used for)
                //IntResult = DataCreator.ExecuteProcedure("UPDATE_CASUAL_LV", varCasualLv);

                if (IntResult == 0)
                {
                    if ((IntResult == 0 && intCheckLvDepends == 0 && intLvRec == 1) || (IntResult == 0 && intCheckLvDepends == 1 && intLvRec == 1))
                    {
                        varInsertRemainData[0] = requestObj.AccountingYear; // Session("acc_year");
                        varInsertRemainData[1] = requestObj.EmployeeNo;     //Session("HEMP_EMPLYE_NMBR");
                        varInsertRemainData[2] = LeaveGrp;                  // Val(lblLvGrp.Text);
                        varInsertRemainData[3] = requestObj.LvCode;         //lblLvCode.Text ;    //' Trim(cboH_LV_DESC.Value)
                        varInsertRemainData[4] = requestObj.RemainingDays;  // IIf((txtRDays.Text = ""), "", Val(txtRDays.Text)) ; // 'Val(lblRmNoOfDays)
                        varInsertRemainData[5] = requestObj.UserId;         //Trim(Session("Username"));
                        varInsertRemainData[6] = requestObj.CompId;         //Session("Company_CODE");

                        IntResult = DataCreator.ExecuteProcedure("INSERT_H_EMP_LV_RMN_DAYS", varInsertRemainData);
                    }

                    else if (intCheckLvDepends == 0 && strLvCode != requestObj.LvCode)
                    {
                        varInsertRemainData[0] = requestObj.AccountingYear; //Session("acc_year");
                        varInsertRemainData[1] = requestObj.EmployeeNo;     // Session("HEMP_EMPLYE_NMBR");
                        varInsertRemainData[2] = LeaveGrp;                  // Val(lblLvGrp.Text);
                        varInsertRemainData[3] = requestObj.LvCode;         //lblLvCode.Text;
                        varInsertRemainData[4] = requestObj.RemainingDays;  //IIf((txtRDays.Text = ""), "", Val(txtRDays.Text));
                        varInsertRemainData[5] = requestObj.UserId;         // Trim(Session("Username"));
                        varInsertRemainData[6] = requestObj.CompId;         //Session("Company_CODE");

                        IntResult = DataCreator.ExecuteProcedure("INSERT_H_EMP_LV_RMN_DAYS", varInsertRemainData);
                    }

                    DataTable dv3 = LeaveReqObj.SLeaveReqNumPer(requestObj.CompId, nReqNo, requestObj.EmployeeNo);

                    //'StrQuery = "SELECT  RQST_ID FROM H_EMP_LV_RQST WHERE COMP_AID ='" & Session("Company_CODE") & "' AND H_RQSN_NMBR=" & nReqNo & " AND H_EMPLYE_NMBR=" & Session("gsEmpNo")
                    //'dsReqst = GetDisConnectedDataset(StrQuery)

                    if (dv3.Rows.Count != 0)
                    {
                        intRqstID = int.Parse(dv3.Rows[0]["RQST_ID"].ToString());
                        NewRequestIdEvent?.Invoke(this, intRqstID);

                        varEnginePara[0] = requestObj.CompId; //Session("Company_CODE");
                        varEnginePara[1] = "LVR";
                        varEnginePara[2] = intRqstID;
                        varEnginePara[3] = requestObj.EmployeeNo; // Session("HEMP_EMPLYE_NMBR");
                        varEnginePara[4] = 0;

                        IntResult = DataCreator.ExecuteProcedure("REQUEST_PROCESS", varEnginePara);

                        if (IntResult != 0)
                        {
                            //'Delete The Application Record IF Request Processing Engine fails.
                            //'This will Make The Request Not Hanging Thereby Preventing The Employee
                            //'From Making Future Applications

                            StrQuery = "DELETE H_EMP_LV_RQST WHERE COMP_AID='" + requestObj.CompId + "' AND RQST_ID=" + intRqstID;
                            DataCreator.ExecuteSQL(StrQuery);
                        }
                        else
                        {
                            //    StrQuery = "UPDATE SS_APPROVAL_EMPLOYEES SET APPR_EMP_AID = '" + varInsertPara[16] + "' WHERE RQST_ID = " + intRqstID;
                            //    IntResultRow = DataCreator.ExecuteSQL(StrQuery);
                            object[] updateSsApprEmp = new object[4];
                            updateSsApprEmp[0] = requestObj.CompId;
                            updateSsApprEmp[1] = intRqstID;
                            updateSsApprEmp[2] = varInsertPara[16];
                            updateSsApprEmp[3] = requestObj.UserId;

                            IntResultRow = DataCreator.ExecuteProcedure("UPDATE_SS_REQ_APPROVAL_RLF", updateSsApprEmp);


                            DataTable dv4 = LeaveReqObj.LeaveApprovalList(intRqstID, requestObj.CompId);

                            if (dv4.Rows.Count > 0)
                            {
                                for (int ii = 0; ii < dv4.Rows.Count; ii++)
                                {
                                    intApprEmpID    = DBNull.Value.Equals(dv4.Rows[ii]["appr_emp_aid"]) ? 0 : int.Parse(dv4.Rows[ii]["appr_emp_aid"].ToString());     //CInt(IIf(IsDBNull(dv4.Item(i).Item("appr_emp_aid")), 0, dv4.Item(i).Item("appr_emp_aid")));
                                    strApprovrEmail = DBNull.Value.Equals(dv4.Rows[ii]["apprvr_email"]) ? "" : dv4.Rows[ii]["apprvr_email"].ToString();               //IIf(IsDBNull(dv4.Item(i).Item("apprvr_email")), "", dv4.Item(i).Item("apprvr_email"));
                                    strRqstrEmail   = DBNull.Value.Equals(dv4.Rows[ii]["rqstr_email"]) ? "NEPTUNEHR" : dv4.Rows[ii]["rqstr_email"].ToString().Trim(); // Trim(IIf(IsDBNull(dv4.Item(i).Item("rqstr_email")), "NEPTUNEHR", dv4.Item(i).Item("rqstr_email")));
                                    strRqstEmp      = DBNull.Value.Equals(dv4.Rows[ii]["requester"]) ? "" : dv4.Rows[ii]["requester"].ToString().Trim();              // Trim(IIf(IsDBNull(dv4.Item(i).Item("requester")), "", dv4.Item(i).Item("requester")));

                                    strSubject = "Leave";

                                    string reqType = "Request";
                                    if (isExtension)
                                    {
                                        reqType = "Extension";
                                    }
                                    string messageBody = strRqstEmp + "'s " + strSubject + " Your Leave " + reqType + " Has Been Submitted For '" + requestObj.Duration +
                                                         "'Day(s). To Commence On '" + requestObj.StartdateStr + "'. Your Resumption Date Is On '" + requestObj.EnddateStr + "' ";

                                    if (!string.IsNullOrEmpty(strApprovrEmail))
                                    {
                                        //'Call MailRoutines(strRqstrEmail, strApprovrEmail, strSubject, strRqstEmp & "'s " & strSubject & " your loan or leave request has been approved", Session("Company_CODE"))
                                        MailRoutines(strApprovrEmail, strSubject, messageBody, requestObj.CompId);
                                    }

                                    //Sends Information to WorkFlow Viewer
                                    //intRes = SendAlerts(Session("Company_CODE"), Session("UName"), intApprEmpID, strRqstEmp & "'s " & strSubject & " Your Leave Request Has Been Submitted For '" & txtDuration1.Text & "'Day(s). To Commence On '" & txtStartDt.Text & "' And Ends On '" & Val(txtEndDt.Text) - 1 & "'. Your Resumption Date Is On '" & txtEndDt.Text & "'", 12)
                                    intRes = SendAlerts(requestObj.CompId, requestObj.UserId, intApprEmpID, strRqstEmp + "'s " + strSubject + " " + reqType +
                                                        " awaits your attention. Kindly visit the Self Service Leave approval page to approve it", "Approvals", 12, intRqstID);
                                    //intRes = DismissAlert(requestObj.CompId,0,requestObj.UserId);

                                    new NotificationController().SendNotification(requestObj.CompId, intRqstID, requestObj.ReliefOfficerID, requestObj.UserId, strSubject,
                                                                                  strRqstEmp + "'s " + strSubject + " " + reqType + "  awaits your attention. Kindly visit the WorkList Viewer to approve it");

                                    ////'To send Alert To Alert Table
                                    //intRes = SendAlerts2(requestObj.CompId, requestObj.UserId, intApprEmpID, strRqstEmp + "'s " + strSubject + " " + reqType +
                                    //    " awaits your attention, kindly visit the Self Service Leave approval page to approve it", "Approvals", 12, intRqstID);

                                    intRes = SendAlerts2(requestObj.CompId, requestObj.UserId, int.Parse(requestObj.EmployeeNo), strRqstEmp + ": " + "Your Leave " +
                                                         reqType + " has been Submitted", "Approvals", 12, intRqstID);
                                }
                            }
                        }
                    }
                    else
                    {
                        IntResult = 1;      //error condition
                    }
                }

                string error;
                if (IntResult == 0)
                {
                    error = "";
                }
                else
                {
                    error = "Error Saving Records";
                }

                var response = new { Error = error };
                return(response);
            }
            catch (Exception ex)
            {
                ex.Log();
                throw new ExternalException();
            }
        }
示例#6
0
        public object PostRequest([FromBody] MedRequestClass requestObj)
        {
            try
            {
                string   startdate = requestObj.DateStr;
                DateTime?startDt   = new CommonMethodsClass().ConvertStringToDate(startdate);
                if (DateTime.Now >= startDt || startDt == null)
                {
                    return(new { Error = "Request date must be greater than today's date" });
                }

                object    response;
                DataTable lastNumDt = MedReqObj.GetLastReqNo(requestObj.CompId);
                int       newNo     = int.Parse(lastNumDt.Rows[0]["MAXVAL"].ToString()) + 1;
                string    newReqNo  = "RQ" + new CommonMethodsClass().ZeroPad(newNo + "");

                object[] reqInsertPara = new object[9];
                reqInsertPara[0] = newReqNo;
                reqInsertPara[1] = requestObj.EmployeeNo;
                reqInsertPara[2] = requestObj.HospitalId;
                reqInsertPara[3] = DateTime.Parse(requestObj.DateStr).ToString("dd-MMM-yyyy");
                reqInsertPara[4] = requestObj.Reason.ToUpper();
                reqInsertPara[5] = "R";
                reqInsertPara[6] = "";
                reqInsertPara[7] = requestObj.UserId;
                reqInsertPara[8] = requestObj.CompId;

                int resultInt = DataCreator.ExecuteProcedure("insert_h_mdcl_rsqt", reqInsertPara);

                if (resultInt == 0)
                {
                    DataTable medReqIdDt = MedReqObj.GetMedicalReqId(requestObj.CompId, newReqNo, requestObj.EmployeeNo);
                    if (medReqIdDt.Rows.Count != 0)
                    {
                        int requestId = int.Parse(medReqIdDt.Rows[0]["VAL"].ToString());

                        object[] reqProc = new object[5];
                        reqProc[0] = requestObj.CompId;
                        reqProc[1] = "MDR";
                        reqProc[2] = requestId;
                        reqProc[3] = requestObj.EmployeeNo;
                        reqProc[4] = 1;

                        resultInt = DataCreator.ExecuteProcedure("REQUEST_PROCESS", reqProc);

                        if (resultInt != 0)
                        {
                            string delQuery = "DELETE H_MDCL_RSQT WHERE COMP_AID='" + requestObj.CompId + "' AND RQST_ID=" + requestId;
                            DataCreator.ExecuteSQL(delQuery);
                        }
                        else
                        {
                            DataTable medReqApprDt = MedReqObj.GetMedicalRequestAppraisal(requestObj.CompId, requestId + "");

                            if (medReqApprDt.Rows.Count > 0)
                            {
                                for (int i = 0; i < medReqApprDt.Rows.Count; i++)
                                {
                                    int    intApprEmpID    = DBNull.Value.Equals(medReqApprDt.Rows[i]["appr_emp_aid"]) ? 0 : int.Parse(medReqApprDt.Rows[i]["appr_emp_aid"].ToString());
                                    string strApprovrEmail = DBNull.Value.Equals(medReqApprDt.Rows[i]["apprvr_email"]) ? "NILEBANKHR" : medReqApprDt.Rows[i]["apprvr_email"].ToString();
                                    string strRqstEmp      = DBNull.Value.Equals(medReqApprDt.Rows[i]["requester"]) ? "" : medReqApprDt.Rows[i]["requester"].ToString().Trim();
                                    string strSubject      = "Medical";
                                    string messageBody     = strRqstEmp + "'s " + strSubject +
                                                             " request awaits your attention, kindly visit the Self Service Medical Approval page to handle request";

                                    if (strApprovrEmail != "")
                                    {
                                        new CommonMethodsClass().MailRoutines(strApprovrEmail, strSubject, messageBody, requestObj.CompId);
                                    }

                                    new NotificationController().SendNotification(requestObj.CompId, requestId, intApprEmpID, requestObj.UserId, strSubject,
                                                                                  strRqstEmp + "'s " + strSubject + " request awaits your attention. Kindly visit the WorkListViewer to approve it");

                                    new CommonMethodsClass().SendAlerts(requestObj.CompId, requestObj.UserId, intApprEmpID, messageBody, "Approvals", 16, requestId);
                                }
                            }
                        }
                    }
                    else
                    {
                        resultInt = 1;      //error condition
                    }
                }

                string error;
                if (resultInt == 0)
                {
                    error = "";
                }
                else
                {
                    error = "Error Saving Records";     //"Not Provisioned For User";
                }
                response = new { Error = error };

                return(response);
            }

            catch (Exception ex)
            {
                ex.Log();
                throw new ExternalException();
            }
        }