protected override void Context() { base.Context(); _processDocumentRequest = new LocalizeDocumentRequest { DocumentId = DocumentId, SaveToDB = false}; _expectedProcessDocumentResult = new ProcessDocumentResult { ProcessedDocuments = new List<ProcessedDocument> { new ProcessedDocument { Title = "some title", Body = "value1", }, new ProcessedDocument { Body = "value2", Title = "some title", }, }, }; MockAuthorizationService.Stub( x => x.CanExecute(Arg<string>.Is.Equal(Username), Arg<Type>.Is.Equal(typeof(LocalizeDocumentRequest)))) .Return(true); MockDocumentRepository.Stub(x => x.GetById(Arg<int>.Is.Equal(DocumentId))) .Return(new Document { Body = "$(ContactFirstName)", Title = "some title", DocumentId = DocumentId, }); MockCustomerRepository.Stub(x => x.GetByCustomersByIds(Arg<List<int>>.Is.Anything)) .Return(new List<Customer> { new Customer { Contacts = new List<Contact> { new Contact { FirstName = "value1", IsPrimary = true, } } }, new Customer { Contacts = new List<Contact> { new Contact { FirstName = "value2", IsPrimary = true, } } } }); }
private ProcessDocumentResult LocalizeDocument(LocalizeDocumentRequest processDocumentRequest, String username) { Document document = _documentRepository.GetById(processDocumentRequest.DocumentId); IEnumerable<string> documentFields = GetDocumentFields(document); IEnumerable<Customer> customers = _customerRepository.GetChildrenCustomers(document.CustomerId); IEnumerable<CustomerDocumentFieldValues> customerDocumentFieldValuesList = GetCustomerFieldMappings(customers, documentFields); var processedDocuments = new List<ProcessedDocument>(); foreach (CustomerDocumentFieldValues customerDocumentFieldValues in customerDocumentFieldValuesList) { ProcessedDocument doc = MapDocument(document, customerDocumentFieldValues); doc.DocumentTemplateId = processDocumentRequest.DocumentId; doc.CustomerId = customerDocumentFieldValues.Customer.CustomerId; doc.Edited = false; processedDocuments.Add(doc); } if (processDocumentRequest.SaveToDB) { _documentRepository.UpsertLocalizedDocuments(processDocumentRequest.DocumentId, processedDocuments, username); } return new ProcessDocumentResult { ProcessedDocuments = processedDocuments, }; }
public JsonResult LocalizeDocument(LocalizeDocumentRequest ldr) { Document document = _documentRepository.GetById(ldr.DocumentId); var res = new Dictionary<String, Object>(); LocalizeDocument(ldr, User.Identity.Name); res.Add("success", true); return Json(res); }
public ActionResult ViewDocument(int documentId, int customerId) { var ldr = new LocalizeDocumentRequest {DocumentId = documentId, SaveToDB = false}; ProcessDocumentResult docs = LocalizeDocument(ldr, User.Identity.Name); return View(docs.ProcessedDocuments.FirstOrDefault() ?? new ProcessedDocument { DocumentTemplateId = documentId, }); }