Ejemplo n.º 1
0
        public UnitOfWork(ApplicationDbContext dbContext)
        {
            this.dbContext = dbContext;

            DocumentsService             = new DocumentsService(dbContext);
            DocumentsStatesService       = new DocumentsStatesService(dbContext);
            DocumentsTemplateItemService = new DocumentsTemplateItemService(dbContext);
            DocumentsTemplateService     = new DocumentsTemplateService(dbContext);
            DocumentTaskTemplatesService = new DocumentTaskTemplatesService(dbContext);
            DocumentTasksService         = new DocumentTasksService(dbContext);
            LogsService       = new LogsService(dbContext);
            RolesService      = new RolesService(dbContext);
            TagsService       = new TagsService(dbContext);
            UsersService      = new UsersService(dbContext);
            UserGroupsService = new UserGroupsService(dbContext);
        }
        public async Task Can_Return_Document_State_By_Id()
        {
            var dbContextOptions = CreateNewContextOptions();

            using (var context = new ApplicationDbContext(dbContextOptions))
            {
                context.DocumentStates.AddRange(
                    new DocumentState {
                    DocumentData = new DocumentDataUpload {
                        Data = new byte[] { 1, 2, 3 }
                    }
                },
                    new DocumentState
                {
                    DocumentData = new DocumentDataTemplate
                    {
                        DocumentDataTemplateItems = new List <DocumentDataTemplateItem> {
                            new DocumentDataTemplateItem {
                                IdDocumentData = 2
                            }, new DocumentDataTemplateItem {
                                IdDocumentData = 2
                            }
                        }
                    }
                });

                await context.SaveChangesAsync();
            }

            using (var context = new ApplicationDbContext(dbContextOptions))
            {
                var service = new DocumentsStatesService(context);

                var documentUploadState = await service.GetDocumentStateById(1, false);

                Assert.NotNull(documentUploadState); Assert.Equal(new byte[] { 1, 2, 3 }, ((DocumentDataUpload)documentUploadState.DocumentData).Data);

                var documentTemplateState = await service.GetDocumentStateById(2, true);

                Assert.NotNull(documentTemplateState);
                Assert.Equal(2, ((DocumentDataTemplate)documentTemplateState.DocumentData).DocumentDataTemplateItems.Count);
            }
        }
        public async Task Can_Return_Latest_Document_From_Template_Items()
        {
            var dbContextOptions = CreateNewContextOptions();

            using (var context = new ApplicationDbContext(dbContextOptions))
            {
                context.Documents.Add(new Document
                {
                    DocumentStates = new List <DocumentState>
                    {
                        new DocumentState
                        {
                            DocumentData = new DocumentDataTemplate
                            {
                                DocumentDataTemplateItems = new List <DocumentDataTemplateItem>
                                {
                                    new DocumentDataTemplateItem {
                                        IdDocumentData = 1, Value = "1", DocumentTemplateItem = new DocumentTemplateItem()
                                    },
                                    new DocumentDataTemplateItem {
                                        IdDocumentData = 1, Value = "2", DocumentTemplateItem = new DocumentTemplateItem()
                                    }
                                }
                            }
                        }
                    }
                });

                await context.SaveChangesAsync();
            }

            using (var context = new ApplicationDbContext(dbContextOptions))
            {
                var service = new DocumentsStatesService(context);
                var items   = await service.GetDocumentDataTemplateItems(1);

                Assert.Equal(2, items.Count);
                Assert.Equal("1", items.First().Value);
                Assert.Equal("2", items.Last().Value);
                Assert.True(items.All(it => it.DocumentTemplateItem != null));
            }
        }