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 override async Task <CreateSpecialistPackageResponse> CreateSpecialistPackage(CreateSpecialistPackageRequest request, ServerCallContext context) { DbUserModel user = context.UserState["user"] as DbUserModel; if (user == null) { return new CreateSpecialistPackageResponse() { Status = ResponseFactory.createResponse(ResponseType.UNAUTHORIZED) } } ; // Set author request.SpecialistPackage.Creator = user.AsUser(); SpecialistPackageModel packageModel = new SpecialistPackageModel(request.SpecialistPackage); await packageModel.SaveToDatabase(); // Get the generated specialist ID string packageId = packageModel.SpecialistPackage.Id; return(new CreateSpecialistPackageResponse() { Status = ResponseFactory.createResponse(ResponseType.SUCCESS), SpecialistPackageId = packageId, }); }