示例#1
0
        public void Add(string name, int idDocumentTemplate, IDictionary <Tuple <string, int>, IList <int> > paths)
        {
            var template = new DocumentTaskTemplate {
                Name = name, IdDocumentTemplate = idDocumentTemplate
            };

            foreach (var path in paths)
            {
                var taskType = new DocumentTaskType {
                    Name = path.Key.Item1, DaysLimit = path.Key.Item2
                };
                for (var i = path.Value.Count - 1; i >= 0; i--)
                {
                    taskType.Paths.Add(new DocumentTaskTypePath
                    {
                        Index       = i,
                        IdUserGroup = path.Value[i],
                        NextPath    = taskType.Paths.Any() ? taskType.Paths.ElementAt(path.Value.Count - i - 2) : null
                    });
                }
                template.DocumentTaskTypes.Add(taskType);
            }

            dbContext.DocumentTaskTemplates.Add(template);
        }
示例#2
0
        public async Task Can_Return_Task_Types()
        {
            var template = new DocumentTaskTemplate {
                DocumentTaskTypes = new List <DocumentTaskType> {
                    new DocumentTaskType(), new DocumentTaskType()
                }
            };

            var dbContextOptions = CreateNewContextOptions();

            using (var context = new ApplicationDbContext(dbContextOptions))
            {
                context.DocumentTaskTemplates.Add(template);
                await context.SaveChangesAsync();
            }

            using (var context = new ApplicationDbContext(dbContextOptions))
            {
                var service = new DocumentTaskTemplatesService(context);
                var result  = await service.GetAllTaskTypes(1);

                Assert.Equal(2, result.Count);
            }
        }