Exemplo n.º 1
0
        public bool Validate(string email, string password)
        {
            email = email.Trim();
            var hashedPassword = _encryptor.Encrypt(password);
            //using (var db = new DocumentStore() { Url = ConfigurationManager.AppSettings["dbUrl"], DefaultDatabase = ConfigurationManager.AppSettings["defaultDb"] })
            //{
            //    db.Initialize();
            //    using (var session = db.OpenSession())
            //    {
            //        var query = from u in session.Query<User>()
            //                    where
            //                        u.Deleted == false
            //                        && u.Email.Equals(email, StringComparison.InvariantCultureIgnoreCase)
            //                        && u.Password == hashedPassword
            //                    select u;

            //        return query.Any();
            //    }
            //}

            using (var db = new Pb.Dal.EfEntities())
            {
                var query = from u in db.Users
                            where
                                u.Deleted == false
                                && u.Email == email
                                && u.Password == hashedPassword
                            select u;

                return query.Any();
            }
        }
Exemplo n.º 2
0
        public void Create(Marker marker)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                db.Markers.Add(new Pb.Dal.Marker()
                {
                    Created = DateTime.Now,
                    Id = marker.Id,
                    ImageUrl = marker.ImageUrl,
                    Deleted = false,
                    Manufacturer = marker.Manufacturer,
                    Name = marker.Name,
                    PlayerId = marker.PlayerId
                });

                try
                {
                    db.SaveChanges();
                }
                catch (DbEntityValidationException e)
                {
                    Console.WriteLine(e);
                }
            }
        }
Exemplo n.º 3
0
        public void Create(UserTeam userTeam)
        {
            userTeam.Created = DateTime.Now;
            userTeam.Modified = DateTime.Now;

            //using (var db = new DocumentStore() { Url = ConfigurationManager.AppSettings["dbUrl"], DefaultDatabase = ConfigurationManager.AppSettings["defaultDb"] })
            //{
            //    db.Initialize();
            //    using (var session = db.OpenSession())
            //    {
            //        session.Store(userTeam);
            //        session.SaveChanges();
            //    }
            //}

            using (var db = new Pb.Dal.EfEntities())
            {
                var insertme = new Pb.Dal.UserTeam()
                {
                    Id = userTeam.Id == Guid.Empty ? Guid.NewGuid() : userTeam.Id,
                    UserId = userTeam.UserId,
                    TeamId = userTeam.TeamId,
                    Created = userTeam.Created,
                    Modified = userTeam.Modified,
                    Deleted = userTeam.Deleted,
                    Default = userTeam.Default
                };

                db.UserTeams.Add(insertme);
                db.SaveChanges();

            }
        }
Exemplo n.º 4
0
 public void DeleteByUserId(Guid userId)
 {
     using (var db = new Pb.Dal.EfEntities())
     {
         db.UserRanks.Where(x => x.UserId == userId && x.Deleted == false).Update(y => new Pb.Dal.UserRank() { Deleted = true, Modified = DateTime.Now});
         db.SaveChanges();
     }
 }
Exemplo n.º 5
0
 public void DeleteAll()
 {
     using (var db = new Pb.Dal.EfEntities())
     {
         db.Notifications.Where(x => x.Deleted == false).Update(y => new Pb.Dal.Notification() {Deleted = true});
         db.SaveChanges();
     }
 }
Exemplo n.º 6
0
 public void DeleteAll()
 {
     using (var db = new Pb.Dal.EfEntities())
     {
         db.UserTeams.Where(x => x.Deleted == false).Update(y => new Pb.Dal.UserTeam() {Deleted = true,Modified = DateTime.Now});
         db.SaveChanges();
     }
 }
Exemplo n.º 7
0
 public void Delete(Guid id)
 {
     using (var db = new Pb.Dal.EfEntities())
     {
         db.Gears.Where(x => x.Id == id).Update(y => new Pb.Dal.Gear() {Deleted = true, Modified = DateTime.Now});
         db.SaveChanges();
     }
 }
Exemplo n.º 8
0
        public void UpdateName(Guid id, string name)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                db.Loadouts.Where(x => x.Id == id).Update(y => new Pb.Dal.Loadout() {Name = name, Modified = DateTime.Now});

                db.SaveChanges();
            }
        }
Exemplo n.º 9
0
        public void UpdateImageUrl(Guid id, string url)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                db.Loadouts.Where(x => x.Id == id).Update(y => new Pb.Dal.Loadout() {ImageUrl = url, Modified = DateTime.Now});

                db.SaveChanges();
            }
        }
Exemplo n.º 10
0
        public void Delete(Guid id)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                db.Markers.Where(x => x.Id == id).Update(y => new Pb.Dal.Marker()
                {
                    Deleted = true
                });

                db.SaveChanges();
            }
        }
Exemplo n.º 11
0
        public Loadout ById(Guid id)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                var query = from x in db.Loadouts
                            where
                                x.Deleted == false
                                && x.Id == id
                            select x;
                var efLoadout = query.AsNoTracking().FirstOrDefault();

                return AutoMapper.Mapper.Map<Loadout>(efLoadout);
            }
        }
Exemplo n.º 12
0
        public Marker ById(Guid id)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                var query = from x in db.Markers
                            where
                                x.Deleted == false
                                && x.Id == id
                            select x;

                var efMarker = query.AsNoTracking().FirstOrDefault();

                return AutoMapper.Mapper.Map<Marker>(efMarker);
            }
        }
Exemplo n.º 13
0
        public Domain.Gear ById(Guid id)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                var query = from x in db.Gears
                            where
                                x.Deleted == false
                                && x.Id == id
                            select x;

                var efGear = query.AsNoTracking().FirstOrDefault();
                var gear = Mapper.Map<Domain.Gear>(efGear);

                return gear;

            }
        }
Exemplo n.º 14
0
        public void Delete(Guid userId, Guid teamId)
        {
            var id = IdByUserAndTeam(userId, teamId);

            var efUserTeam = new Pb.Dal.UserTeam()
                                 {
                                     Id = id,
                                     Deleted = true
                                 };

            using (var db = new Pb.Dal.EfEntities())
            {
                db.UserTeams.Attach(efUserTeam);
                db.Entry(efUserTeam).Property(x => x.Deleted).IsModified = true;

                db.SaveChanges();
            }
        }
Exemplo n.º 15
0
        public void Create(Loadout loadout)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                db.Loadouts.Add(new Pb.Dal.Loadout()
                {
                    Created = DateTime.Now,
                    Deleted = false,
                    Id = loadout.Id,
                    ImageUrl = loadout.ImageUrl,
                    Modified = DateTime.Now,
                    Name = loadout.Name,
                    PlayerId = loadout.PlayerId
                });

                db.SaveChanges();
            }
        }
Exemplo n.º 16
0
        public void Update(Domain.Gear gear)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                db.Gears.Where(x => x.Id == gear.Id).Update(y => new Pb.Dal.Gear()
                {
                    //Created = gear.Created,
                    Deleted = gear.Deleted,
                    LoadoutId = gear.LoadoutId,
                    Manufacturer = gear.Manufacturer,
                    Modified = DateTime.Now,
                    Name = gear.Name,
                    Section = gear.Section.GetHashCode(),
                    Quantity = gear.Quantity,
                    ImageUrl = gear.ImageUrl
                });

                db.SaveChanges();
            }
        }
Exemplo n.º 17
0
        public void Create(Notification notification)
        {
            var efNotification = new Pb.Dal.Notification()
            {
                Created = DateTime.Now,
                Deleted = false,
                Description = notification.Description,
                Id = notification.Id,
                Modified = DateTime.Now,
                Scope = notification.Scope.GetHashCode(),
                Title = notification.Title,
                Type = notification.Type.GetHashCode()
            };

            using (var db = new Pb.Dal.EfEntities())
            {
                db.Notifications.Add(efNotification);
                db.SaveChanges();
            }
        }
Exemplo n.º 18
0
        public void Update(Marker marker)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                bool sameVersion = db.Markers.AsNoTracking().Any(x => x.Id == marker.Id && x.Version == marker.Version);

                if (!sameVersion)
                    throw new StaleDataException();

                db.Markers.Where(y => y.Id == marker.Id).Update(x => new Pb.Dal.Marker()
                {
                    Deleted = marker.Deleted,
                    ImageUrl = marker.ImageUrl,
                    Manufacturer = marker.Manufacturer,
                    Name = marker.Name
                });

                db.SaveChanges();
            }
        }
Exemplo n.º 19
0
        public void Create(Domain.Gear gear)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                db.Gears.Add(new Pb.Dal.Gear()
                {
                    Id = gear.Id == Guid.Empty ? Guid.NewGuid() : gear.Id,
                    Created = DateTime.Now,
                    Deleted = gear.Deleted,
                    LoadoutId = gear.LoadoutId,
                    Manufacturer = gear.Manufacturer,
                    Modified = DateTime.Now,
                    Name = gear.Name,
                    Section = gear.Section.GetHashCode(),
                    Quantity = gear.Quantity,
                    ImageUrl = gear.ImageUrl
                });

                db.SaveChanges();
            }
        }
Exemplo n.º 20
0
        public TeamModel ById(string externalId, Guid id)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                var query = from x in db.Teams
                            where
                                x.Deleted == false
                                && x.Id == id
                            orderby  x.Name
                            select x;
                var efTeam = query.FirstOrDefault();
                var team = Mapper.Map<TeamModel>(efTeam);

                List<RankModel> ranks = _rankRepository.ByTeamId(id, externalId);
                List<UserModel> users = _userRepository.ByTeamId(id);

                team.Ranks = ranks;
                team.Users = users;

                return team;
            }
        }
Exemplo n.º 21
0
        public List<TeamModel> Get(string externalId)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                db.Database.Log += delegate(string s)
                {
                    if (_logger != null)
                        _logger.Verbose(s);
                };

                // Find userid
                Guid userId = db.Users.Where(x => x.ExternalId == externalId && x.Deleted == false).Select(y => y.Id).FirstOrDefault();
                if (userId == default(Guid))
                    throw new Exception("userid not found for externalid: " + externalId);

                var query = from x in db.Teams
                            where
                                x.Deleted == false
                            orderby  x.Name
                            select x;
                var efTeams = query.ToList();
                var teams = efTeams.Select(x => Mapper.Map<TeamModel>(x)).ToList();

                var query2 = from x in db.UserTeams
                             where
                                x.Deleted == false
                                && x.UserId == userId

                            select new {x.TeamId, x.Default};
                var teamIds = query2.ToList();

                foreach (TeamModel teamModel in teams)
                {
                    if (teamIds.Any(x => x.TeamId == teamModel.Id))
                    {
                        teamModel.IsUserInTeam = true;
                        teamModel.IsDefault = teamIds.First(x => x.TeamId == teamModel.Id).Default;
                    }

                }

                var res= from x in db.Teams
                            join a in db.UserTeams
                                on x.Id equals a.TeamId
                        //group a by a.Id into g
                        where
                            a.Deleted == false
                        group x by x.Id into g
                        select new
                                   {
                                       teamId = g.Key,
                                       total = g.Count()
                                   };

                var results = res.ToList();

                foreach (var team in teams)
                {
                    if (results.Any(x => x.teamId == team.Id))
                    {
                        team.UserCount = results.First(x => x.teamId == team.Id).total;
                    }
                    else
                    {
                        team.UserCount = 0;
                    }
                }

                var res2= from x in db.Teams
                            join a in db.Ranks
                                on x.Id equals a.TeamId
                        where
                            a.Deleted == false
                        group x by x.Id into g
                        select new
                                   {
                                       teamId = g.Key,
                                       total = g.Count()
                                   };
                var results2 = res2.ToList();

                foreach (TeamModel team in teams)
                {
                    if (results2.Any(x => x.teamId == team.Id))
                    {
                        team.RankCount = results2.First(x => x.teamId == team.Id).total;
                    }
                }

                return teams;
            }
        }
Exemplo n.º 22
0
        public void GetWithIncludes()
        {
            //var id = new Guid("61EF6631-7703-4A65-8BAA-9E2AAAB2BDEB");
            var id = new Guid("0ECF0F89-866B-4CF5-AEBB-16152D5FCCCF");
            using (var db = new Pb.Dal.EfEntities())
            {
                //var query = from u in db.Users
                //            where
                //                u.Id == id
                //            select u;
                //query.Incl

                var idk = db.Users
                            .Include("UserTeams.Team")
                            .Include("UserRanks.Rank")
                            //.Includex => x.Ranks)
                            .Where(x => x.Id == id)
                            .ToList();
            }
        }
Exemplo n.º 23
0
        public Guid UpsertFromExternal(string id, string email, string username)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                var exists = db.Users.Any(u => u.Deleted == false && u.ExternalId == id);

                if (!exists)
                {
                    var newId = Guid.NewGuid();
                    db.Users.Add(new Pb.Dal.User()
                    {
                        Id = newId,
                        ExternalId = id,
                        Email = email,
                        Password = "",
                        FirstName = username,
                        Created = DateTime.Now,
                        Modified = DateTime.Now
                    });

                    try
                    {
                        db.SaveChanges();
                    }
                    catch (DbEntityValidationException ex)
                    {
                        throw;
                    }

                    _logger.Information("User created, id: {id}, email: {email}", newId, email);

                    return newId;
                }

                return db.Users.Where(u => u.Deleted == false && u.ExternalId == id).Select(x => x.Id).First();
            }
        }
Exemplo n.º 24
0
        public void DeleteByUserTeamId(Guid userTeamId)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                var efUserTeam = new Pb.Dal.UserTeam()
                                     {
                                         Id = userTeamId,
                                         Deleted = true,
                                         Modified = DateTime.Now
                                     };

                db.UserTeams.Attach(efUserTeam);
                db.Entry(efUserTeam).Property(x => x.Deleted).IsModified = true;
                db.Entry(efUserTeam).Property(x => x.Modified).IsModified = true;

                db.SaveChanges();

            }
        }
Exemplo n.º 25
0
        public bool Exists(Guid userId, Guid teamId)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                var query = from x in db.UserTeams
                            where
                                x.Deleted == false
                                && x.UserId == userId
                                && x.TeamId == teamId
                            select x;

                return query.AsNoTracking().Any();
            }
        }
Exemplo n.º 26
0
        public void SetDefault(Guid userId, Guid teamId)
        {
            var id = IdByUserAndTeam(userId, teamId);

            var efUserTeam = new Pb.Dal.UserTeam()
                                     {
                                         Id = id,
                                         Default = true
                                     };

            using (var db = new Pb.Dal.EfEntities())
            {
                // Set all of our current relationsips to false if they are true
                db.UserTeams.Where(x => x.UserId == userId && x.Deleted == false && x.Default == true).Update(y=> new Pb.Dal.UserTeam() {Default = false});

                db.UserTeams.Attach(efUserTeam);
                db.Entry(efUserTeam).Property(x => x.Default).IsModified = true;

                db.SaveChanges();
            }
        }
Exemplo n.º 27
0
        public Guid IdByUserAndTeam(Guid userId, Guid teamId)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                var query = from x in db.UserTeams.AsNoTracking()
                            where
                                x.Deleted == false
                                && x.UserId == userId
                                && x.TeamId == teamId
                            select x.Id;

                return query.FirstOrDefault();
             }
        }
Exemplo n.º 28
0
        public UserModel ById(Guid id)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                //var data = from u in db.Users
                //           where
                //            u.Deleted == false
                //            && u.Id == id
                //            select u;
                //data.includ

                var data = db.Users
                                .Include("UserTeams.Team")
                                .Include("UserRanks.Rank")
                                .Where(u => u.Deleted == false && u.Id ==id)
                                .AsNoTracking()
                                .FirstOrDefault();

                if (data == null)
                    return null;

                var user = new UserModel(){
                    Id = data.Id,
                    FirstName = data.FirstName,
                    LastName = data.LastName,
                    Callsign = data.Callsign,
                    Email = data.Email,
                    Created = data.Created,
                    Modified = data.Modified,
                    Teams = new List<UserTeamModel>()
                };

                foreach (var userTeam in data.UserTeams.Where(x => x.Deleted == false))
                {
                    var team = new UserTeamModel(){
                        TeamImageUrl = userTeam.Team.ImageUrl,
                        IsDefaultTeam = userTeam.Default,
                        TeamName = userTeam.Team.Name,
                        TeamId = userTeam.TeamId,
                        UserTeamId = userTeam.Id,

                    };

                    // Ranks

                    var rank = data.UserRanks.FirstOrDefault(x => x.TeamId == userTeam.TeamId && x.Deleted == false);

                    if (rank != null)
                    {
                        team.HasRank = true;
                        team.RankName = rank.Rank.Name;
                        team.RankImageUrl = rank.Rank.ImageUrl;
                    }
                    else
                    {
                        team.HasRank = false;
                    }

                    user.Teams.Add(team);
                }

                return user;

            }
        }
Exemplo n.º 29
0
        public List<TeamModel> Get(Guid userId)
        {
            using (var db = new Pb.Dal.EfEntities())
            {
                var query = from x in db.Teams
                            where
                                x.Deleted == false
                            orderby  x.Name
                            select x;
                var efTeams = query.ToList();
                var teams = efTeams.Select(x => Mapper.Map<TeamModel>(x)).ToList();

                var query2 = from x in db.UserTeams
                             where
                                x.Deleted == false
                                && x.UserId == userId
                            select new {x.TeamId, x.Default};
                var teamIds = query2.ToList();

                foreach (TeamModel teamModel in teams)
                {
                    if (teamIds.Any(x => x.TeamId == teamModel.Id))
                    {
                        teamModel.IsUserInTeam = true;
                        teamModel.IsDefault = teamIds.First(x => x.TeamId == teamModel.Id).Default;
                    }

                }

                var res= from x in db.Teams
                            join a in db.UserTeams
                                on x.Id equals a.TeamId
                        //group a by a.Id into g
                        where
                            a.Deleted == false
                        group x by x.Id into g
                        select new
                                   {
                                       teamId = g.Key,
                                       total = g.Count()
                                   };

                var results = res.ToList();

                foreach (var team in teams)
                {
                    if (results.Any(x => x.teamId == team.Id))
                    {
                        team.UserCount = results.First(x => x.teamId == team.Id).total;
                    }
                    else
                    {
                        team.UserCount = 0;
                    }
                }

                var res2= from x in db.Teams
                            join a in db.Ranks
                                on x.Id equals a.TeamId
                        where
                            a.Deleted == false
                        group x by x.Id into g
                        select new
                                   {
                                       teamId = g.Key,
                                       total = g.Count()
                                   };
                var results2 = res2.ToList();

                foreach (TeamModel team in teams)
                {
                    if (results2.Any(x => x.teamId == team.Id))
                    {
                        team.RankCount = results2.First(x => x.teamId == team.Id).total;
                    }
                }

                return teams;
            }
        }