public IEnumerable <T> FindAll(List <Dictionary <string, object> > keyValueParam)
        {
            var result = new List <JobCosting>();

            using (DBClass = new MSSQLDatabase())
            {
                SqlCommand cmd = DBClass.GetStoredProcedureCommand("APP_GET_ALL_JOB_COSTING");
                RoutinesParameterSetter.Set(ref cmd, keyValueParam);
                var reader = DBClass.ExecuteReader(cmd);
                while (reader.Read())
                {
                    var jobCosting = new JobCosting();
                    jobCosting.JobCostingID    = int.Parse(reader[0].ToString());
                    jobCosting.VoucherCode     = reader[1].ToString();
                    jobCosting.JobCostingDate  = DateTime.Parse(reader[2].ToString());
                    jobCosting.DestinationCode = reader[3].ToString();
                    jobCosting.DestinationName = reader[4].ToString();
                    jobCosting.DestinationQty  = decimal.Parse(reader[5].ToString());
                    jobCosting.DestinationDate = DateTime.Parse(reader[6].ToString());
                    jobCosting.Note            = reader[7].ToString();
                    result.Add(jobCosting);
                }
            }
            return(result as List <T>);
        }
        public T FindbyId(int id)
        {
            var jobCosting = new JobCosting();

            using (DBClass = new MSSQLDatabase())
            {
                SqlCommand cmd = DBClass.GetStoredProcedureCommand("APP_GET_JOB_COSTING_BY_ID");
                cmd.Parameters.AddWithValue("@JobCostingId", id);
                var reader = DBClass.ExecuteReader(cmd);
                while (reader.Read())
                {
                    jobCosting.JobCostingID       = int.Parse(reader[0].ToString());
                    jobCosting.VoucherCode        = reader[1].ToString();
                    jobCosting.DepartementID      = int.Parse(reader[2].ToString());
                    jobCosting.DestinationProduct = int.Parse(reader[3].ToString());
                    jobCosting.DestinationQty     = decimal.Parse(reader[4].ToString());
                    jobCosting.DestinationDate    = DateTime.Parse(reader[5].ToString());
                    jobCosting.Note           = reader[6].ToString();
                    jobCosting.JobCostingDate = DateTime.Parse(reader[7].ToString());
                }
            }
            return(jobCosting as T);
        }