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; }
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; }
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; }