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); } }