예제 #1
0
        public async Task Apply(ProjectReply projectReply)
        {
            throw new NotImplementedException();
            foreach (var allrpgUser in projectReply.users)
            {
                await ImportUser(allrpgUser);
            }

            CleanProject();

            ImportLocations(projectReply.locations);

            ImportCharacters(projectReply);

            ImportClaims(projectReply.roles);

            ImportComments(projectReply.comments);

            _operationLog.Info("SUCCESS");
            await SaveToDatabase();

            _operationLog.Info("DATA_SAVED");

            ReorderLocations(Project.RootGroup);
            Project.MarkTreeModified();
            await SaveToDatabase();

            _operationLog.Info("DATA_REORDED_SAVED");
        }
예제 #2
0
        private void ImportCharacters(ProjectReply projectReply)
        {
            foreach (var vacancy in projectReply.vacancies.OrderByDescending(l => l.code)) // Poor man attempt to keep order
            {
                if (vacancy.kolvo == 1)
                {
                    ImportCharacter(vacancy);
                }
                else
                {
                    ImportLocation(vacancy);
                }
            }

            Project.Characters.AddLinkList(Characters.Values);
            UnitOfWork.GetDbSet <Character>().AddRange(Characters.Values);

            Project.CharacterGroups.AddLinkList(LocationsFromVacancies.Values);
            UnitOfWork.GetDbSet <CharacterGroup>().AddRange(LocationsFromVacancies.Values);
        }