private static string GetRequestCountryCode(ExpertSearchSimilar s) { var request = s.Request; var earlyReg = request?.EarlyRegs.FirstOrDefault(); if (earlyReg == null) { return(string.Empty); } return(earlyReg.RegCountry.Code); }
private SimilarRequest GetSimilarRequest(ExpertSearchSimilar x) { switch (x.OwnerType) { case Owner.Type.Request: var itemDeclarant = string.Join(",", x.SimilarRequest.RequestCustomers .Where(c => c.CustomerRoleId == CustomerRoleDeclarantId) .Select(c => $"{c.Customer?.NameRu} ({c.Address ?? c.Customer?.Address})") ); var itemICGSNumbers = string.Join(", ", x.SimilarRequest.ICGSRequests.Select(i => i.Icgs.Code.Substring(0, 2))); var itemDisclamation = x.SimilarRequest.DisclaimerRu ?? string.Empty; var itemPatentOwner = string.Join(", ", x.SimilarRequest.RequestCustomers .Where(c => c.CustomerRoleId == CustomerRolePatentOwnerId) .Select(c => c.Customer.NameRu)); var itemRequestNumber = x.SimilarRequest.RequestNum ?? string.Empty; var itemRequestDate = x.SimilarRequest.RequestDate?.ToString("dd.MM.yyyy") ?? string.Empty; return(new SimilarRequest { ItemDeclarantOrPatentOwner = itemDeclarant, ItemICGSNumbers = itemICGSNumbers, ItemImage = x.SimilarRequest.Image ?? new byte[0], ItemDisclamation = itemDisclamation, ItemPatentOwner = itemPatentOwner, ItemRequestNumber = itemRequestNumber, ItemRequestDate = itemRequestDate, ItemGosreestr = string.Empty, ItemProtectionDocNumber = string.Empty, ItemProtectionDocValidDate = string.Empty, ItemComment = x.ProtectionDocCategory ?? x.ProtectionDocFormula ?? string.Empty }); case Owner.Type.ProtectionDoc: return(new SimilarRequest { ItemDeclarantOrPatentOwner = GetProtectionDocCustomersWithAddress(x.SimilarProtectionDoc.ProtectionDocCustomers.ToList()) //string.Join(", ", x.SimilarProtectionDoc.ProtectionDocCustomers //.Where(c => c.CustomerRoleId == CustomerRoleDeclarantId) //.Select(c => c.Customer.NameRu)) , ItemProtectionDocNumber = x.SimilarProtectionDoc.RegNumber ?? string.Empty, ItemICGSNumbers = string.Join(", ", x.SimilarProtectionDoc.IcgsProtectionDocs.Select(i => i.Icgs.Code)), ItemProtectionDocValidDate = x.SimilarProtectionDoc.ValidDate?.ToString("dd.MM.yyyy") ?? string.Empty, ItemImage = x.SimilarProtectionDoc.Image, ItemDisclamation = x.SimilarProtectionDoc.DisclaimerRu ?? string.Empty, ItemGosreestr = x.SimilarProtectionDoc.Gosreestr ?? string.Empty, //ItemPatentOwner = string.Join(", ", x.SimilarProtectionDoc.ProtectionDocCustomers // .Where(c => c.CustomerRoleId == CustomerRolePatentOwnerId) // .Select(c => c.Customer.NameRu)), ItemRequestNumber = x.SimilarProtectionDoc.Request != null ? x.SimilarProtectionDoc.Request.RequestNum ?? string.Empty : string.Empty, ItemRequestDate = x.SimilarProtectionDoc.Request != null ? x.SimilarProtectionDoc.Request.RequestDate?.ToString("dd.MM.yyyy") ?? string.Empty : string.Empty, ItemComment = x.ProtectionDocCategory ?? x.ProtectionDocFormula ?? string.Empty }); default: throw new ArgumentOutOfRangeException(); } }