public List <AlbumShort> ExtendedAlbumSearch(ExtendedAlbumSearchRequest data) { List <SqlParameter> parameters = new List <SqlParameter> { new SqlParameter("@AlbumName", ValueOrNull(data.AlbumName)), new SqlParameter("@Description", ValueOrNull(data.Description)), new SqlParameter("@UniqueUserName", ValueOrNull(data.UniqueUserName)) }; return(ExecuteProc <AlbumShort>("ExtendedAlbumSearch", parameters.ToArray())); }
public List <AlbumShort> ExtendedAlbumSearch(ExtendedAlbumSearchRequest data) { List <AlbumShort> result = new List <AlbumShort>(); using (SqlConnection connection = new SqlConnection(_connectionString)) { connection.Open(); result = ExecuteExtendedSearch <AlbumShort, ExtendedAlbumSearchRequest>(connection, "ExtendedAlbumSearch", data); connection.Close(); } return(result); }
private List <TRes> ExecuteExtendedSearch <TRes, TReq>(SqlConnection conn, string procName, TReq requestData) where TRes : class { using (SqlCommand cmd = new SqlCommand(procName, conn)) { cmd.CommandType = CommandType.StoredProcedure; Type requestType = typeof(TReq); if (requestType == typeof(ExtendedPhotoSearchRequest)) { ExtendedPhotoSearchRequest castedData = requestData as ExtendedPhotoSearchRequest; List <PhotoShort> res = new List <PhotoShort>(); cmd.Parameters.Add(new SqlParameter("@PhotoName", ValueOrNull(castedData.PhotoName))); cmd.Parameters.Add(new SqlParameter("@UniqueUserName", ValueOrNull(castedData.UniqueUserName))); cmd.Parameters.Add(new SqlParameter("@Description", ValueOrNull(castedData.Description))); cmd.Parameters.Add(new SqlParameter("@CameraModel", ValueOrNull(castedData.CameraModel))); cmd.Parameters.Add(new SqlParameter("@Flash", ValueOrNull(castedData.Flash))); cmd.Parameters.Add(new SqlParameter("@ISO", ValueOrNull(castedData.ISO))); cmd.Parameters.Add(new SqlParameter("@LensFocus", ValueOrNull(castedData.LensFocus))); cmd.Parameters.Add(new SqlParameter("@ShutterSpeed", ValueOrNull(castedData.ShutterSpeed))); cmd.Parameters.Add(new SqlParameter("@Place", ValueOrNull(castedData.Place))); if (castedData.Diaphragm == 0) { cmd.Parameters.Add(new SqlParameter("@Diaphragm", DBNull.Value)); } else { cmd.Parameters.Add(new SqlParameter("@Diaphragm", castedData.Diaphragm)); } using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { res.Add(new PhotoShort { PhotoName = reader.GetString(0), UniqueUserName = reader.GetString(1), ImageData = (byte[])reader.GetValue(2), ImageMimeType = reader.GetString(3) }); } return(res as List <TRes>); } } else if (requestType == typeof(ExtendedAlbumSearchRequest)) { ExtendedAlbumSearchRequest castedData = requestData as ExtendedAlbumSearchRequest; List <AlbumShort> res = new List <AlbumShort>(); cmd.Parameters.Add(new SqlParameter("@AlbumName", ValueOrNull(castedData.AlbumName))); cmd.Parameters.Add(new SqlParameter("@Description", ValueOrNull(castedData.Description))); cmd.Parameters.Add(new SqlParameter("@UniqueUserName", ValueOrNull(castedData.UniqueUserName))); using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { res.Add(new AlbumShort { AlbumName = reader.GetString(0), UniqueUserName = reader.GetString(1), ImageData = (byte[])reader.GetValue(2), ImageMimeType = reader.GetString(3) }); } return(res as List <TRes>); } } else if (requestType == typeof(ExtendedUserSearchRequest)) { ExtendedUserSearchRequest castedData = requestData as ExtendedUserSearchRequest; List <UserShort> res = new List <UserShort>(); cmd.Parameters.Add(new SqlParameter("@Name", ValueOrNull(castedData.Name))); cmd.Parameters.Add(new SqlParameter("@UniqueUserName", ValueOrNull(castedData.UniqueUserName))); cmd.Parameters.Add(new SqlParameter("@Description", ValueOrNull(castedData.Description))); using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { res.Add(new UserShort { Name = reader.GetString(0), UniqueUserName = reader.GetString(1) }); } return(res as List <TRes>); } } } return(null as List <TRes>); }
public List <AlbumShort> ExtendedAlbumSearch(ExtendedAlbumSearchRequest data) { List <AlbumShort> albums = _repo.ExtendedAlbumSearch(data); return(albums); }