private void StoreAvmResponse(int orderId, int currentUserId, string avmResponseString) { var documentBytes = Encoding.Unicode.GetBytes(avmResponseString); var documentInfo = new DocumentInfo(); documentInfo.DateAdded = DateTime.Now; documentInfo.Size = documentBytes.Length; documentInfo.AddedByUserId = currentUserId; documentInfo.Name = DVS.Logic.Constants.Avm.AvmResponseDocumentType + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + "-" + DateTime.Now.Year + "-id-" + orderId; documentInfo.DocumentType = DVS.Logic.Constants.Avm.AvmResponseDocumentType; var documentGuid = _documentService.StoreDocument(documentInfo, documentBytes); var responseXMLDocument = new XmlDocument(); responseXMLDocument.LoadXml(avmResponseString); var pdfReportLinkNode = responseXMLDocument.SelectSingleNode("//pdf/pdfLink"); if (pdfReportLinkNode != null) { using (WebClient webClient = new WebClient()) { var pdfReport = webClient.DownloadData(pdfReportLinkNode.InnerText); var pdfDocumentInfo = new DocumentInfo(); pdfDocumentInfo.DateAdded = DateTime.Now; pdfDocumentInfo.Size = pdfReport.Length; pdfDocumentInfo.AddedByUserId = currentUserId; pdfDocumentInfo.Name = ".pdf" + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + "-" + DateTime.Now.Year + "-id-" + orderId; pdfDocumentInfo.DocumentType = ".pdf"; var pdfDocumentGuid = _documentService.StoreDocument(pdfDocumentInfo, pdfReport); UpdateAvmResponse(orderId, documentGuid, pdfDocumentGuid); } } else { UpdateAvmResponse(orderId, documentGuid, null); } _commitProvider.Commit(); }
public Guid StoreDocument(DocumentInfo documentInfo, byte[] document) { using (StorageServiceClient client = new StorageServiceClient()) { return client.StoreDocument(documentInfo, document); } }
public void FileUploadController_Download_should_return_file_stream() { var documentInfo = new DocumentInfo() { Name = "test.pdf" }; var documentStream = new MemoryStream(); DocumentService.IsDocumentExist(Arg.Any<Guid>()).Returns(true); DocumentService.GetDocumentInfo(Arg.Any<Guid>()).Returns(documentInfo); DocumentService.GetDocumentStream(Arg.Any<Guid>()).Returns(documentStream); AppraiserAccessManager.CanDownloadUserDocuments(Arg.Any<string>()).Returns(true); Target.Download(Guid.Empty); Target.HttpContext.Response.ContentType.Should().Be("application/octet-stream"); }
public Guid StoreDocument(DocumentInfo documentInfo, byte[] document) { using (DVSContext dc = new DVSContext()) { documentInfo.DocumentStorageId = documentInfo.DocumentStorageId == Guid.Empty ? Guid.NewGuid() : documentInfo.DocumentStorageId; documentInfo.Name = documentInfo.Name ?? String.Empty; documentInfo.AddedByUserId = documentInfo.AddedByUserId; documentInfo.DateAdded = documentInfo.DateAdded == default(DateTime) ? DateTime.Now : documentInfo.DateAdded; dc.DocumentInfos.Add(documentInfo); dc.SaveChanges(); } _documentStorage.StoreDocument(document, documentInfo.DocumentStorageId); return documentInfo.DocumentStorageId; }
public void GenerateAndSaveLOE(Order order, int currentUserId) { if (order.OrderStatus == OrderStatus.CreationProcess || order.OrderStatus == OrderStatus.Draft) { throw new SecurityException(string.Format("Unable to generate LOE. Wrong status. (order id:{0})", order.Id)); } var document = _reportManager.GetLOEReport(order.Id, ReportFormat.PDF); var documentInfo = new DocumentInfo() { AddedByUserId = currentUserId, DateAdded = DateTime.Now, DocumentType = "application/pdf", Name = "Order#" + order.OrderPublicId + "_LOE.pdf", Size = document.Length }; var documentStorageId = _documentService.StoreDocument(documentInfo, document); order.LOEDocument = documentStorageId; }
public void GenerateAndSaveLOE_should_throw_generate_document() { var userId = 1; var order = new Order { Id = 1, OrderStatus = OrderStatus.OrderAccepted, OrderPublicId = "1234567890" }; var documentGuid = Guid.NewGuid(); var document = new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}; _reportManager.GetLOEReport(order.Id, ReportFormat.PDF).Returns(document); var documentInfo = new DocumentInfo() { AddedByUserId = userId, DateAdded = DateTime.Now, DocumentType = "application/pdf", Name = "Order#" + order.OrderPublicId + "_LOE.pdf", Size = document.Length }; _documentService.StoreDocument(documentInfo, document).Returns(documentGuid); _target.GenerateAndSaveLOE(order, userId); }
private Order CreateTestOrderInternal(int appraiserUserId) { var isTestOrderAdded = _orderRepository.Get(o => o.IsTestOrder == true && o.AcceptedAppraiserUserId == appraiserUserId).Count() > 0; if (!isTestOrderAdded) { var order = new Order(); var orderData = _referenceManagement.GetTestOrderData(); #region Populate Fields order.AcceptedAppraiserUserId = appraiserUserId; order.IsTestOrder = true; order.LastCompletedStep = 5; order.AppraisalInfo = new OrderAppraisalInfo { AppraisalForm = int.Parse(orderData[OrderField.AppraisalForm]), AppraisalTypeId = int.Parse(orderData[OrderField.AppraisalTypeId]), LoanTypeId = int.Parse(orderData[OrderField.LoanTypeId]), OccupancyTypeId = int.Parse(orderData[OrderField.OccupancyTypeId]), PropertyTypeId = int.Parse(orderData[OrderField.PropertyTypeId]), Rush = false, SecondDuplicateAppraisal = false, SupplementalREOAddendum = false }; order.AppraiserOrderDeliveryType = (int)AppraiserOrderDeliveryType.Email; order.ClientCompanyId = int.Parse(orderData[OrderField.ClientCompanyId]); order.ClientCompanyBrancheId = int.Parse(orderData[OrderField.ClientCompanyBrancheId]); order.CreatedByClientUserId = int.Parse(orderData[OrderField.CreatedByClientUserId]); order.CreationDate = DateTime.Now; order.DueDate = _businessDaysCalc.GetNextBusinessDay(DateTime.Now, 5); order.FeeInfo = new OrderFeeInfo { IsPlatformUtilizationFeeVisible = true, AppraisalFee = 100, RushFee = 100, SecondAppraisalFee = 100, PlatformUtilizationFee = 100, SupplementalREOAddendumFee = 100 }; order.GeneralInfo = new OrderGeneralInfo { BorrowerFirstName = orderData[OrderField.BorrowerFirstName], BorrowerLastName = orderData[OrderField.BorrowerLastName], LoanNumber = orderData[OrderField.LoanNumber], PropertyAddress = new Address { City = orderData[OrderField.PropertyCity], County = orderData[OrderField.PropertyCounty], State = orderData[OrderField.PropertyState], Street = orderData[OrderField.PropertyStreet], ZIP = orderData[OrderField.PropertyZip] } }; order.LoanAndContactInfo = new OrderLoanAndContactInfo { PurchasePrice = double.Parse(orderData[OrderField.PurchasePrice]), GFEAmount = double.Parse(orderData[OrderField.GFEAmount]), GFEDate = DateTime.Now, LoanPurposeTypeId = int.Parse(orderData[OrderField.LoanPurposeTypeId]), Contacts = new List<OrderContact> { new OrderContact { ContactRoleId = int.Parse(orderData[OrderField.ContactRoleId]), Name = orderData[OrderField.ContactName], Phone = orderData[OrderField.ContactPhone] } } }; order.GeocodingCounty = orderData[OrderField.PropertyCounty]; order.Latitude = 1; order.Longitude = 1; order.OrderPublicId = orderData[OrderField.OrderPublicId]; order.OrderStatus = OrderStatus.OrderAccepted; var appraiserOrder = new AppraiserOrder { AppraiserId = order.AcceptedAppraiserUserId.Value, CreatedDate = order.CreationDate, Distance = 1, IsDeclined = false, Order = order }; if (_configurationHelper.Environment != DvsEnvironment.Local) { var fileName = orderData[OrderField.PurchaseContractFileName]; var purchaseContract = _documentService.GetStaticContent(fileName); var documentInfo = new DocumentInfo(); documentInfo.Name = fileName; documentInfo.DateAdded = DateTime.Now; documentInfo.AddedByUserId = _securityContext.CurrentUser.Id; documentInfo.Size = purchaseContract.Length; var documentStorageId = _documentService.StoreDocument(documentInfo, purchaseContract); order.LoanAndContactInfo.PurchaseContractFileGuid = documentStorageId; _orderDocumentsRepository.Add(new OrderDocumentInfo() { DocumentTypeId = (int)DocumentType.PurchaseContract, FileId = documentStorageId, UserType = DocumentUserType.Lender, OrderId = order.Id }); } #endregion _appraiserOrderRepository.Add(appraiserOrder); return order; } else { return null; } }
public Guid GenerateNachaFile(List<NachaFileAppraiserEntry> listOfAppraiserBilling, DateTime effectiveDate, DateTime throughDate, out bool isSuccess) { try { lock (Locker) { var firstUTN = _nachaFileGenerationManager.GetFirstUniqueTraceNumber(); int added = 0; for (int i = 0; i < listOfAppraiserBilling.Count; i++) { listOfAppraiserBilling[i].UniqueTraceNumber = i + firstUTN + added; if (i + firstUTN >= 9999999) { firstUTN = 1; added = -i; } } var lastUTN = firstUTN + listOfAppraiserBilling.Count - 1 + added; var fileIdModifier = _nachaFileGenerationManager.GetFileIdModifier(); var batchNumber = _nachaFileGenerationManager.GetBatchNumber(); var creationDate = DateTime.Now; var fileName = string.Format("dvs_ach_{0:yyyyMMdd_HH-mm-ss-tt}.ach", creationDate); var nachaFile = new NachaFile( new NachaFileInfo { FileIdModifier = fileIdModifier, BatchNumber = batchNumber, CreationDate = creationDate, EffectiveEntryDate = effectiveDate, CompanyDescriptiveDate = throughDate }, listOfAppraiserBilling).RenderNachaFile(); var documentInfo = new DocumentInfo() { AddedByUserId = _securityContext.CurrentUser.Id, DateAdded = creationDate, DocumentType = "nacha file", Name = fileName, Size = nachaFile.Length }; var documentStorageId = _documentService.StoreDocument(documentInfo, Encoding.Default.GetBytes(nachaFile)); var newNachaFile = new Model.Entities.NachaFile { BatchNumber = batchNumber, UniqueTraceNumber = lastUTN, CreationDate = creationDate, FileIdModifier = fileIdModifier, FileId = documentStorageId, FileName = fileName, DvsUser = _usersManagement.GetDvsUserByUserId(_securityContext.CurrentUser.Id) }; _nachaFilesRepository.Add(newNachaFile); isSuccess = true; return documentStorageId; } } catch (Exception) { isSuccess = false; throw; } }
private void UploadFileInternal(List<ViewDataUploadFilesResult> statuses, HttpPostedFileBase file) { //IE fix var fileName = file.FileName; if (file.FileName.Contains(@"\")) { fileName = file.FileName.Split(new string[] { @"\" }, StringSplitOptions.RemoveEmptyEntries).Last(); } using (var inputStream = file.InputStream) { byte[] buffer; using (BinaryReader br = new BinaryReader(inputStream)) { buffer = br.ReadBytes((int)inputStream.Length); } var documentInfo = new DocumentInfo(); documentInfo.Name = fileName; documentInfo.DocumentType = file.ContentType; documentInfo.Size = buffer.Length; documentInfo.DateAdded = DateTime.Now; documentInfo.AddedByUserId = SecurityContext.CurrentUser.Id; var documentStorageId = _documentService.StoreDocument(documentInfo, buffer); statuses.Add(new ViewDataUploadFilesResult() { id = documentStorageId, name = fileName, size = buffer.Length, type = file.ContentType, uploaded = DateTime.Now.ToString("MM/dd/yyyy hh:mm tt") }); } }
private Guid GenerateOrderReport(ProcessCreditCardViewModel viewModel, string transactionId, string orderPublicNumber) { string creditCardName = _referenceManager.GetReference(ReferenceType.CreditCardTypes, false)[viewModel.CreditCardType.Value]; var pdfDocument = _reportManager.GetPropertyAppraisalReceiptReport( viewModel.OrderId, viewModel.FirstName, viewModel.LastName, creditCardName, transactionId, viewModel.BillingAddress.Street, viewModel.BillingAddress.ZIP, GetStateAbbreviation(viewModel.BillingAddress.State), viewModel.BillingAddress.City, ReportFormat.PDF); var encryptedDocument = _cryptographicProvider.Encrypt(pdfDocument); var documentInfo = new DocumentInfo() { AddedByUserId = _securityContext.CurrentUser.Id, DateAdded = DateTime.Now, DocumentType = ".pdf", Name = "Order#" + orderPublicNumber + "_Receipt", Size = encryptedDocument.Value.Length, IsEncrypted = true }; var documentStorageId = _documentService.StoreDocument(documentInfo, encryptedDocument.Value); return documentStorageId; }
private Guid StoreAvmRequest(int orderId, int currentUserId, string avmRequestString) { var documentBytes = Encoding.Unicode.GetBytes(avmRequestString); var documentInfo = new DocumentInfo(); documentInfo.DateAdded = DateTime.Now; documentInfo.Size = documentBytes.Length; documentInfo.AddedByUserId = currentUserId; documentInfo.Name = DVS.Logic.Constants.Avm.AvmRequestDocumentType + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + "-" + DateTime.Now.Year + "-id-" + orderId; documentInfo.DocumentType = DVS.Logic.Constants.Avm.AvmRequestDocumentType; var documentStorageId = _documentService.StoreDocument(documentInfo, documentBytes); UpdateAvmRequest(orderId, documentStorageId); _commitProvider.Commit(); return documentStorageId; }
private bool ProcessSingleFile(int orderId, string fileExt, string fileName, int documentType) { var fullName = string.Format(_hotSpotDataFolder, fileExt, fileName); if (!System.IO.File.Exists(fullName)) { throw new ApplicationException(string.Format("ACI processing files. File {0} does not exist", fullName)); } var fileBytes = System.IO.File.ReadAllBytes(fullName); var documentInfo = new DocumentInfo(); documentInfo.DateAdded = DateTime.Now; documentInfo.Size = fileBytes.Length; documentInfo.AddedByUserId = SecurityContext.CurrentUser.Id; documentInfo.Name = fileName; documentInfo.DocumentType = fileExt; var documentGuid = _documentService.StoreDocument(documentInfo, fileBytes); _orderDocumentsService.AddOrderDocument(orderId, documentGuid, documentType, null); System.IO.File.Delete(fullName); return true; }