public int Saveuploadedleave(List <tbl_DeptLeaveRequest> dept)
        {
            int i = 0;
            List <tbl_DeptLeaveRequest> ErrorList = new List <tbl_DeptLeaveRequest>();

            try
            {
                List <Tuple <string, OracleDbType, int, object, ParameterDirection> > LstTupParameters = new List <Tuple <string, OracleDbType, int, object, ParameterDirection> >();
                Tuple <string, int> Returnstr = new Tuple <string, int>("Failed", 1);
                {
                    DALBase          obj = new DALBase(_config);
                    OracleConnection con;
                    OracleCommand    cmd;
                    con             = new OracleConnection(obj.DBConnection);
                    cmd             = new OracleCommand();
                    cmd.Connection  = con;
                    cmd.CommandText = "BCL_TEST_SAVE_MULTILEAVE_DEPTV";//BCL_SAVE_MULTIPLELEAVE_DEPT";
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Connection.Open();
                    cmd.ArrayBindCount = dept.Select(x => x.EmployeeID).ToArray().Length;
                    cmd.Parameters.Add(ConstantsVariables.P_FROMDATE, OracleDbType.NVarchar2, 1000);
                    cmd.Parameters[0].Value = dept.Select(x => x.FromDate).ToArray();
                    cmd.Parameters.Add(ConstantsVariables.P_TODATE, OracleDbType.NVarchar2, 1000);
                    cmd.Parameters[1].Value = dept.Select(x => x.ToDate).ToArray();
                    cmd.Parameters.Add(ConstantsVariables.P_LEAVECODE, OracleDbType.NVarchar2, 100);
                    cmd.Parameters[2].Value = dept.Select(x => x.LeaveCode).ToArray();
                    cmd.Parameters.Add("P_REMARK", OracleDbType.NVarchar2, 1000);
                    cmd.Parameters[3].Value = dept.Select(x => x.Remarks).ToArray();
                    cmd.Parameters.Add(ConstantsVariables.P_TOTALAPPLIEDLEAVE, OracleDbType.Decimal, 200);
                    cmd.Parameters[4].Value = dept.Select(x => x.TotalAppliedLeave).ToArray();
                    cmd.Parameters.Add(ConstantsVariables.P_EMPLOYEEID, OracleDbType.NVarchar2, 200);
                    cmd.Parameters[5].Value = dept.Select(x => x.EmployeeID).ToArray();
                    cmd.Parameters.Add("P_RETURNVALUE", OracleDbType.Int32, 20);
                    cmd.Parameters[6].Value = null;
                    cmd.Parameters.Add(ConstantsVariables.P_FILENAME, OracleDbType.NVarchar2, 1000);
                    cmd.Parameters[7].Value = dept.Select(x => x.UploadFileName).ToArray();
                    cmd.Parameters.Add(ConstantsVariables.P_CreatedBy, OracleDbType.NVarchar2, 200);
                    cmd.Parameters[8].Value = dept.Select(x => x.CreatedBy).ToArray();
                    cmd.Parameters.Add("P_AdminID", OracleDbType.NVarchar2, 200);
                    cmd.Parameters[9].Value = dept.Select(x => x.AdminID).ToArray();
                    cmd.Parameters.Add("P_ERRORMESSAGE", OracleDbType.NVarchar2, 1000);
                    cmd.Parameters[10].Value = dept.Select(x => x.ErrorMsg).ToArray();
                    cmd.Parameters.Add("P_Indicator", OracleDbType.NVarchar2, 100);
                    cmd.Parameters[11].Value = dept.Select(x => x.Indicator).ToArray();
                    cmd.Parameters.Add(ConstantsVariables.P_LEAVESHIFT, OracleDbType.NVarchar2, 50);
                    cmd.Parameters[12].Value = dept.Select(x => x.LeaveShift).ToArray();
                    try
                    {
                        i = cmd.ExecuteNonQuery();
                        con.Close();
                        Returnstr = new Tuple <string, int>("Transaction", i);
                    }
                    catch (Exception ex)
                    {
                        con.Close();
                        i         = -99;
                        Returnstr = new Tuple <string, int>("Transaction", i);
                        throw ex;
                    }
                }
                return(i);
            }
            catch (Exception ex)
            {
                return(i);
            }
        }