Пример #1
0
        ProjectStateReference IExposeValue <ProjectStateReference> .GetValue()
        {
            IExposeValue <string> stateDescr = Description;
            IExposeValue <uint>   id         = Id;

            return(new ProjectStateReference(stateDescr.GetValue(), id.GetValue()));
        }
        protected override GetActivitiesResponse ExecuteQuery(GetActivitiesFilter filter)
        {
            IExposeValue <uint> id = filter.ProjectId;
            var activities         = _activitySession.Repository
                                     .Find(fl => fl.ProjectId == id.GetValue());

            return(GetActivitiesResponse.From(true, activities));
        }
Пример #3
0
        public void Check_Description_Value_Exposing()
        {
            var givenName = "Given Description";
            var todoName  = Description.From(givenName);
            IExposeValue <string> state = todoName;

            Assert.Equal(givenName, state.GetValue());
        }
Пример #4
0
        public Project GetProject(EntityId id)
        {
            IExposeValue <uint> entityId = id;
            var found = DbContext.Projects.AsQueryable()
                        .OrderByDescending(ob => ob.ProjectId)
                        .First(t => t.ProjectId == entityId.GetValue());

            return(Project.FromState(found));
        }
Пример #5
0
        public Activity Get(EntityId id)
        {
            IExposeValue <uint> entityId = id;
            var task = DbContext.Activities.AsQueryable()
                       .OrderByDescending(ob => ob.ActivityId)
                       .First(t => t.ActivityId == entityId.GetValue());

            return(Activity.FromState(task));
        }
        public Project Get(EntityId id)
        {
            IExposeValue <uint> entityId = id;
            var project = DbContext.Projects.AsNoTracking()
                          .Include(b => b.Activities)
                          .OrderByDescending(ob => ob.ProjectId)
                          .First(t => t.ProjectId == entityId.GetValue());

            return(Project.FromState(project));
        }
Пример #7
0
        ActivityState IExposeValue <ActivityState> .GetValue()
        {
            IExposeValue <int>    stateStatus = Status;
            IExposeValue <string> stateDescr  = Description;
            IExposeValue <uint>   id          = Id;
            IExposeValue <uint>   project     = ProjectId;
            var stateProject = project.GetValue();

            return(new ActivityState(stateStatus.GetValue(), stateDescr.GetValue()
                                     , id.GetValue(), stateProject));
        }
Пример #8
0
        ProjectState IExposeValue <ProjectState> .GetValue()
        {
            IExposeValue <string> stateDescr = Description;
            IExposeValue <uint>   id         = Id;

            var tasks = Activities.Select(t =>
            {
                IExposeValue <uint> task = t;
                return(new ActivityStateReference(task.GetValue(), id.GetValue()));
            });

            return(new ProjectState(stateDescr.GetValue(), id.GetValue(), tasks.ToList()));
        }
Пример #9
0
        public void Check_Task_GetValue()
        {
            var givenName = "givenName";
            var name      = Description.From(givenName);
            var project   = Project.From(EntityId.From(1u), Description.From(givenName));
            var entityId  = EntityId.From(1u);

            var todo = Activity.From(name, entityId, EntityId.From(1u), ActivityStatus.From(1));
            IExposeValue <ActivityState> state = todo;
            var todoState = state.GetValue();

            Assert.Equal(todoState.Description, givenName);
        }
Пример #10
0
        public void Add(IExposeValue <ActivityState> entity)
        {
            var entry    = entity.GetValue();
            var oldState = DbContext.Activities.FirstOrDefault(b => b.ActivityId == entry.ActivityId);

            if (oldState == null)
            {
                DbContext.Activities.Add(entry);
            }
            else
            {
                DbContext.Entry(oldState).CurrentValues.SetValues(entry);
            }
        }
Пример #11
0
        // https://docs.microsoft.com/en-us/ef/core/saving/disconnected-entities

        public void AddProject(IExposeValue <ProjectStateReference> project)
        {
            var entry    = project.GetValue();
            var oldState = DbContext.Projects.FirstOrDefault(b => b.ProjectId == entry.ProjectId);

            if (oldState == null)
            {
                DbContext.Projects.Add(entry);
            }
            else
            {
                DbContext.Entry(oldState).CurrentValues.SetValues(entry);
            }
        }
Пример #12
0
        // https://docs.microsoft.com/en-us/ef/core/saving/disconnected-entities

        public void Add(IExposeValue <ProjectState> entity)
        {
            var entry    = entity.GetValue();
            var oldState =
                DbContext.Projects.Include(b => b.Activities)
                .FirstOrDefault(b => b.ProjectId == entry.ProjectId);

            if (oldState == null)
            {
                DbContext.Projects.Add(entry);
            }
            else
            {
                DbContext.Entry(oldState).CurrentValues.SetValues(entry);
                foreach (var activity in entry.Activities)
                {
                    var existing = oldState.Activities.AsQueryable()
                                   .FirstOrDefault(p => p.ActivityReferenceId == activity.ActivityReferenceId);

                    if (existing == null)
                    {
                        oldState.Activities.Add(activity);
                    }
                    else
                    {
                        DbContext.Entry(oldState).CurrentValues.SetValues(activity);
                    }
                }

                foreach (var activity in oldState.Activities)
                {
                    if (!entry.Activities.All(p => p.ActivityReferenceId == activity.ActivityReferenceId))
                    {
                        DbContext.Remove(activity);
                    }
                }
            }
        }
Пример #13
0
 public void RemoveProject(IExposeValue <ProjectStateReference> entity)
 {
     DbContext.Projects.Remove(entity.GetValue());
 }
Пример #14
0
 public void Remove(IExposeValue <ActivityState> entity)
 {
     DbContext.Activities.Remove(entity.GetValue());
 }
Пример #15
0
 public void Remove(IExposeValue <ProjectState> entity)
 {
     DbContext.Entry(entity.GetValue()).State = EntityState.Deleted;
 }
Пример #16
0
 public ActivityProjection Get(IExposeValue <uint> id)
 {
     return(Context.Activities.FindOne(ac => ac.ActivityId == id.GetValue()));
 }