public List<TpTreaty> GetTpTreaty(string hostCountryCode, string searchQuery) { if (!string.IsNullOrEmpty(searchQuery)) { return GetTpTreatyByArticleContentSearch(hostCountryCode, searchQuery.Trim()); } using (var work = new UnitOfWork()) { var allTpTreaties = new List<TpTreaty>(); var tpTreaties = new TpTreatyRepository(work).GetTpTreaty(hostCountryCode, searchQuery).ToList(); var distinctConceptIds = tpTreaties.Select(b => b.OcdeArt1_ConceptId).Distinct() .Union(tpTreaties.Select(b => b.OcdeArt2_ConceptId).Distinct()) .Union(tpTreaties.Select(b => b.OcdeArt3_ConceptId).Distinct()) .Union(tpTreaties.Select(b => b.CompetentAuthority_ConceptId).Distinct()) .Union(tpTreaties.Select(b => b.ReliefFromDouble_ConceptId).Distinct()) .Where(b => b!= null).Select(b => b); var conceptIds = string.Join(",", distinctConceptIds); var partnerCountryCodes = string.Join(",", tpTreaties.Select(b => b.Country1.Code).ToList()); var articles = new TreetyBusiness().GetArticlesByHostCountry(hostCountryCode, partnerCountryCodes, conceptIds); var treatyBusiness = new TreetyBusiness(); foreach (var treaty in tpTreaties) { var countryPair = treatyBusiness.GetPairCountryCode(hostCountryCode, treaty.Country1.Code); allTpTreaties.Add(new TpTreaty() { Id = treaty.Id, OcdeArt1 = !string.IsNullOrEmpty(treaty.OcdeArt1) ? treaty.OcdeArt1 : string.Empty, OcdeArt2 = !string.IsNullOrEmpty(treaty.OcdeArt2) ? treaty.OcdeArt2 : string.Empty, TreatyPartnerCountry = treaty.Country1.Name, TreatyPartnerCountryCode = treaty.Country1.Code, CompetentAuthority = !string.IsNullOrEmpty(treaty.CompetentAuthority) ? treaty.CompetentAuthority : string.Empty, ReliefFromDouble = !string.IsNullOrEmpty(treaty.ReliefFromDouble) ? treaty.ReliefFromDouble : string.Empty, OcdeArt1ConceptId = treaty.OcdeArt1_ConceptId, OcdeArt2ConceptId = treaty.OcdeArt2_ConceptId, ReliefFromDoubleConceptId = treaty.ReliefFromDouble_ConceptId, CompetentAuthorityConceptId = treaty.CompetentAuthority_ConceptId, OcdeArt3 = treaty.OcdeArt3, OcdeArt3ConceptId = treaty.OcdeArt3_ConceptId, IsContentAvailbleForCompetentAuthority = articles.Count(b => (b.HostCountryCode == countryPair[0] && b.PartnerCountryCode == countryPair[1]) && b.ConceptId == treaty.CompetentAuthority_ConceptId && b.ArticleContent.Length > 0) > 0, IsContentAvailbleForReliefFromDouble = articles.Count(b => (b.HostCountryCode == countryPair[0] && b.PartnerCountryCode == countryPair[1]) && b.ConceptId == treaty.ReliefFromDouble_ConceptId && b.ArticleContent.Length > 0) > 0, IsContentAvailbleForOcdeArt3 = articles.Count(b => (b.HostCountryCode == countryPair[0] && b.PartnerCountryCode == countryPair[1]) && b.ConceptId == treaty.OcdeArt3_ConceptId && b.ArticleContent.Length > 0) > 0, IsContentAvailbleForOcdeArt2 = articles.Count(b => (b.HostCountryCode == countryPair[0] && b.PartnerCountryCode == countryPair[1]) && b.ConceptId == treaty.OcdeArt2_ConceptId && b.ArticleContent.Length > 0) > 0, IsContentAvailbleForOcdeArt1 = articles.Count(b => (b.HostCountryCode == countryPair[0] && b.PartnerCountryCode == countryPair[1]) && b.ConceptId == treaty.OcdeArt1_ConceptId && b.ArticleContent.Length > 0) > 0 }); } allTpTreaties = allTpTreaties.OrderBy(a => a.TreatyPartnerCountry).ToList(); return allTpTreaties; } }
public List<TreatyArticleMetadata> Get(int hostCountryId, int partnerCountryId, string concept) { var response = new TreetyBusiness().GetArticles(hostCountryId, partnerCountryId, concept); if (response.Success) { return response.Data; } throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest)); }
public void ProcessRequest(HttpContext context) { byte[] data = null; string fileName = string.Empty; if (IsTreaty) { data = new TreetyBusiness().GetTreatyContent(TreatyId,out fileName); } fileName = Regex.Replace(fileName, @"[\W]", "_"); if (data != null) WriteFileAsByteResponse(context, data, "pdf", "application/pdf", fileName); }
public List<TreatyArticleMetadata> Get(string hostCountryCode, string partnerCountryCode, string concept) { try { var response = new TreetyBusiness().GetArticlesByHostAndPartnerCountryCode(hostCountryCode, partnerCountryCode, concept); if (response.Success) { return response.Data; } } catch (Exception ex) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest)); } return new List<TreatyArticleMetadata>(); }
public string GetArticleData(string hostCountryCode, string partnerCountryCode, string conceptId) { using (var work = new UnitOfWork()) { var repository = RepositoryContainer.GetArticleRepository(work); var countryList = new TreetyBusiness().GetPairCountryCode(hostCountryCode, partnerCountryCode); var reportContent = repository.GetArticlesByHostAndPartnerCountryCode(countryList[0], countryList[1], conceptId).FirstOrDefault(); if(reportContent != null) { return reportContent.ArticleContent; } else { return string.Empty; } } }
public Response<List<TreatyWithWTRRates>> GetTreatyWithWTRRates(string hostCountryCode) { try { var treaty = new TreetyBusiness().GetTreatyWithWTRRates(hostCountryCode); return new Response<List<TreatyWithWTRRates>>() { Data = treaty, Success = true }; } catch (Exception) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest)); } }
public string GetTreatyExcelFile(string hostCountryCode, string fileType,string columnHeaderList) { var response = new Response<string>(); try { var reportGenerator = new DocumentManagerExcelReportGenerator(); List<TreatyWithWTRRates> treaty = new TreetyBusiness().GetTreatyWithWTRRates(hostCountryCode); return reportGenerator.GetnewExcelReport(AppSettings.ReportLocation, treaty,columnHeaderList); } catch (Exception ex) { return string.Empty; } }
public List<Treaty> GetTreaty(string hostCountryCode, string searchInput) { var treaty = new TreetyBusiness().GetTreaty(hostCountryCode, searchInput); var response = treaty; if (response.Success) { return response.Data; } throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest)); }
public List<TreatyWithWTRRates> GetTreatyWithWTRRates(string hostCountryCode) { using (var work = new UnitOfWork()) { var treatyMetadata = new TreatyRepository(work).GetTreaty(hostCountryCode, "").ToList(); var treatyBusiness = new TreetyBusiness(); var conceptIds = "DIV_10" + "," + "INT_11" + "," + "ROY_12"; var partnerCountryCodes = string.Join(",", treatyMetadata.Select(b => b.Country1.Code).ToList()); var partnerCountryCodes2 = string.Join(",", treatyMetadata.Select(b => b.Country.Code).ToList()); partnerCountryCodes = partnerCountryCodes + "," + partnerCountryCodes2; var articles = new TreetyBusiness().GetArticlesByHostCountry(hostCountryCode, partnerCountryCodes, conceptIds); List<TreatyWithWTRRates> listWTRRates = new List<TreatyWithWTRRates>(); foreach (var treetyMD in treatyMetadata) { var list = new WTRateRepository(work).GetAllWTRatesValue(treetyMD.HostCountryId, treetyMD.PartnerCountryId); if (list.Count == 0) list = new WTRateRepository(work).GetAllWTRatesValue(treetyMD.PartnerCountryId, treetyMD.HostCountryId); var divStreamId = ConfigurationManager.AppSettings["DivSubstantialHoldingRateStreamId"].Trim(); var divportfolioStreamId = ConfigurationManager.AppSettings["DIVPortfolioStreamId"].Trim(); var intGeneralStreamId = ConfigurationManager.AppSettings["IntGeneralStreamId"].Trim(); var intCbStreamId = ConfigurationManager.AppSettings["InterestCBRateStreamId"].Trim(); var intBankStreamId = ConfigurationManager.AppSettings["InterestBankRateStreamId"].Trim(); var royPatentStreamId = ConfigurationManager.AppSettings["RoyalityPatentRateStreamId"].Trim(); var royTmStreamId = ConfigurationManager.AppSettings["RoyalityTmRateStreamId"].Trim(); var royCrStreamId = ConfigurationManager.AppSettings["RoyalityCrRateStreamId"].Trim(); var royLpStreamId = ConfigurationManager.AppSettings["RoyalityLpRateStreamId"].Trim(); var divValue = list.Where(b => b.StreamId.Equals(divStreamId)).FirstOrDefault(); var divportfolioRatevalue = list.Where(b => b.StreamId.Equals(divportfolioStreamId)).FirstOrDefault(); var intGeneralValue = list.Where(b => b.StreamId.Equals(intGeneralStreamId)).FirstOrDefault(); var intCbValue = list.Where(b => b.StreamId.Equals(intCbStreamId)).FirstOrDefault(); var intBankValue = list.Where(b => b.StreamId.Equals(intBankStreamId)).FirstOrDefault(); var royPatentValue = list.Where(b => b.StreamId.Equals(royPatentStreamId)).FirstOrDefault(); var royTmValue = list.Where(b => b.StreamId.Equals(royTmStreamId)).FirstOrDefault(); var royLpValue = list.Where(b => b.StreamId.Equals(royLpStreamId)).FirstOrDefault(); var royCrValue = list.Where(b => b.StreamId.Equals(royCrStreamId)).FirstOrDefault(); var countryPair = treatyBusiness.GetPairCountryCode(treetyMD.Country.Code, treetyMD.Country1.Code); var partnerCountryName = treetyMD.Country1.Code == hostCountryCode ? treetyMD.Country.Name : treetyMD.Country1.Name; var partnerCountryId = treetyMD.Country1.Code == hostCountryCode ? treetyMD.Country.Id : treetyMD.Country1.Id; TreatyWithWTRRates trWithWTR = new TreatyWithWTRRates() { DivSubstantialHoldingRate = divValue == null ? "" : divValue.Rate, DivPortfolioRate = divportfolioRatevalue == null ? "" : divportfolioRatevalue.Rate, InterestGeneralRate = intGeneralValue == null ? "" : intGeneralValue.Rate, InterestCbRate = intCbValue == null ? "" : intCbValue.Rate, InterestBankRate = intBankValue == null ? "" : intBankValue.Rate, RoyaltyPatentRate = royPatentValue == null ? "" : royPatentValue.Rate, RoyaltyCrRate = royCrValue == null ? "" : royCrValue.Rate, RoyaltyLpRate = royLpValue == null ? "" : royLpValue.Rate, RoyaltyTmRate = royTmValue == null ? "" : royTmValue.Rate, DivSubstantialHoldingRateArticleLine = divValue == null ? "" : divValue.ArticleLine, DivportfolioRateArticleLine = divportfolioRatevalue == null ? "" : divportfolioRatevalue.ArticleLine, InterestGeneralRateArticleLine = intGeneralValue == null ? "" : intGeneralValue.ArticleLine, InterestBankRateArticleLine = intBankValue == null ? "" : intBankValue.ArticleLine, InterestCbRateArticleLine = intCbValue == null ? "" : intCbValue.ArticleLine, RoyaltyPatentRateArticleLine = royPatentValue == null ? "" : royPatentValue.ArticleLine, RoyaltyCrRateArticleLine = royCrValue == null ? "" : royCrValue.ArticleLine, RoyaltyLpRateArticleLine = royLpValue == null ? "" : royLpValue.ArticleLine, RoyaltyTmRateArticleLine = royTmValue == null ? "" : royTmValue.ArticleLine, Country = partnerCountryName, CountryId = partnerCountryId, CountryCode = countryPair[0].Equals(hostCountryCode) ? countryPair[1] : countryPair[0], EffectiveDate = treetyMD.EffectiveDate, EntryIntoForce = treetyMD.EntryIntoForce, Id = treetyMD.Id, IsContentAvailable = (treetyMD.TreatyPdf != null && treetyMD.TreatyPdf.Length > 0), Status = treetyMD.Status, Title = treetyMD.Title, IsContentAvailableForDividendRate = articles.Count(b => (b.HostCountryCode == countryPair[0] && b.PartnerCountryCode == countryPair[1]) && b.ConceptId == "DIV_10" && b.ArticleContent.Length > 0) > 0, IsContentAvailableForInterestRate = articles.Count(b => (b.HostCountryCode == countryPair[0] && b.PartnerCountryCode == countryPair[1]) && b.ConceptId == "INT_11" && b.ArticleContent.Length > 0) > 0, IsContentAvailableForRoyaltyRate = articles.Count(b => (b.HostCountryCode == countryPair[0] && b.PartnerCountryCode == countryPair[1]) && b.ConceptId == "ROY_12" && b.ArticleContent.Length > 0) > 0, }; listWTRRates.Add(trWithWTR); } listWTRRates = listWTRRates.OrderBy(b => b.Country).ToList(); var singleDomesticItem = GetsingleDomesticRate(hostCountryCode); listWTRRates.Insert(0, singleDomesticItem); return listWTRRates; } }