public LoanPercentSetting Find([FromBody] LoanPercentQueryModel query) { if (query == null) { throw new ArgumentNullException(nameof(query)); } query.BranchId = _branchContext.Branch.Id; return(_repository.Find(query)); }
public async Task <Stream> Build(Contract model) { var template = Template(); var stream = await _storage.Load(template, ContainerName.AnnuityTemplates); var user = _userRepository.Get(_sessionContext.UserId); var profile = _loanPercentRepository.Find(new LoanPercentQueryModel { BranchId = _branchContext.Branch.Id, CollateralType = model.CollateralType, CardType = model.ContractData.Client.CardType, LoanCost = model.LoanCost, LoanPeriod = model.LoanPeriod }); var memoryStream = new MemoryStream(); await stream.CopyToAsync(memoryStream); memoryStream.Position = 0; using (var document = WordprocessingDocument.Open(memoryStream, true)) { var paragraphs = document.MainDocumentPart.Document.Body.Descendants <Paragraph>(); foreach (var paragraph in paragraphs) { var text = SearchParts(paragraph.InnerText, model, user, profile); if (!paragraph.InnerText.Equals(text)) { var properties = paragraph.Descendants <RunProperties>().FirstOrDefault(); paragraph.RemoveAllChildren <Run>(); var run = paragraph.AppendChild(new Run()); if (properties != null) { run.RunProperties = (RunProperties)properties.Clone(); } run.AppendChild(new Text(text)); } } return(memoryStream); } }