Ejemplo n.º 1
0
        public void Given_any_request_when_AddAccidentRecordDocument_Accident_record_retrieved()
        {
            _request = new AccidentRecordOverviewRequest()
            {
                AccidentRecordId = _accidentRecord.Id,
                CompanyId = _user.CompanyId,
                UserId = _user.Id,
                Description = "description here"
            };

            //when
            var target = GetTarget();
            target.SetAccidentRecordOverviewDetails(_request);

            //then
            _accidentRecordRepository.Verify(x => x.GetByIdAndCompanyId(_request.AccidentRecordId,_request.CompanyId), Times.Once());
        }
Ejemplo n.º 2
0
        public void UpdateAccidentRecordOverview(OverviewViewModel overviewModel,DocumentsToSaveViewModel documentsToSaveViewModel)
        {
            if (documentsToSaveViewModel.CreateDocumentRequests.Count > 0)
            {
                var request = new AddDocumentToAccidentReportRequest
                {
                    AccidentRecordId = overviewModel.AccidentRecordId
                    ,
                    UserId = CurrentUser.UserId,
                    CompanyId = CurrentUser.CompanyId
                    ,
                    DocumentLibraryIds = documentsToSaveViewModel.CreateDocumentRequests.Select(x => new DocumentLibraryFile() { Description = x.Description, Filename = x.Filename, Id = x.DocumentLibraryId }).ToList()
                };
                
                _accidentRecordService.AddAccidentRecordDocument(request);
            }

            if (documentsToSaveViewModel.DeleteDocumentRequests.Count > 0)
            {
                var request = new RemoveDocumentsFromAccidentRecordRequest()
                {
                    AccidentRecordId = overviewModel.AccidentRecordId,
                    UserId = CurrentUser.UserId,
                    CompanyId = CurrentUser.CompanyId,
                    DocumentLibraryIds = documentsToSaveViewModel.DeleteDocumentRequests
                };

                _accidentRecordService.RemoveAccidentRecordDocuments(request);
            }

            var accidentRecordOverviewRequest = new AccidentRecordOverviewRequest()
                              {
                                  AccidentRecordId = overviewModel.AccidentRecordId,
                                  CompanyId = CurrentUser.CompanyId,
                                  UserId = CurrentUser.UserId,
                                  Description = overviewModel.DescriptionHowAccidentHappened,
                                  DoNotSendEmailNotification = overviewModel.DoNotSendEmailNotification
                              };


            _accidentRecordService.SetAccidentRecordOverviewDetails(accidentRecordOverviewRequest);
            
            if (!overviewModel.DoNotSendEmailNotification)
            {
                _accidentRecordService.SendAccidentRecordEmails(overviewModel.AccidentRecordId, CurrentUser.CompanyId, CurrentUser.UserId);
            }
        }
        public void SetAccidentRecordOverviewDetails(AccidentRecordOverviewRequest request)
        {
            var user = _userForAuditingRepository.GetByIdAndCompanyId(request.UserId, request.CompanyId);
            var accidentRecord = _accidentRecordRepository.GetByIdAndCompanyId(request.AccidentRecordId, user.CompanyId);

            accidentRecord.SetAccidentRecordOverviewDetails(request.Description, request.DoNotSendEmailNotification, user);
            _accidentRecordRepository.Save(accidentRecord);
        }