Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- How to execute a query:
- public static async Task<string> ExecuteQuery(Schema schema, string querystring, Inputs inputs = null)
- {
- try
- {
- var result = await new DocumentExecuter().ExecuteAsync(_ =>
- {
- _.Schema = schema;
- _.Query = querystring;
- _.Inputs = inputs;
- }).ConfigureAwait(false);
- var json = new DocumentWriter(Formatting.None, null).Write(result);
- return json;
- }
- catch (Exception ex)
- {
- return string.Empty;
- //return new ResponseMessage();
- }
- }
- ------------------------------------------------------------------------------------------
- Root Query Class:
- public class ViewerType : ObjectGraphType
- {
- public ViewerType()
- {
- Name = "Viewer";
- #region "Queries"
- Field<ListGraphType<PrescriptionType>>("Prescriptions",
- resolve: context => new PrescriptionMongoDataAccessLayer().GetPrescriptions(string.Empty));
- Field<PrescriptionType>("OnePrescription",
- arguments: new QueryArguments(new QueryArgument<StringGraphType> {Name = "id"}),
- resolve: context =>
- {
- var id = context.GetArgument<string>("id");
- return new PrescriptionMongoDataAccessLayer().GetOnePrescriptions(id);
- });
- Field<ListGraphType<DrugsType>>("Drugs",
- arguments: new QueryArguments(new QueryArgument<StringGraphType>() {Name = "drugName"}),
- resolve: context =>
- {
- var drugname = context.Arguments["drugName"].ToString();
- return new DrugsDataAccessLayer().SearchDrugs(drugname);
- });
- Field<LoginResultType>("LogIn",
- arguments: new QueryArguments(new QueryArgument<StringGraphType>() { Name = "username" }, new QueryArgument<StringGraphType> { Name = "password"}),
- resolve: context =>
- {
- var username = context.Arguments["username"].ToString();
- var password = context.Arguments["password"].ToString();
- //database/business logic
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement