Ejemplo n.º 1
0
        public ServiceMarriageObject Search(MarriageFilterTypes filterMode, MarriageSearchFilter marriageSearchFilter, DataShaping shaping, IValidator validator = null)
        {
            var serviceMarriageObject = new ServiceMarriageObject();

            if (!_security.IsvalidSelect())  serviceMarriageObject.ErrorStatus = "Invalid permission to select";

            if (validator != null && !validator.ValidEntry())  serviceMarriageObject.ErrorStatus += " Validation failed: " + validator.GetErrors();

            if (serviceMarriageObject.ErrorStatus.Length == 0)
            {

                if (shaping.Column.Contains("MarriageDate DESC"))
                {
                    shaping.Column = "MarriageYear DESC";
                }
                else if (shaping.Column.Contains("MarriageDate"))
                {
                    shaping.Column = "MarriageYear";
                }

                switch (filterMode)
                {
                    case MarriageFilterTypes.Duplicates:
                        serviceMarriageObject = marriageSearchFilter.ParentId != Guid.Empty
                                                    ? _marriagesDll.GetDataByUniqueRef(marriageSearchFilter.ParentId)
                                                                   .ToServiceMarriageObject(shaping.Column, shaping.RecordPageSize,
                                                                                            shaping.RecordStart)
                                                    : new ServiceMarriageObject();
                        break;
                    case MarriageFilterTypes.Standard:
                        serviceMarriageObject =
                            _marriagesDll.GetFilteredMarriages(marriageSearchFilter)
                                         .ToServiceMarriageObject(shaping.Column, shaping.RecordPageSize, shaping.RecordStart);
                        break;

                    case MarriageFilterTypes.IdList:
                        serviceMarriageObject = _marriagesDll.GetByListId(marriageSearchFilter.Ids).ToServiceMarriageObject(shaping.Column, shaping.RecordPageSize, shaping.RecordStart);
                        break;

                }

            }
            return serviceMarriageObject;
        }
Ejemplo n.º 2
0
        public ServiceMarriageObject GetMarriages(string uniqref, string malecname, string malesname, string femalecname,
            string femalesname, string location, string lowerDate, string upperDate, string sourceFilter, string parishFilter, string marriageWitness,
            string page_number, string page_size, string sort_col)
        {
            //var iModel = new MarriageSearch(new Security(new WebUser()));

            var serviceMarriageObject = new ServiceMarriageObject();

            string retVal = "";

            try
            {

                Guid parentId = uniqref.ToGuid();

                if (parentId == Guid.Empty)
                {
                    var marriageFilter = new MarriageSearchFilter()
                        {
                            MaleCName = malecname,
                            MaleSName = malesname,
                            FemaleCName = femalecname,
                            FemaleSName = femalesname,
                            Location = location,
                            LowerDate = lowerDate.ToInt32(),
                            UpperDate = upperDate.ToInt32(),
                            Witness = marriageWitness,
                            Parish = parishFilter,
                            Source = sourceFilter,
                            ParentId = Guid.Empty
                        };

                    var marriageValidation = new MarriageSearchValidator(marriageFilter);

                    serviceMarriageObject = _marriageSearch.Search(MarriageFilterTypes.Standard, marriageFilter,
                                  new DataShaping()
                                      {
                                          Column = sort_col,
                                          RecordPageSize = page_size.ToInt32(),
                                          RecordStart = page_number.ToInt32()
                                      }, marriageValidation);

                }
                else
                {
                    serviceMarriageObject = _marriageSearch.Search(MarriageFilterTypes.Duplicates, new MarriageSearchFilter() { ParentId = parentId },
                                  new DataShaping()
                                  {
                                      Column = sort_col,
                                      RecordPageSize = page_size.ToInt32(),
                                      RecordStart = 0
                                  });

                }

            }
            catch (Exception ex1)
            {
                retVal = "Exception: " + ex1.Message;
            }
            finally
            {
                if (retVal != "") retVal += Environment.NewLine;
                serviceMarriageObject.ErrorStatus = retVal;
            }

            return serviceMarriageObject;
        }
Ejemplo n.º 3
0
        public List<MarriageResult> GetFilteredMarriages(MarriageSearchFilter m)
        {
            using (var context = new GeneralModelContainer())
            {
                if (m.Parish.ToGuid() != Guid.Empty)
                {
                    m.Source = "";

                    var sources =
                        context.Sources.Where(
                            o => o.SourceMappingParishs.Any(a => a.Parish.ParishId == m.Parish.ToGuid())).ToList();

                    if (sources.Count > 0)
                        sources.ForEach(p => m.Source += "," + p.SourceId.ToString());

                    m.Source = m.Source.Substring(1);
                }

                var result =
                    context.USP_Marriages_Filtered(m.Witness, m.Source, m.FemaleCName, m.FemaleSName, m.MaleCName,
                        m.MaleSName, m.County, m.Location, m.LowerDate,
                        m.UpperDate).Select(p => new MarriageResult()
                        {
                            FemaleCName = p.FemaleCName,
                            FemaleSName = p.FemaleSName,
                            MaleCName = p.MaleCName,
                            MaleSName = p.MaleSName,
                            MarriageId = p.Marriage_Id,
                            MarriageLocation = p.MarriageLocation,
                            MarriageSource = p.Source,
                            MarriageTotalEvents = p.TotalEvents.GetValueOrDefault(),
                            MarriageYear = p.YearIntVal.GetValueOrDefault(),
                            UniqueRef = p.UniqueRef.GetValueOrDefault(),
                            UniqueRefStr = p.UniqueRef.GetValueOrDefault(),
                            SourceTrees = p.links,
                            Notes = p.MaleInfo + Environment.NewLine + p.FemaleInfo
                        }).ToList();

                foreach (var mr in result)
                {
                    mr.Witnesses = string.Join(" ",
                        context.MarriageMapWitness.Where(mw => mw.Marriages.Marriage_Id == mr.MarriageId)
                            .Select(p => p.Persons.Surname)
                            .ToArray());
                }

                return result;
            }
        }
        public IHttpActionResult GetMarriages(string uniqref, string malecname, string malesname, string femalecname,
            string femalesname, string location, string lowerDate, string upperDate, string sourceFilter, string parishFilter, string marriageWitness,
            string pno, string psize, string sortcol = "")
        {
            var serviceMarriageObject = new ServiceMarriageObject();

            string retVal = "";

            try
            {

                Guid parentId = uniqref.ToGuid();

                if (parentId == Guid.Empty)
                {
                    var marriageFilter = new MarriageSearchFilter()
                    {
                        Ids = new List<Guid>(),
                        MaleCName = malecname ?? "",
                        MaleSName = malesname ?? "",
                        FemaleCName = femalecname ?? "",
                        FemaleSName = femalesname ?? "",
                        Location = location ?? "",
                        LowerDate = lowerDate.ToInt32(),
                        UpperDate = upperDate.ToInt32(),
                        Witness = marriageWitness ?? "",
                        Parish = parishFilter ?? "",
                        Source = sourceFilter ?? "",
                        ParentId = Guid.Empty
                    };

                    var marriageValidation = new MarriageSearchValidator(marriageFilter);

                    serviceMarriageObject = _marriageSearch.Search(MarriageFilterTypes.Standard, marriageFilter,
                                  new DataShaping()
                                  {
                                      Column = sortcol ?? "",
                                      RecordPageSize = psize.ToInt32(),
                                      RecordStart = pno.ToInt32()
                                  }, marriageValidation);

                }
                else
                {
                    serviceMarriageObject = _marriageSearch.Search(MarriageFilterTypes.Duplicates, new MarriageSearchFilter() { ParentId = parentId },
                                  new DataShaping()
                                  {
                                      Column = sortcol ?? "",
                                      RecordPageSize = psize.ToInt32(),
                                      RecordStart = 0
                                  });

                }

            }
            catch (Exception ex1)
            {
                retVal = "Exception: " + ex1.Message;
            }

            if (retVal != "")
            {
                return Content(HttpStatusCode.BadRequest, retVal);
            }

            return Ok(serviceMarriageObject);
        }
        public IHttpActionResult GetMarriages(string ids)
        {
            var marriageFilter = new MarriageSearchFilter()
            {
                Ids = ids.ParseToGuidList()
            };
            var marriageValidation = new MarriageSearchValidator(marriageFilter);
            // ahouls use search function here
            string retVal = "";

            var serviceMarriageObject = new ServiceMarriageObject();

            try
            {

                serviceMarriageObject = _marriageSearch.Search(MarriageFilterTypes.IdList, marriageFilter,
                                  new DataShaping()
                                  {
                                      Column = "",
                                      RecordPageSize = 25,
                                      RecordStart = 0
                                  }, marriageValidation);

            }
            catch (Exception ex1)
            {
                retVal = "Exception: " + ex1.Message;
            }

            if (retVal != "")
            {
                return Content(HttpStatusCode.BadRequest, retVal);
            }

            return Ok(serviceMarriageObject );
        }
 public MarriageSearchValidator(MarriageSearchFilter serviceMarriageLookup)
 {
     _sm = serviceMarriageLookup;
 }