Esempio n. 1
0
        public void CreateSchoolWorks(ISession session)
        {
            var address = session.Query <Address>().First();
            var random  = new Random();

            for (int i = 2017; i < 2020; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    var schoolWork = new SchoolWork()
                    {
                        Year      = i,
                        Info      = "SchoolWork",
                        Name      = $"SchoolWork {i} {j}",
                        Type      = EventType.SchoolWork,
                        Program   = "Program",
                        Purchases = new List <Purchase>()
                        {
                            new Purchase()
                            {
                                Name        = "Name",
                                Description = "Description",
                                Price       = random.Next(1000, 10000)
                            }
                        },
                        EventExecutions = new HashSet <EventExecution>()
                        {
                            new EventExecution()
                            {
                                Address = address,
                                Dates   = new List <EventDate>()
                                {
                                    new EventDate()
                                    {
                                        Date = new DateTime(i, random.Next(1, 13), random.Next(1, 29))
                                    }
                                }
                            }
                        }
                    };

                    session.Save(schoolWork);
                }
            }
        }
Esempio n. 2
0
        private Event ConvertToEntity(EventDto dto)
        {
            Event entity;

            switch (dto.Type)
            {
            case EventType.Course:
                entity = new Course()
                {
                    Subject  = RepositoryHelper.GetAnotherEntity <Subject>(dto.Subject.Id),
                    Duration = dto.Duration,
                    Price    = dto.Price
                };
                break;

            case EventType.AcademicCompetition:
                entity = new AcademicCompetition()
                {
                    Subject = RepositoryHelper.GetAnotherEntity <Subject>(dto.Subject.Id)
                };
                break;

            default:
                entity = new SchoolWork()
                {
                    Program = dto.Program
                };
                break;
            }

            entity.Id          = dto.Id;
            entity.Name        = dto.Name;
            entity.Type        = dto.Type;
            entity.Info        = dto.Info;
            entity.Comment     = dto.Comment;
            entity.Departments = RepositoryHelper.GetAnotherEntity <Department>(dto.Departments.Select(x => x.Id)).ToSet();
            entity.Volunteers  = RepositoryHelper.GetAnotherEntity <Volunteer>(dto.Volunteers.Select(x => x.Id)).ToList();
            entity.Lecturers   = RepositoryHelper.GetAnotherEntity <Employee>(dto.Lecturers.Select(x => x.Id)).ToList();
            entity.Organizers  = RepositoryHelper.GetAnotherEntity <Employee>(dto.Organizers.Select(x => x.Id)).ToList();
            entity.Purchases   = dto.Purchases;

            entity.EventExecutions = dto.Executions.Select(x => new EventExecution()
            {
                Dates = x.Dates.Select(xx => new EventDate()
                {
                    Date      = xx.Date,
                    StartTime = GetTimeSpan(xx.StartTime),
                    EndTime   = GetTimeSpan(xx.EndTime)
                }).ToList(),
                Address = RepositoryHelper.GetAnotherEntity <Address>(x.Address.Id)
            }
                                                           ).ToSet();

            if (dto.Id != 0)
            {
                var lastVersion = RepositoryHelper.GetAnotherEntity <Event>(dto.Id);
                entity.AttendanceInfo = lastVersion.AttendanceInfo;
            }

            var dates = entity.EventExecutions.First().Dates;

            entity.Year = dates?.First()?.Date.Year ?? 0;

            return(entity);
        }