예제 #1
0
        private async Task ValidateRelation(MarriageDoc marriageDoc)
        {
            var allDocTypeRelations = await _lookupsService.GetLookups <DocumentTypeRelation>();

            var docType = await GetDocType();

            if (!allDocTypeRelations.Any(a => a.DocumentTypeId == docType.Id && a.RelationId == marriageDoc.RelationId))
            {
                throw new DomainException($"The relation of the requester and the marriage document owner is not valid.\r\nMarriageDoc Name: {marriageDoc?.Name?.FullName}, RelationId:{marriageDoc?.RelationId}");
            }
        }
예제 #2
0
        public void AddMarriageRecordDoc_ReturnsRequestWithCorrectCount()
        {
            //Arrange
            var         req = CreateRequestInstance();
            MarriageDoc doc = new MarriageDoc();

            //Act
            req.AddMarriageRecordDoc(doc);

            //Assert
            Assert.Equal(1, req.MarriageDocs.Count);
        }
        public async Task CreateAndGetDoc()
        {
            var doc = new MarriageDoc()
            {
                SpouseFullName = "Fatema"
            };
            await _marriageDocRepository.CreateMarriageDoc(doc);

            await _marriageDocRepository.UnitOfWork.CommitChangesAsync();

            Assert.True(doc.Id > 0);

            var docFromDB = _moisContext.MarriageDocs.FirstOrDefault(a => a.Id == doc.Id);

            Assert.Equal(doc.SpouseFullName, docFromDB.SpouseFullName);
        }
예제 #4
0
        public async Task <IEnumerable <MarriageDocResponse> > CreateMarriageDocsAsync(IEnumerable <MarriageDoc> marriageDocs, bool autoSave = false)
        {
            for (int i = 0; i < marriageDocs.Count(); i++)
            {
                MarriageDoc marriageDoc = marriageDocs.ElementAt(i);
                await ValidateRelation(marriageDoc);
                await SetDefaultStateId(marriageDoc);

                marriageDoc.Price = await GetDocPrice();

                await _marriageDocRepository.CreateMarriageDoc(marriageDoc);
            }
            if (autoSave)
            {
                await SaveChangesAsync();
            }

            return(marriageDocs.Select(a => new MarriageDocResponse(a)));
        }
예제 #5
0
        private async Task SetDefaultStateId(MarriageDoc marriageDoc)
        {
            var defaultState = await _lookupsService.FindWhere <State>(a => a.Code == "NEW");

            marriageDoc.StateId = defaultState?.Id;
        }
예제 #6
0
 public async Task CreateMarriageDoc(MarriageDoc marriageDoc)
 {
     await _dbContext.MarriageDocs.AddAsync(marriageDoc);
 }
예제 #7
0
 private MarriageDocResponse(bool success, string message, MarriageDoc marriageDoc) : base(success, message)
     => MarriageDoc = marriageDoc;