Example #1
0
        public async Task <Results <ADBMarriage> > MarriageList(ADBMarriageParamObj searchParams)
        {
            var marriageList = new List <ADBMarriage>();

            var results = new Results <ADBMarriage>();

            int totalRecs = 0;

            try
            {
                var a = new AzureDBContext(_imsConfigHelper.MSGGenDB01);

                var unpaged = a.Marriages.WhereIfMatchParticipants(searchParams.MaleSurname, searchParams.FemaleSurname)
                              .WhereIfLocation(searchParams.Location)
                              .WhereIfYearBetween(searchParams.YearStart, searchParams.YearEnd)
                              .MarriageSortIf(searchParams.SortColumn, searchParams.SortOrder);

                totalRecs = unpaged.Count();

                foreach (var app in unpaged.Skip(searchParams.Offset).Take(searchParams.Limit))
                {
                    marriageList.Add(new ADBMarriage()
                    {
                        Id                 = app.Id,
                        Date               = app.Date,
                        DateAdded          = app.DateAdded,
                        DateLastEdit       = app.DateLastEdit,
                        EventPriority      = app.EventPriority,
                        FemaleBirthYear    = app.FemaleBirthYear,
                        FemaleCname        = app.FemaleCname,
                        FemaleInfo         = app.FemaleInfo,
                        FemaleIsKnownWidow = app.FemaleIsKnownWidow,
                        FemaleLocation     = app.FemaleLocation,
                        FemaleOccupation   = app.FemaleOccupation,
                        FemaleSname        = app.FemaleSname,
                        IsBanns            = app.IsBanns,
                        IsLicence          = app.IsLicence,
                        MaleBirthYear      = app.MaleBirthYear,
                        MaleCname          = app.MaleCname,
                        MaleInfo           = app.MaleInfo,
                        MaleIsKnownWidower = app.MaleIsKnownWidower,
                        MaleLocation       = app.MaleLocation,
                        MaleOccupation     = app.MaleOccupation,
                        MaleSname          = app.MaleSname,
                        MarriageCounty     = app.MarriageCounty,
                        MarriageLocation   = app.Location,
                        Source             = app.Source,
                        TotalEvents        = app.TotalEvents,
                        UniqueRef          = app.UniqueRef,
                        Witness1           = app.Witness1,
                        Witness2           = app.Witness2,
                        Witness3           = app.Witness3,
                        Witness4           = app.Witness4
                    });
                }
            }
            catch (Exception e)
            {
                results.Error = e.Message;
            }



            results.results       = marriageList;
            results.Page          = searchParams.Offset == 0 ? 0 : searchParams.Offset / searchParams.Limit;
            results.total_pages   = totalRecs / searchParams.Limit;
            results.total_results = totalRecs;

            return(results);
        }
Example #2
0
        public ADBQuery(IADBService service)
        {
            Name = "Adb";

            #region marriagesearch
            FieldAsync <MarriageSearchResult, Results <ADBMarriage> >(
                "marriagesearch",
                arguments: new QueryArguments(
                    new QueryArgument <StringGraphType> {
                Name = "query"
            },
                    new QueryArgument <IntGraphType> {
                Name = "limit"
            },
                    new QueryArgument <IntGraphType> {
                Name = "offset"
            },

                    new QueryArgument <StringGraphType> {
                Name = "sortColumn"
            },
                    new QueryArgument <StringGraphType> {
                Name = "sortOrder"
            },
                    new QueryArgument <IntGraphType> {
                Name = "yearStart"
            },
                    new QueryArgument <IntGraphType> {
                Name = "yearEnd"
            },
                    new QueryArgument <StringGraphType> {
                Name = "maleSurname"
            },
                    new QueryArgument <StringGraphType> {
                Name = "femaleSurname"
            },
                    new QueryArgument <StringGraphType> {
                Name = "location"
            }
                    ),
                resolve: context =>
            {
                ClaimsPrincipal currentUser = null;

                try
                {
                    currentUser = (ClaimsPrincipal)context.UserContext["claimsprincipal"];
                }
                catch (Exception e)
                {
                }

                var obj = new Dictionary <string, string>();

                var query  = context.GetArgument <string>("query");
                var limit  = context.GetArgument <int>("limit");
                var offset = context.GetArgument <int>("offset");

                var sortColumn = context.GetArgument <string>("sortColumn");
                var sortOrder  = context.GetArgument <string>("sortOrder");

                var yearStart = context.GetArgument <int>("yearStart");
                var yearEnd   = context.GetArgument <int>("yearEnd");

                var maleSurname   = context.GetArgument <string>("maleSurname");
                var femaleSurname = context.GetArgument <string>("femaleSurname");

                var location = context.GetArgument <string>("location");

                var pobj = new ADBMarriageParamObj();

                pobj.User          = currentUser;
                pobj.Limit         = limit;
                pobj.Offset        = offset;
                pobj.SortColumn    = sortColumn;
                pobj.SortOrder     = sortOrder;
                pobj.FemaleSurname = femaleSurname;
                pobj.MaleSurname   = maleSurname;
                pobj.Location      = location;
                pobj.YearEnd       = yearEnd;
                pobj.YearStart     = yearStart;

                return(service.MarriageList(pobj));
            }
                );

            #endregion


            #region personsearch
            FieldAsync <PersonSearchResult, Results <ADBPerson> >(
                "personsearch",
                arguments: new QueryArguments(
                    new QueryArgument <StringGraphType> {
                Name = "query"
            },
                    new QueryArgument <IntGraphType> {
                Name = "limit"
            },
                    new QueryArgument <IntGraphType> {
                Name = "offset"
            },
                    new QueryArgument <StringGraphType> {
                Name = "sortColumn"
            },
                    new QueryArgument <StringGraphType> {
                Name = "sortOrder"
            },
                    new QueryArgument <IntGraphType> {
                Name = "yearStart"
            },
                    new QueryArgument <IntGraphType> {
                Name = "yearEnd"
            },
                    new QueryArgument <StringGraphType> {
                Name = "location"
            },
                    new QueryArgument <StringGraphType> {
                Name = "firstName"
            },
                    new QueryArgument <StringGraphType> {
                Name = "surname"
            },
                    new QueryArgument <StringGraphType> {
                Name = "birthLocation"
            },
                    new QueryArgument <StringGraphType> {
                Name = "deathLocation"
            },
                    new QueryArgument <StringGraphType> {
                Name = "fatherChristianName"
            },
                    new QueryArgument <StringGraphType> {
                Name = "fatherSurname"
            },
                    new QueryArgument <StringGraphType> {
                Name = "motherChristianName"
            },
                    new QueryArgument <StringGraphType> {
                Name = "motherSurname"
            },
                    new QueryArgument <StringGraphType> {
                Name = "source"
            },
                    new QueryArgument <StringGraphType> {
                Name = "deathCounty"
            },
                    new QueryArgument <StringGraphType> {
                Name = "birthCounty"
            },
                    new QueryArgument <StringGraphType> {
                Name = "occupation"
            },
                    new QueryArgument <StringGraphType> {
                Name = "spouseName"
            },
                    new QueryArgument <StringGraphType> {
                Name = "spouseSurname"
            },
                    new QueryArgument <StringGraphType> {
                Name = "fatherOccupation"
            },
                    new QueryArgument <StringGraphType> {
                Name = "surname"
            }


                    ),
                resolve: context =>
            {
                ClaimsPrincipal currentUser = null;

                try
                {
                    currentUser = (ClaimsPrincipal)context.UserContext["claimsprincipal"];
                }
                catch (Exception e)
                {
                }

                var obj = new Dictionary <string, string>();

                var query  = context.GetArgument <string>("query");
                var limit  = context.GetArgument <int>("limit");
                var offset = context.GetArgument <int>("offset");

                var sortColumn = context.GetArgument <string>("sortColumn");
                var sortOrder  = context.GetArgument <string>("sortOrder");

                var yearStart = context.GetArgument <int>("yearStart");
                var yearEnd   = context.GetArgument <int>("yearEnd");


                var location            = context.GetArgument <string>("location");
                var firstName           = context.GetArgument <string>("firstName");
                var surname             = context.GetArgument <string>("surname");
                var birthLocation       = context.GetArgument <string>("birthLocation");
                var deathLocation       = context.GetArgument <string>("deathLocation");
                var fatherChristianName = context.GetArgument <string>("fatherChristianName");
                var fatherSurname       = context.GetArgument <string>("fatherSurname");
                var motherChristianName = context.GetArgument <string>("motherChristianName");
                var motherSurname       = context.GetArgument <string>("motherSurname");
                var source           = context.GetArgument <string>("source");
                var deathCounty      = context.GetArgument <string>("deathCounty");
                var birthCounty      = context.GetArgument <string>("birthCounty");
                var occupation       = context.GetArgument <string>("occupation");
                var spouseName       = context.GetArgument <string>("spouseName");
                var spouseSurname    = context.GetArgument <string>("spouseSurname");
                var fatherOccupation = context.GetArgument <string>("fatherOccupation");


                var pobj = new ADBPersonParamObj();

                pobj.User       = currentUser;
                pobj.Limit      = limit;
                pobj.Offset     = offset;
                pobj.SortColumn = sortColumn;
                pobj.SortOrder  = sortOrder;
                pobj.Location   = location;
                pobj.YearEnd    = yearEnd;
                pobj.YearStart  = yearStart;

                pobj.FirstName           = firstName;
                pobj.Surname             = surname;
                pobj.BirthLocation       = birthLocation;
                pobj.DeathLocation       = deathLocation;
                pobj.FatherChristianName = fatherChristianName;
                pobj.FatherSurname       = fatherSurname;
                pobj.MotherChristianName = motherChristianName;
                pobj.MotherSurname       = motherSurname;
                pobj.Source           = source;
                pobj.DeathCounty      = deathCounty;
                pobj.BirthCounty      = birthCounty;
                pobj.Occupation       = occupation;
                pobj.SpouseName       = spouseName;
                pobj.SpouseSurname    = spouseSurname;
                pobj.FatherOccupation = fatherOccupation;


                return(service.PersonList(pobj));
            }
                );

            #endregion


            #region parishsearch
            FieldAsync <ParishSearchResult, Results <ADBParish> >(
                "parishsearch",
                arguments: new QueryArguments(
                    new QueryArgument <StringGraphType> {
                Name = "query"
            },
                    new QueryArgument <IntGraphType> {
                Name = "limit"
            },
                    new QueryArgument <IntGraphType> {
                Name = "offset"
            },
                    new QueryArgument <StringGraphType> {
                Name = "sortColumn"
            },
                    new QueryArgument <StringGraphType> {
                Name = "sortOrder"
            },
                    new QueryArgument <StringGraphType> {
                Name = "county"
            },
                    new QueryArgument <StringGraphType> {
                Name = "parishName"
            }
                    ),
                resolve: context =>
            {
                ClaimsPrincipal currentUser = null;

                try
                {
                    currentUser = (ClaimsPrincipal)context.UserContext["claimsprincipal"];
                }
                catch (Exception e)
                {
                }

                var obj = new Dictionary <string, string>();

                var query  = context.GetArgument <string>("query");
                var limit  = context.GetArgument <int>("limit");
                var offset = context.GetArgument <int>("offset");

                var sortColumn = context.GetArgument <string>("sortColumn");
                var sortOrder  = context.GetArgument <string>("sortOrder");


                var county     = context.GetArgument <string>("county");
                var parishName = context.GetArgument <string>("parishName");


                var pobj = new ADBParishParamObj();

                pobj.User       = currentUser;
                pobj.Limit      = limit;
                pobj.Offset     = offset;
                pobj.SortColumn = sortColumn;
                pobj.SortOrder  = sortOrder;



                pobj.ParishName = parishName;
                pobj.County     = county;



                return(service.ParishList(pobj));
            }
                );

            #endregion


            #region sourcesearch
            FieldAsync <SourceSearchResult, Results <ADBSource> >(
                "sourcesearch",
                arguments: new QueryArguments(
                    new QueryArgument <StringGraphType> {
                Name = "query"
            },
                    new QueryArgument <IntGraphType> {
                Name = "limit"
            },
                    new QueryArgument <IntGraphType> {
                Name = "offset"
            },
                    new QueryArgument <StringGraphType> {
                Name = "sortColumn"
            },
                    new QueryArgument <StringGraphType> {
                Name = "sortOrder"
            },
                    new QueryArgument <IntGraphType> {
                Name = "yearStart"
            },
                    new QueryArgument <IntGraphType> {
                Name = "yearEnd"
            },
                    new QueryArgument <StringGraphType> {
                Name = "location"
            },
                    new QueryArgument <StringGraphType> {
                Name = "sourceRef"
            }



                    ),
                resolve: context =>
            {
                ClaimsPrincipal currentUser = null;

                try
                {
                    currentUser = (ClaimsPrincipal)context.UserContext["claimsprincipal"];
                }
                catch (Exception e)
                {
                }

                var obj = new Dictionary <string, string>();

                var query  = context.GetArgument <string>("query");
                var limit  = context.GetArgument <int>("limit");
                var offset = context.GetArgument <int>("offset");

                var sortColumn = context.GetArgument <string>("sortColumn");
                var sortOrder  = context.GetArgument <string>("sortOrder");

                var location  = context.GetArgument <string>("location");
                var sourceRef = context.GetArgument <string>("sourceRef");

                var yearEnd   = context.GetArgument <int>("yearEnd");
                var yearStart = context.GetArgument <int>("yearStart");


                var pobj = new ADBSourceParamObj();

                pobj.User       = currentUser;
                pobj.Limit      = limit;
                pobj.Offset     = offset;
                pobj.SortColumn = sortColumn;
                pobj.SortOrder  = sortOrder;


                pobj.SourceRef = sourceRef;

                pobj.Location = location;


                pobj.YearStart = yearStart;
                pobj.YearEnd   = yearEnd;


                return(service.SourceList(pobj));
            }
                );

            #endregion
        }