public async Task <Findings> GetFindingsByID(long id) { var param = new DynamicParameters(); param.Add("@ID", id); var mapper = new FindingsMapper(); return((await SqlMapper.QueryAsync(_unitOfWork.Connection, "GetFindingsByID", new[] { typeof(Findings), typeof(Attachment), typeof(FindingsLineItem), typeof(Attachment), typeof(Officer) }, obj => { Findings f = obj[0] as Findings; Attachment fatt = obj[1] as Attachment; FindingsLineItem fl = obj[2] as FindingsLineItem; Attachment at = obj[3] as Attachment; Officer o = obj[4] as Officer; return mapper.Map(f, fatt, fl, at, o); }, param, splitOn: "ID,FindingsAttachmentID,FindingsLineItemID,AttachmentID,OfficerID", commandType: CommandType.StoredProcedure, transaction: _unitOfWork.Transaction)).FirstOrDefault()); }
public Findings Map( Findings findings, Attachment findingsattachment, FindingsLineItem findingsLineItem, Attachment attachment, Officer officer) { if (!_findingsCache.TryGetValue(findings.ID, out Findings result)) { _findingsCache[findings.ID] = findings; result = findings; } if (officer.ID != Guid.Empty && !_officerCache.ContainsKey(officer.ID)) { findings.Officer = new Officer(); _officerCache[officer.ID] = officer; findings.Officer = officer; } if (findingsattachment.ID != 0 && !_findingsattachmentCache.ContainsKey(findingsattachment.ID)) { findings.Attachment = new Attachment(); _findingsattachmentCache[findingsattachment.ID] = findingsattachment; findings.Attachment = findingsattachment; } if (findingsLineItem.ID != 0) { if (!_findingslineitemCache.TryGetValue( findingsLineItem.ID, out FindingsLineItem liOut)) { findings.LineItems = new List <FindingsLineItem>(); findingsLineItem.Attachments = new List <Attachment>(); _findingslineitemCache[findingsLineItem.ID] = findingsLineItem; liOut = findingsLineItem; findings.LineItems.Add(findingsLineItem); } if (attachment.ID != 0 && !_attachmentCache.ContainsKey(attachment.ID)) { liOut.Attachments.Add(attachment); _attachmentCache[attachment.ID] = attachment; } } return(result); }
public Model.JobOrder Map(Model.JobOrder joborder, JobOrderLineItem lineitem = null, Premise premise = null, Customer customer = null, Person person = null, ContactInfo contactInfo = null, Attendee attendee = null, Officer officer = null, Attachment attachment = null, Officer invitee = null, Log log = null, Findings findings = null, Officer findingsOfficer = null, FindingsLineItem findingsLineItem = null, Attachment findingsLineItemAttachment = null, Attachment signature = null) { if (!dict.TryGetValue(joborder.ID, out Model.JobOrder result)) { dict[joborder.ID] = joborder; if (!string.IsNullOrEmpty(officer?.Name)) { joborder.Officer = officer; } if (!string.IsNullOrEmpty(customer?.Name)) { joborder.Customer = customer; } result = joborder; } if ((lineitem?.ID ?? 0) > 0 && !_liCache.ContainsKey(lineitem.ID)) { _liCache[lineitem.ID] = lineitem; if (result.LineItems == null) { result.LineItems = new List <JobOrderLineItem>(); } result.LineItems.Add(lineitem); } if ((premise?.ID ?? 0) > 0 && (result.Premises?.FirstOrDefault(e => e.ID == premise.ID) == null)) { if (result.Premises == null) { result.Premises = new List <Premise>(); } result.Premises.Add(premise); } if ((attendee?.ID ?? 0) > 0 && !_attendeeCache.ContainsKey(attendee.ID)) { _attendeeCache[attendee.ID] = attendee; if (result.Attendees == null) { result.Attendees = new List <Attendee>(); } result.Attendees.Add(attendee); } if ((log?.ID ?? 0) > 0 && !_logCache.ContainsKey(log.ID)) { _logCache[log.ID] = log; if (result.Logs == null) { result.Logs = new List <Log>(); } result.Logs.Add(log); } if (!string.IsNullOrEmpty(invitee?.Name) && result.Invitees?.FirstOrDefault(e => e.ID == invitee.ID) == null) { if (result.Invitees == null) { result.Invitees = new List <Officer>(); } result.Invitees.Add(invitee); } Findings outFindings = null; if ((findings?.ID ?? 0) > 0 && !_findingsCache.TryGetValue(findings.ID, out outFindings)) { _findingsCache[findings.ID] = findings; if (result.Findings == null) { result.Findings = new List <Findings>(); } if (!string.IsNullOrEmpty(findingsOfficer?.Name)) { findings.Officer = findingsOfficer; } if ((signature?.ID ?? 0) > 0) { findings.Attachment = signature; } result.Findings.Add(findings); outFindings = findings; } FindingsLineItem outFindingsLineItem = null; if ((findingsLineItem?.ID ?? 0) > 0 && !_findingsLineItemCache.TryGetValue(findingsLineItem.ID, out outFindingsLineItem)) { _findingsLineItemCache[findingsLineItem.ID] = findingsLineItem; if (outFindings.LineItems == null) { outFindings.LineItems = new List <FindingsLineItem>(); } outFindings.LineItems.Add(findingsLineItem); outFindingsLineItem = findingsLineItem; } if ((findingsLineItemAttachment?.ID ?? 0) > 0 && !_findingsLineItemAttachmentCache.ContainsKey(findingsLineItemAttachment.ID)) { _findingsLineItemAttachmentCache[findingsLineItemAttachment.ID] = findingsLineItemAttachment; if (outFindingsLineItem.Attachments == null) { outFindingsLineItem.Attachments = new List <Attachment>(); } outFindingsLineItem.Attachments.Add(findingsLineItemAttachment); } Person outContactPerson = null; if (person?.ID != null && person.ID != Guid.Empty && !_personCache.TryGetValue(person.ID, out outContactPerson)) { _personCache[person.ID] = person; outContactPerson = person; } result.ContactPerson = outContactPerson; if ((contactInfo?.ID ?? 0L) != 0L && !_contactInfoCache.ContainsKey(contactInfo.ID)) { _contactInfoCache[contactInfo.ID] = contactInfo; if (outContactPerson.ContactInfos == null) { outContactPerson.ContactInfos = new List <ContactInfo>(); } outContactPerson.ContactInfos.Add(contactInfo); } return(result); }