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,
                                                               }
                                                       }
                                    }
                            });
        }
Пример #2
0
        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,
                       };
        }
Пример #3
0
 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);
 }
Пример #4
0
        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,
                                                                        });
        }