Пример #1
0
        public async Task <PlanServiceModel> GetByIdAsync(string id)
        {
            Plan plan = await _planObjectService.GetByIdAsync <Plan>(id);

            if (plan == null)
            {
                return(null);
            }

            var planAreas = _planAreaObjectService.GetPlanAreas(plan.Id);

            return(await Task.FromResult(new PlanServiceModel
            {
                Id = plan.Id,
                Name = plan.Name,
                UserId = plan.UserId,
                IsTemplate = plan.IsTemplate,
                PlanAreas = planAreas.Select(x => new PlanAreaServiceModel
                {
                    Id = x.Id,
                    Name = x.Name,
                    PlanId = x.PlanId,
                    AreaTopics = _topicObjectService.GetTopicsByAreaId(x.Id).Select(areaTopic => new AreaTopicServiceModel
                    {
                        Id = areaTopic.Id,
                        Name = areaTopic.Name,
                        StartDate = areaTopic.StartDate?.ToString("yyyy-MM-dd"),
                        EndDate = areaTopic.EndDate?.ToString("yyyy-MM-dd"),
                        Source = areaTopic.Source,
                        Description = areaTopic.Description
                    }).OrderBy(topic => topic.StartDate).ToArray()
                }).ToArray()
            }));
        }
Пример #2
0
 public List <AreaTopic> GetBy(PlanArea planArea)
 {
     return(_topicObjectService.GetTopicsByAreaId(planArea.Id));
 }