示例#1
0
        public List <UserShort> ExtendedUserSearch(ExtendedUserSearchRequest data)
        {
            List <SqlParameter> parameters = new List <SqlParameter>
            {
                new SqlParameter("@Name", ValueOrNull(data.Name)),
                new SqlParameter("@UniqueUserName", ValueOrNull(data.UniqueUserName)),
                new SqlParameter("@Description", ValueOrNull(data.Description))
            };

            return(ExecuteProc <UserShort>("ExtendedUserSearch", parameters.ToArray()));
        }
示例#2
0
        public List <UserShort> ExtendedUserSearch(ExtendedUserSearchRequest data)
        {
            List <UserShort> result = new List <UserShort>();

            using (SqlConnection connection = new SqlConnection(_connectionString))
            {
                connection.Open();

                result = ExecuteExtendedSearch <UserShort, ExtendedUserSearchRequest>(connection, "ExtendedUserSearch", data);

                connection.Close();
            }

            return(result);
        }
示例#3
0
        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>);
        }
示例#4
0
        public List <UserShort> ExtendedUserSearch(ExtendedUserSearchRequest data)
        {
            List <UserShort> users = _repo.ExtendedUserSearch(data);

            return(users);
        }