Ejemplo n.º 1
0
        public override Task <bool> DeleteById(int id)
        {
            RuinsContext.RemoveRange(RuinsContext.RuinsiteObeliskgroups.Where(rsog => rsog.RuinsiteId == id));
            RuinsContext.RemoveRange(RuinsContext.RuinsiteActiveobelisks.Where(rsao => rsao.RuinsiteId == id));

            return(base.DeleteById(id));
        }
Ejemplo n.º 2
0
        public async Task <bool> SaveActiveObelisksForSite(int siteId, IEnumerable <Obelisk> obelisks)
        {
            var currentActiveObelisks = await RuinsContext.RuinsiteActiveobelisks
                                        .Where(e => e.RuinsiteId == siteId)
                                        .ToListAsync();

            var obelisksToDelete = currentActiveObelisks
                                   .Where(g => obelisks.All(og => og.Id != g.ObeliskId));

            var obelisksToAdd = obelisks
                                .Where(og => currentActiveObelisks.All(g => g.ObeliskId != og.Id));

            // first delete all groups
            foreach (var obelisk in obelisksToDelete)
            {
                RuinsContext.RuinsiteActiveobelisks.Remove(obelisk);
            }

            // add all groups where we know the id of
            foreach (var obelisk in obelisksToAdd)
            {
                RuinsContext.RuinsiteActiveobelisks.Add(new RuinsiteActiveobelisks()
                {
                    RuinsiteId = siteId, ObeliskId = obelisk.Id
                });
            }

            await RuinsContext.SaveChangesAsync();

            return(true);
        }
Ejemplo n.º 3
0
        public async Task <bool> SaveObeliskGroupsForSite(int siteId, IEnumerable <ObeliskGroup> obeliskGroups)
        {
            var currentGroups = await RuinsContext.RuinsiteObeliskgroups
                                .Include(e => e.Obeliskgroup)
                                .Where(e => e.RuinsiteId == siteId)
                                .ToListAsync();

            var groupsToDelete = currentGroups
                                 .Where(g => !obeliskGroups.Any(og => og.Id == g.Obeliskgroup.Id || og.Name == g.Obeliskgroup.Name));

            var groupsToAdd = obeliskGroups
                              .Where(og => !currentGroups.Any(g => g.Obeliskgroup.Id == og.Id || g.Obeliskgroup.Name == og.Name));

            // first delete all groups
            foreach (var group in groupsToDelete)
            {
                RuinsContext.RuinsiteObeliskgroups.Remove(group);
            }

            // add all groups where we know the id of
            foreach (var group in groupsToAdd.Where(g => g.Id > 0))
            {
                RuinsContext.RuinsiteObeliskgroups.Add(new RuinsiteObeliskgroups()
                {
                    RuinsiteId = siteId, ObeliskgroupId = group.Id
                });
            }

            var groupsToAddWithoutId = groupsToAdd.Where(g => g.Id == 0).Select(g => g.Name).ToArray();

            if (groupsToAddWithoutId.Length > 0)
            {
                // for the groups only given by name (not id), we need to fetch the entities first
                var allGroups = await RuinsContext.ObeliskGroup
                                .Where(g => g.Ruintype.RuinSite.Any(s => s.Id == siteId))
                                .ToListAsync();

                foreach (var group in allGroups.Where(g => groupsToAddWithoutId.Contains(g.Name)))
                {
                    RuinsContext.RuinsiteObeliskgroups.Add(new RuinsiteObeliskgroups()
                    {
                        RuinsiteId = siteId, ObeliskgroupId = group.Id
                    });
                }
            }

            await RuinsContext.SaveChangesAsync();

            return(true);
        }
Ejemplo n.º 4
0
 public RuinTypeRepository(RuinsContext context)
     : base(context)
 {
 }
Ejemplo n.º 5
0
 public BodyRepository(RuinsContext context)
     : base(context)
 {
 }
Ejemplo n.º 6
0
 protected BaseDataRepository(RuinsContext context)
 {
     RuinsContext = context ?? throw new ArgumentNullException(nameof(context));
 }
 public CodexCategoryRepositoy(RuinsContext context)
     : base(context)
 {
 }
Ejemplo n.º 8
0
 public MapsRepository(IConfiguration configuration, IMapper mapper, RuinsContext ruinsContext)
 {
     _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration));
     _mapper        = mapper ?? throw new ArgumentNullException(nameof(mapper));
     _ruinsContext  = ruinsContext ?? throw new ArgumentNullException(nameof(ruinsContext));
 }
Ejemplo n.º 9
0
 public ObeliskRepository(RuinsContext context)
     : base(context)
 {
 }
Ejemplo n.º 10
0
 public SystemRepository(RuinsContext context)
     : base(context)
 {
 }
Ejemplo n.º 11
0
 public CodexDataRepository(RuinsContext context)
     : base(context)
 {
 }
Ejemplo n.º 12
0
 public ArtifactRepository(RuinsContext context)
     : base(context)
 {
 }