public Tuple <Restriction, RestrictionDescription> GetDesc(Guid id) { lock (_session) { var item = _session.Query <Restriction>().FirstOrDefault(currentItem => currentItem.Uid == id); if (item != null) { var desc = new RestrictionDescription(); if (!string.IsNullOrWhiteSpace(item.ExternalProgRef)) { var programmes = DocumentSessionExtensions .GetAll <Programmes_ByIdAndSalesAreaStartDateTime.IndexedFields, Programmes_ByIdAndSalesAreaStartDateTime, ProgrammeTransformer_BySearch, ProgrammeNameModel>(_session, p => p.ExternalReference.Equals(item.ExternalProgRef, StringComparison.OrdinalIgnoreCase), out int totalResult, null, null); desc.ProgrammeDescription = programmes?.FirstOrDefault()?.ProgrammeName; } if (item.ProductCode != 0) { var products = _session.GetAll <Product>(p => p.Externalidentifier.Equals(item.ProductCode.ToString(), StringComparison.OrdinalIgnoreCase), indexName: Product_BySearch.DefaultIndexName, isMapReduce: false); desc.ProductDescription = products?.FirstOrDefault()?.Name; desc.AdvertiserName = products?.FirstOrDefault()?.AdvertiserName; } if (!string.IsNullOrWhiteSpace(item.ClashCode)) { var clashes = _session.GetAll <Clash>(p => p.Externalref.Equals(item.ClashCode.ToString(), StringComparison.OrdinalIgnoreCase), indexName: Clash_BySearch.DefaultIndexName, isMapReduce: false); desc.ClashDescription = clashes?.FirstOrDefault()?.Description; } return(Tuple.Create(item, desc)); } return(null); } }
private RestrictionWithDescModel LoadRestrictionWithDesc(Restriction item1, RestrictionDescription item2) { return(new RestrictionWithDescModel { ClashCode = item1.ClashCode, ClearanceCode = item1.ClearanceCode, ClockNumber = string.IsNullOrWhiteSpace(item1.ClockNumber) ? "0" : item1.ClockNumber, EndDate = item1.EndDate, ExternalProgRef = item1.ExternalProgRef, EndTime = item1.EndTime, IndexThreshold = item1.IndexThreshold, IndexType = item1.IndexType, LiveProgrammeIndicator = item1.LiveProgrammeIndicator, StartDate = item1.StartDate, StartTime = item1.StartTime, Uid = item1.Uid, SalesAreas = item1.SalesAreas, RestrictionDays = item1.RestrictionDays, SchoolHolidayIndicator = item1.SchoolHolidayIndicator, PublicHolidayIndicator = item1.PublicHolidayIndicator, RestrictionType = item1.RestrictionType, RestrictionBasis = item1.RestrictionBasis, ProgrammeCategory = item1.ProgrammeCategory, ExternalIdentifier = item1.ExternalIdentifier, ProgrammeClassification = item1.ProgrammeClassification, ProgrammeClassificationIndicator = item1.ProgrammeClassificationIndicator, TimeToleranceMinsBefore = item1.TimeToleranceMinsBefore, TimeToleranceMinsAfter = item1.TimeToleranceMinsAfter, ProductCode = item1.ProductCode, ProgrammeDescription = item2.ProgrammeDescription, ProductDescription = item2.ProductDescription, ClashDescription = item2.ClashDescription, AdvertiserName = item2.AdvertiserName }); }