public Models.User GetUser(int id)
 {
     using (var db = new SanSilvestreEntities())
     {
         var user = db.User.FirstOrDefault(x => x.UserId == id);
         if (user != null)
         {
             return(new Models.User
             {
                 UserId = user.UserId,
                 UserName = user.Username,
                 FullName = user.FullName,
                 EmailID = user.EmailID,
                 Password = user.Password,
                 IsActive = user.IsActive ?? false,
                 Roles = user.UserRole.Select(y => new Models.Role
                 {
                     Id = y.Role.Id,
                     Name = y.Role.Name,
                 }).ToList()
             });
         }
         return(null);
     }
 }
 public Dictionary <string, string> GetCategoryDescriptions()
 {
     using (var db = new SanSilvestreEntities())
     {
         return(db.Competition_Category.OrderBy(x => x.Id).ToDictionary(x => x.Id.ToString(CultureInfo.InvariantCulture), x => x.Description));
     }
 }
        public void RemoveUser(int id)
        {
            using (var db = new SanSilvestreEntities())
            {
                var currentUser = db.User.FirstOrDefault(x => x.UserId == id);
                if (currentUser == null)
                {
                    throw new ApplicationException("Usuario no existe en la base de datos");
                }

                var userRolesRemoved = false;
                if (currentUser.UserRole.Any())
                {
                    db.UserRole.RemoveRange(currentUser.UserRole);
                    userRolesRemoved = true;
                }

                db.User.Remove(currentUser);
                db.SaveChanges();
                if (userRolesRemoved)
                {
                    _logger.Value.Debug(string.Format("Rol del usuario '{0}' eliminado de la base de datos", id));
                }
                _logger.Value.Debug(string.Format("Usuario '{0}' eliminado de la base de datos", id));
            }
        }
 public List <DAL.Log> GetLogs(DateTime startDateTime, DateTime endDateTime)
 {
     using (var db = new SanSilvestreEntities())
     {
         return(db.Log.Where(x => x.Date >= startDateTime && x.Date <= endDateTime).ToList());
     }
 }
Esempio n. 5
0
        public void RemoveRunner(int id)
        {
            using (var db = new SanSilvestreEntities())
            {
                var currentRunner = db.Runner.FirstOrDefault(x => x.Id == id);
                if (currentRunner == null)
                {
                    throw new ApplicationException("Corredor no existe en la base de datos");
                }

                var CompetitionDataRemoved = false;
                if (currentRunner.Competition_Runner.Any())
                {
                    db.Competition_Runner.RemoveRange(currentRunner.Competition_Runner);
                    CompetitionDataRemoved = true;
                }

                db.Runner.Remove(currentRunner);
                db.SaveChanges();
                if (CompetitionDataRemoved)
                {
                    _logger.Value.Debug(string.Format("Corredor '{0}' eliminado de la Competicion actual", id));
                }
                _logger.Value.Debug(string.Format("Corredor '{0}' eliminado de la base de datos", id));
            }
        }
Esempio n. 6
0
 public Models.Runner GetRunner(string pDNI)
 {
     using (var db = new SanSilvestreEntities())
     {
         var runner = db.Runner.FirstOrDefault(x => x.DNI == pDNI);
         if (runner != null)
         {
             return(new Models.Runner
             {
                 Id = runner.Id,
                 Name = runner.Name,
                 SurName = runner.SurName,
                 YearBirthday = runner.YearBirthday,
                 Email = runner.Email,
                 DocumentTypeId = runner.DocumentTypeId,
                 Telephone = runner.Telephone,
                 PostalCode = runner.PostalCode,
                 IsLocalRunner = runner.IsLocalRunner ?? false,
                 GenderId = runner.GenderId,
                 DNI = runner.DNI,
                 Club = runner.Club
             });
         }
         return(null);
     }
 }
 public Dictionary <string, string> GetGenderDir()
 {
     using (var db = new SanSilvestreEntities())
     {
         return(db.Gender.OrderBy(x => x.Id).ToDictionary(x => x.Id.ToString(CultureInfo.InvariantCulture), x => x.Name));
     }
 }
 public void DeleteGender(string Id)
 {
     using (var db = new SanSilvestreEntities())
     {
         db.Gender.Remove(db.Gender.First(x => x.Id.Equals(Id)));
         db.SaveChanges();
     }
 }
Esempio n. 9
0
 public void DeleteCategory(int Id)
 {
     using (var db = new SanSilvestreEntities())
     {
         db.Category.Remove(db.Category.First(x => x.Id.Equals(Id)));
         db.SaveChanges();
     }
 }
 public override string[] GetRolesForUser(string username)
 {
     using (var db = new SanSilvestreEntities())
     {
         var user = db.User.FirstOrDefault(u => u.Username.Equals(username, StringComparison.CurrentCultureIgnoreCase));
         return(user == null ? new string[] { } : db.UserRole.Where(ur => ur.User.UserId == user.UserId).Select(ur => ur.Role.Name).ToArray());
     }
 }
Esempio n. 11
0
 public Dictionary <string, string> GetDocumentTypeDir()
 {
     using (var db = new SanSilvestreEntities())
     {
         //TODO: Depending on role return different lists
         return(db.DocumentType.OrderBy(x => x.Id).ToDictionary(x => x.Id.ToString(CultureInfo.InvariantCulture), x => x.Name));
     }
 }
Esempio n. 12
0
 public void EditCategory(int Id, string Name)
 {
     using (var db = new SanSilvestreEntities())
     {
         var Cat = db.Category.First(x => x.Id.Equals(Id));
         Cat.Name = Name;
         db.SaveChanges();
     }
 }
Esempio n. 13
0
        public DAL.User GetUpdateUser(WindowsIdentity windowsIdentity)
        {
            if (windowsIdentity.User == null)
            {
                throw new ArgumentException("The user doesn't exist in the object", "windowsIdentity");
            }
            using (var db = new SanSilvestreEntities())
            {
                var sid = windowsIdentity.User.Value;
                //var domainUser = UserPrincipal.FindByIdentity(new PrincipalContext(ContextType.Domain, "tp1.ad1.tetrapak.com"), IdentityType.Sid, sid);
                //if (domainUser == null) throw new ArgumentException("The user is not found in the active directory", "windowsIdentity");

                var user = db.User.Include("UserRole").Include("UserRole.Role").FirstOrDefault(u => u.UserId.Equals(1));
                if (user == null)
                {
                    return(new DAL.User
                    {
                        UserId = 0,
                        Username = "******",
                        FullName = "Persona no autorizada",
                        UserRole = new List <UserRole>
                        {
                            new UserRole
                            {
                                RoleId = 99,
                                Role = new Role {
                                    Id = 4, Name = "Unauthorized"
                                }
                            }
                        }
                    });
                }

                var userChanged = false;
                //if (user.UserName != domainUser.SamAccountName)
                //{
                //    userChanged = true;
                //    _logger.Value.Debug(string.Format("User '{0}' ({1}) changed user name from '{2}' to '{3}'", user.UserId, user.Username));
                //    user.UserName = domainUser.SamAccountName;
                //}
                //if (user.DisplayName != domainUser.Name)
                //{
                //    userChanged = true;
                //    _logger.Value.Debug(string.Format("User '{0}' ({1}) changed name from '{2}' to '{3}'", user.UserId, user.Username));
                //    user.DisplayName = domainUser.Name;
                //}
                if (userChanged)
                {
                    db.SaveChanges();
                    _logger.Value.Debug(string.Format("User '{0}' ({1}) updated with new information", user.UserId, user.Username));
                }
                return(user);
            }
        }
        public override bool IsUserInRole(string username, string roleName)
        {
            using (var db = new SanSilvestreEntities())
            {
                var user = db.User.FirstOrDefault(u => u.Username.Equals(username, StringComparison.CurrentCultureIgnoreCase));

                return(user != null &&
                       user.UserRole != null &&
                       user.UserRole.Count > 0 &&
                       user.UserRole.Any(ur => ur.Role.Name == Enums.Roles.Developer.ToString() || ur.Role.Name == roleName));
            }
        }
 public List <Models.MyCategoriesDescriptions> GetAllCategories()
 {
     using (var db = new SanSilvestreEntities())
     {
         var data = db.Competition_Category.Select(x => new Models.MyCategoriesDescriptions
         {
             Id          = x.Id,
             Description = x.Description
         }).ToList();
         return(data);
     }
 }
 public IEnumerable <Models.Gender> GetAllGenders()
 {
     using (var db = new SanSilvestreEntities())
     {
         var data = db.Gender.Select(x => new SanSil.BLL.Gender.Models.Gender
         {
             Id   = x.Id,
             Name = x.Name
         }).ToArray();
         return(data);
     }
 }
Esempio n. 17
0
 public void AddCategory(string CatName)
 {
     using (var db = new SanSilvestreEntities())
     {
         db.Category.Add(new DAL.Category
         {
             Id   = 0,
             Name = CatName
         });
         db.SaveChanges();
     }
 }
Esempio n. 18
0
 public IEnumerable <Models.Categories> GetAllCategories()
 {
     using (var db = new SanSilvestreEntities())
     {
         var data = db.Category.Select(x => new SanSil.BLL.Category.Models.Categories
         {
             Id   = x.Id,
             Name = x.Name
         }).ToArray();
         return(data);
     }
 }
 public void AddGender(string Id)
 {
     using (var db = new SanSilvestreEntities())
     {
         var gender = GetGenderData(Id);
         db.Gender.Add(new DAL.Gender
         {
             Id   = gender.Id,
             Name = gender.Name
         });
         db.SaveChanges();
     }
 }
 public Models.Gender GetGenderData(string Id)
 {
     using (var db = new SanSilvestreEntities())
     {
         var gender = db.Gender.FirstOrDefault(x => x.Id == Id);
         if (gender != null)
         {
             return(new Models.Gender
             {
                 Id = gender.Id,
                 Name = gender.Name,
             });
         }
         return(null);
     }
 }
Esempio n. 21
0
 public Models.Categories GetCategoryData(int Id)
 {
     using (var db = new SanSilvestreEntities())
     {
         var Category = db.Category.FirstOrDefault(x => x.Id == Id);
         if (Category != null)
         {
             return(new Models.Categories
             {
                 Id = Category.Id,
                 Name = Category.Name,
             });
         }
         return(null);
     }
 }
Esempio n. 22
0
 public List <Models.User> GetUsers()
 {
     using (var db = new SanSilvestreEntities())
     {
         return(db.User
                .Select(x => new Models.User
         {
             UserId = x.UserId,
             UserName = x.Username,
             FullName = x.FullName,
             EmailID = x.EmailID,
             Password = x.Password,
             IsActive = x.IsActive ?? false,
             Roles = x.UserRole.Select(y => new Models.Role
             {
                 Id = y.Role.Id,
                 Name = y.Role.Name,
             }).ToList(),
         }).ToList());
     }
 }
        public List <Models.Position> GetAllRunners(int vCategoryId)
        {
            using (var db = new SanSilvestreEntities())
            {
                var vCategoryData = db.Competition_Category.FirstOrDefault(x => x.Id == vCategoryId);
                if (vCategoryData != null)
                {
                    var data = db.Competition_Runner
                               .Include("Runner")
                               .Where(z => z.CompetitionId == vCategoryData.CompetitionId &&
                                      z.CategoryId == vCategoryData.CategoryId &&
                                      z.GenderId == vCategoryData.GenderId)
                               .OrderBy(y => y.PositionId)
                               .Select(x => new Models.Position
                    {
                        Id              = x.Id,
                        CompetitionId   = x.CompetitionId,
                        PositionId      = x.PositionId,
                        GeneralPosition = x.GeneralPosition,
                        Dorsal          = x.Dorsal,
                        RunnerId        = x.RunnerId,
                        RunnerName      = x.Runner.Name,
                        RunnerSurName   = x.Runner.SurName,
                        Club            = x.Runner.Club,
                        Elapsed_Time    = x.Elapsed_Time,
                        CategoryId      = x.CategoryId,
                        GenderId        = x.GenderId
                    }).ToList();

                    return(data);
                }
                else
                {
                    return(null);
                }
            }
        }
Esempio n. 24
0
        public int SaveRunner(Models.Runner RunModel)
        {
            //TODO: Mapper

            var runner = new DAL.Runner
            {
                Id             = RunModel.Id,
                Name           = RunModel.Name,
                SurName        = RunModel.SurName,
                Email          = RunModel.Email,
                DocumentTypeId = RunModel.DocumentTypeId,
                Telephone      = RunModel.Telephone,
                PostalCode     = RunModel.PostalCode,
                IsLocalRunner  = RunModel.IsLocalRunner,
                GenderId       = RunModel.GenderId,
                DNI            = RunModel.DNI.ToUpper(),
                Club           = RunModel.Club,
                YearBirthday   = RunModel.YearBirthday,
            };

            using (var db = new SanSilvestreEntities())
            {
                if (runner.Id == 0)
                {
                    //Add
                    if (db.Runner.Any(x => x.Id == runner.Id))
                    {
                        throw new ApplicationException("El corredor ya existe en la base de datos (Mismo Id)");
                    }
                    db.Runner.Add(runner);
                    //var data = db.
                    var pCategory = db.Competition_Category.SingleOrDefault(p => p.CompetitionId == 1 && p.GenderId == RunModel.GenderId &&
                                                                            p.YearFrom <= RunModel.YearBirthday &&
                                                                            p.YearTo >= RunModel.YearBirthday);

                    var runnerCompetition = new DAL.Competition_Runner
                    {
                        Id              = RunModel.Id,
                        RunnerId        = RunModel.Id,
                        CompetitionId   = 1,
                        CategoryId      = pCategory.CategoryId,
                        Dorsal          = RunModel.Dorsal,
                        ElapsedTime     = null,
                        PositionId      = 0,
                        GeneralPosition = 0,
                        GenderId        = RunModel.GenderId,
                    };


                    db.Competition_Runner.Add(runnerCompetition);
                    db.SaveChanges();
                    _logger.Value.Debug(string.Format("Corredor '{0}' añadido a la base de datos", runner.Id));
                }
                else
                {
                    //Edit
                    var currentRunner = db.Runner.FirstOrDefault(x => x.Id == runner.Id);
                    if (currentRunner == null)
                    {
                        throw new ApplicationException("El corredor no existe en la base de datos");
                    }

                    var RunnerChanged = true;
                    //var roleIds = runner.UserRole.Select(x => x.RoleId).ToList();
                    //var currentRoleIds = currentRunner.UserRole.Select(x => x.RoleId).ToList();

                    ////Delete roles not used
                    //if (currentRunner.UserRole.Any(x => !roleIds.Contains(x.RoleId)))
                    //{
                    //    RunnerChanged = true;
                    //    db.UserRole.RemoveRange(currentRunner.UserRole.Where(x => !roleIds.Contains(x.RoleId)));
                    //}
                    ////Add new roles
                    //if (runner.UserRole.Any(x => !currentRoleIds.Contains(x.RoleId)))
                    //{
                    //    RunnerChanged = true;
                    //    runner.UserRole.Where(x => !currentRoleIds.Contains(x.RoleId)).ToList().ForEach(x => db.UserRole.Add(new UserRole
                    //    {
                    //        RoleId = x.RoleId,
                    //        UserId = runner.UserId
                    //    }));
                    //}
                    if (RunnerChanged)
                    {
                        db.SaveChanges();
                        _logger.Value.Debug(string.Format("User '{0}' updated in database", runner.Id));
                    }
                }
            }
            return(runner.Id);
        }
Esempio n. 25
0
        //public Dictionary<string, int> GetUserIdDir()
        //{
        //    using (var db = new SanSilvestreEntities())
        //    {
        //        return db.User.ToDictionary(x => x.Sid, x => x.Id);
        //    }
        //}

        public int SaveUser(Models.User UserModel)
        {
            //TODO: Mapper
            var user = new DAL.User
            {
                UserId   = UserModel.UserId,
                Username = UserModel.UserName,
                FullName = UserModel.FullName,
                Password = UserModel.Password,
                EmailID  = UserModel.EmailID,
                IsActive = UserModel.IsActive,
                UserRole = UserModel.Roles.Select(x => new UserRole {
                    RoleId = x.Id, UserId = UserModel.UserId
                }).ToList(),
            };

            using (var db = new SanSilvestreEntities())
            {
                if (user.UserId == 0)
                {
                    //Add
                    if (db.User.Any(x => x.UserId == user.UserId))
                    {
                        throw new ApplicationException("The user already exist in the database (same SID)");
                    }
                    db.User.Add(user);
                    db.UserRole.AddRange(user.UserRole);
                    db.SaveChanges();
                    _logger.Value.Debug(string.Format("User '{0}' added to database", user.UserId));
                }
                else
                {
                    //Edit
                    var currentUser = db.User.FirstOrDefault(x => x.UserId == user.UserId);
                    if (currentUser == null)
                    {
                        throw new ApplicationException("The user doesn't exist in the database");
                    }

                    var userChanged    = false;
                    var roleIds        = user.UserRole.Select(x => x.RoleId).ToList();
                    var currentRoleIds = currentUser.UserRole.Select(x => x.RoleId).ToList();

                    //Update from domain
                    //if (currentUser.UserName != domainUser.SamAccountName)
                    //{
                    //    userChanged = true;
                    //    currentUser.UserName = domainUser.SamAccountName;
                    //}
                    //if (currentUser.DisplayName != domainUser.Name)
                    //{
                    //    userChanged = true;
                    //    currentUser.DisplayName = domainUser.Name;
                    //}
                    //Delete roles not used
                    if (currentUser.UserRole.Any(x => !roleIds.Contains(x.RoleId)))
                    {
                        userChanged = true;
                        db.UserRole.RemoveRange(currentUser.UserRole.Where(x => !roleIds.Contains(x.RoleId)));
                    }
                    //Add new roles
                    if (user.UserRole.Any(x => !currentRoleIds.Contains(x.RoleId)))
                    {
                        userChanged = true;
                        user.UserRole.Where(x => !currentRoleIds.Contains(x.RoleId)).ToList().ForEach(x => db.UserRole.Add(new UserRole
                        {
                            RoleId = x.RoleId,
                            UserId = user.UserId
                        }));
                    }
                    ////Delete companies not used
                    //if (currentUser.UserCompany.Any(x => !companyIds.Contains(x.CompanyId)))
                    //{
                    //    userChanged = true;
                    //    db.UserCompany.RemoveRange(currentUser.UserCompany.Where(x => !companyIds.Contains(x.CompanyId)));
                    //}
                    ////Add new roles
                    //if (user.UserCompany.Any(x => !currentCompanyIds.Contains(x.CompanyId)))
                    //{
                    //    userChanged = true;
                    //    user.UserCompany.Where(x => !currentCompanyIds.Contains(x.CompanyId)).ToList().ForEach(x => db.UserCompany.Add(new UserCompany
                    //    {
                    //        CompanyId = x.CompanyId,
                    //        UserId = user.Id
                    //    }));
                    //}
                    if (userChanged)
                    {
                        db.SaveChanges();
                        _logger.Value.Debug(string.Format("User '{0}' updated in database", user.UserId));
                    }
                }
            }
            return(user.UserId);
        }