public override async Task <GetSpecialistPackagesResponse> GetSpecialistPackages(GetSpecialistPackagesRequest request, ServerCallContext context)
        {
            DbUserModel user = context.UserState["user"] as DbUserModel;

            if (user == null)
            {
                return new GetSpecialistPackagesResponse()
                       {
                           Status = ResponseFactory.createResponse(ResponseType.UNAUTHORIZED)
                       }
            }
            ;

            // Search through all specialists for the search term.
            List <SpecialistPackageModel> results = (await SpecialistPackageModel.Search(request.SearchTerm)).Skip((int)request.PageNumber * 50).Take(50).ToList();

            GetSpecialistPackagesResponse response = new GetSpecialistPackagesResponse()
            {
                Status = ResponseFactory.createResponse(ResponseType.SUCCESS),
            };

            foreach (SpecialistPackageModel model in results)
            {
                response.SpecialistPackages.Add(model.SpecialistPackage);
            }

            return(response);
        }
        public void CanViewOtherPlayersPackages()
        {
            SubmitCustomSpecialistResponse response    = submitCustomSpecialist("MyCustomSpecialist");
            SubmitCustomSpecialistResponse responseTwo = submitCustomSpecialist("SecondCustomSpec");

            CreateSpecialistPackageResponse playerOnePackage = client.CreateSpecialistPackage(
                new CreateSpecialistPackageRequest()
            {
                SpecialistPackage = new SpecialistPackage()
                {
                    PackageName   = "PlayerOnePackage",
                    SpecialistIds = { response.SpecialistConfigurationId },
                }
            });

            authHelper.loginToAccount("userTwo");

            CreateSpecialistPackageResponse playerTwoPackage = client.CreateSpecialistPackage(
                new CreateSpecialistPackageRequest()
            {
                SpecialistPackage = new SpecialistPackage()
                {
                    PackageName   = "PlayerTwoPackage",
                    SpecialistIds = { responseTwo.SpecialistConfigurationId },
                }
            });

            GetSpecialistPackagesResponse specialistPackagesResponse = client.GetSpecialistPackages(new GetSpecialistPackagesRequest());

            Assert.True(specialistPackagesResponse.SpecialistPackages.Count == 2);
            Assert.True(specialistPackagesResponse.SpecialistPackages.Count(it => it.Id == playerTwoPackage.SpecialistPackageId) == 1);
            Assert.True(specialistPackagesResponse.SpecialistPackages.Count(it => it.Id == playerOnePackage.SpecialistPackageId) == 1);
        }