Beispiel #1
0
        public static void Seed()
        {
            TakeMyTimeDbContext context = new TakeMyTimeDbContext();

            bool hasProjectTypes = context.ProjectTypes != null && context.ProjectTypes.Any();

            if (!hasProjectTypes)
            {
                var projectTypes = ProjectTypeFactory.SeedProjectTypes();
                context.ProjectTypes.AddRange(projectTypes);
                context.SaveChanges();

                var projects = ProjectFactory.SeedProjects(projectTypes.ToArray());
                context.Projects.AddRange(projects);
                context.SaveChanges();
            }

            bool hasAssignments = context.Assignments != null && context.Assignments.Any();

            if (!hasAssignments)
            {
                var projects    = context.Projects.ToList();
                var assignments = AssignmentFactory.CreateAssignments(projects.ToArray());
                context.Assignments.AddRange(assignments);
                context.SaveChanges();
            }

            bool hasSubtasks = context.Subtasks != null && context.Subtasks.Any();

            if (!hasSubtasks)
            {
                var assignments = context.Assignments.ToList();
                var subtasks    = new List <Subtask>();
                foreach (var assignment in assignments)
                {
                    subtasks.AddRange(SubtaskFactory.Create(assignment));
                }

                context.Subtasks.AddRange(subtasks);
                context.SaveChanges();
            }

            bool hasEntries = context.Entries != null && context.Entries.Any();

            if (!hasEntries)
            {
                var subtasks = context.Subtasks
                               .Include(s => s.Assignment)
                               .Include(s => s.Assignment.Project)
                               .ToList();
                var entries = new List <Entry>();
                foreach (var subtask in subtasks)
                {
                    entries.AddRange(EntryFactory.Create(subtask));
                }

                context.Entries.AddRange(entries);
                context.SaveChanges();
            }
        }
Beispiel #2
0
        public override object VisitDoldoc_command([NotNull] Doldoc_commandContext context)
        {
            var command = context.cmd.Text;
            var entry   = EntryFactory.Create(command, context.flags == null ? new List <Flag>() : (IList <Flag>)Visit(context.flags), context.args == null ? new List <Argument>() : (IList <Argument>)Visit(context.args));

            return(entry);
        }
        public void TestFindExistentEntity()
        {
            var created = EntryFactory.Create();
            var finded  = _repository.Find(created.Id);

            Assert.AreEqual(created.Id, finded.Id);
        }
Beispiel #4
0
        private async Task AddEntry(AddEntryDto addEntryDto)
        {
            var entry = _entryFactory.Create(addEntryDto);

            await _database.EntryTable.AddAsync(entry).ConfigureAwait(false);

            await _database.SaveChangesAsync().ConfigureAwait(false);
        }
        public void TestCount(int count)
        {
            for (int i = 0; i < count; i++)
            {
                EntryFactory.Create();
            }

            Assert.AreEqual(count, _repository.Count());
        }
        public void Update()
        {
            var created = EntryFactory.Create();

            created.Value = 300.00m;
            _repository.Save(created);

            var finded = _repository.Find(created.Id);

            Assert.AreEqual(300.00m, finded.Value);
        }
        public void TestUpdatedEntityd()
        {
            var created = EntryFactory.Create();

            //update value
            created.Value += 2;
            _repository.Update(created);

            //check
            var finded = _repository.Find(created.Id);

            Assert.AreEqual(created.Value, finded.Value);
        }
        public async Task <ICacheEntry <T> > HitOrUpdateAsync(ulong id, Func <ulong, Task <IEntry <T> > > updater)
        {
            if (await _storage.HasAsync(id))
            {
                var cached = await _storage.RestoreAsync(id);

                if (cached.CachedAt + _timeout > DateTimeOffset.Now)
                {
                    return(cached);
                }
            }

            var entry = _entryFactory.Create((await updater(id)).Item);
            await _storage.StoreAsync(entry);

            return(entry);
        }