public Guid AddAttachmentToSummary(Attachment attachment, Guid summaryId) { // Load the Summary. var summary = _sumUoW.Find <Summary>(summaryId); // TODO: Check permissions once we determine module type. // Construct the Entity. var entity = new SummaryAttachment(IdentityId, summary.AgencyId, attachment.Id); // Map into the summary-specific type. attachment.MapInto(entity); // Add the attachment. summary.Attachments.Add(entity); _sumUoW.Commit(); // TODO: Hack until the Surrogate Keys are introduced in the Data layer. // TODO: Currently the Event messages will get the wrong Id unless they are raised AFTER the database commit // TODO: because the database may override the Guid the Domain is trying to use. _sumUoW.PendingMessages.Add(DataEntryMessages.EntityCreated(entity, summary.ModuleType, DataEntryAggregateType.Summary)); _sumUoW.PublishPendingMessages(); return(entity.Id); }
public void ClassSetUp() { _factory = new MockRepository(MockBehavior.Loose); _reportsUnitOfWork = _factory.Create <IReportsUnitOfWork>(); _summariesUnitOfWork = _factory.Create <ISummariesUnitOfWork>(); _classicImagesRepository = _factory.Create <IClassicImagesRepository>(); _reportDerived = new ReportDerived(Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), ModuleType.Incident, true); _case = new Domain.Summaries.Case.Case(Guid.NewGuid(), Guid.NewGuid(), "number"); _summaryDerived = new SummaryDerived(Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), ModuleType.Incident, "number", _case); _reportAttachment = new ReportAttachment(Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid()); _reportAttachment.FileName = FileName; _reportAttachment.Source = "InformRMSWeb"; _summaryAttachment = new SummaryAttachment(Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid()); _summaryAttachment.FileName = FileName; _summaryAttachment.Source = "InformRMSWeb"; _reportsUnitOfWork.Setup(mock => mock.Find <ReportAttachment>(It.IsAny <Guid>(), It.IsAny <TrackingMode>(), It.IsAny <ThrowIf>())) .Returns(_reportAttachment); _reportsUnitOfWork.Setup(mock => mock.Find <Report>(It.IsAny <Guid>(), It.IsAny <TrackingMode>(), It.IsAny <ThrowIf>())) .Returns(_reportDerived); _summariesUnitOfWork.Setup(mock => mock.Find <Summary>(It.IsAny <Guid>(), It.IsAny <TrackingMode>(), It.IsAny <ThrowIf>())) .Returns(_summaryDerived); _summariesUnitOfWork.Setup(mock => mock.Find <SummaryAttachment>(It.IsAny <Guid>(), It.IsAny <TrackingMode>(), It.IsAny <ThrowIf>())) .Returns(_summaryAttachment); _attachmentQueryService = new AttachmentQueryService(_reportsUnitOfWork.Object, _summariesUnitOfWork.Object, _classicImagesRepository.Object, Mock.Of <ILog>(), Mock.Of <IServiceAuthorizationPolicy>(), Mock.Of <IServiceIdentityProvider>()); }
public void ClassSetUp() { _identityId = Guid.NewGuid(); var identityContext = new IdentityContext() { IdentityId = Guid.NewGuid() }; _authorizationPolicy = new Mock <IServiceAuthorizationPolicy>(); _authorizationPolicy.Setup(mock => mock.RequireViewPermissions(It.IsAny <IdentityContext>(), It.IsAny <Guid>(), It.IsAny <ModuleType>())); _identityProvider = new Mock <IServiceIdentityProvider>(); _identityProvider.Setup(x => x.GetPrincipalIdentifier()).Returns(identityContext.IdentityId); _identityProvider.Setup(x => x.GetIdentityContext()).Returns(identityContext); _factory = new MockRepository(MockBehavior.Loose); _reportDerived = new ReportDerived(Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), ModuleType.Incident, true); _case = new Domain.Summaries.Case.Case(Guid.NewGuid(), Guid.NewGuid(), "number"); _summaryDerived = new SummaryDerived(Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), ModuleType.Incident, "number", _case); _reportAttachment = new ReportAttachment(Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid()); _summaryAttachment = new SummaryAttachment(Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid()); //_eventDispatcher = _factory.Create<IEventDispatcher>(); _messageBusClient = _factory.Create <IMessageBusPublishClient>(); //MessageBus.SetInstance( //_eventDispatcher.Object, _messageBusClient.Object ); //_eventDispatcher.Setup( mock => mock.Publish( It.IsAny<object>() ) ); _reportsUnitOfWork = _factory.Create <IReportsUnitOfWork>(); _summariesUnitOfWork = _factory.Create <ISummariesUnitOfWork>(); _reportsUnitOfWork.Setup(mock => mock.Find <ReportAttachment>(It.IsAny <Guid>(), It.IsAny <TrackingMode>(), It.IsAny <ThrowIf>())) .Returns(_reportAttachment); _reportsUnitOfWork.Setup(mock => mock.Find <Report>(It.IsAny <Guid>(), It.IsAny <TrackingMode>(), It.IsAny <ThrowIf>())) .Returns(_reportDerived); _summariesUnitOfWork.Setup(mock => mock.Find <SummaryAttachment>(It.IsAny <Guid>(), It.IsAny <TrackingMode>(), It.IsAny <ThrowIf>())) .Returns(_summaryAttachment); _summariesUnitOfWork.Setup(mock => mock.Find <Summary>(It.IsAny <Guid>(), It.IsAny <TrackingMode>(), It.IsAny <ThrowIf>())) .Returns(_summaryDerived); _reportsUnitOfWork.Setup(x => x.PendingMessages).Returns(new System.Collections.Generic.List <TriTech.InformRMS.Infrastructure.Messaging.Contracts.Messages.Message>()); _summariesUnitOfWork.Setup(x => x.PendingMessages).Returns(new System.Collections.Generic.List <TriTech.InformRMS.Infrastructure.Messaging.Contracts.Messages.Message>()); _attachmentCommandService = new AttachmentCommandService( _reportsUnitOfWork.Object, _summariesUnitOfWork.Object, Mock.Of <ILog>(), _authorizationPolicy.Object, _identityProvider.Object); }
/// <summary> /// Add the PDF to Report and Summary /// </summary> public void AttachOfficerReport(Attachment attachment, Report report, Summary summary) { //todo: Enable MSDTC? var reportAttachment = new ReportAttachment(report.CreatedBy, report.AgencyId, attachment.Id); attachment.MapInto(reportAttachment); report.Attachments.Add(reportAttachment); _rptUoW.Commit(); var summaryAttachment = new SummaryAttachment(summary.CreatedBy, summary.AgencyId, attachment.Id); attachment.MapInto(summaryAttachment); summary.Attachments.Add(summaryAttachment); _summariesUnitOfWork.Commit(); // Raise a message indicating that the report has been attached to the summary. _summariesUnitOfWork.PendingMessages.Add(DataEntryMessages.EntityCreated(summaryAttachment, summary.ModuleType, DataEntryAggregateType.Summary)); _summariesUnitOfWork.PublishPendingMessages(); }