protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            //On récup l'user
            var user = GetUserSession();
            if (user.IsNull() || user.IsAdministrateurFranchise().IsFalse())
            {
                return;
            }

            adminFranchise = UserToAdministrateurFranchise(user);
        }
Example #2
0
        /// <summary>
        ///     Permet d'enregistrer en bdd une franchise + compte admin
        /// </summary>
        /// <param name="model">ViewModelRegisterFranchise</param>
        /// <returns>int</returns>
        public int AddFranchise(ViewModelRegisterFranchise model = null)
        {
            try
            {
                //On regarde si le model est null
                if (model.IsNull()) return -1;

                //On regarde si le mail n'est pas déjà présent dans la bdd
                var user = Users.FirstOrDefault(u => u.Email.ToLower().Equals(model.Email.ToLower()));
                if (user.IsNotNull()) return -2;

                //On récup l'abonnement choisi
                var abonnement = GetAbonnement(model.AbonnementId);
                if (abonnement.IsNull()) return -3;

                //Début du processus de création de la franchise
                //Création de l'AdministrateurFranchise
                var administrateurFranchise = new AdministrateurFranchise
                {
                    Nom = model.Nom,
                    Genre = model.GenreId == 1,
                    Email = model.Email,
                    Password = model.Password.ToMd5(),
                    Prenom = model.Prenom,
                    Role = Roles.Find(3)
                };

                //Création de la franchise
                var franchise = new Franchise
                {
                    ListeAdministrateur = new List<AdministrateurFranchise>
                    {
                        administrateurFranchise
                    },
                    FicheFranchise = new FicheFranchise
                    {
                        Nom = model.NomFranchise,
                        ChiffreAffaire = 0,
                        NombreSalon = 0,
                        NombreEmployes = 0,
                        Adresse = model.Adresse,
                        Ville = model.NomVille,
                        Pays = model.Pays,
                        CodePostal = model.CodePostal
                    }
                };

                //On regarde si un Administrateur posséde le même mail
                if (ExistUser(administrateurFranchise.Email)) return -4;

                //On ajoute la franchise à l'admin
                administrateurFranchise.Franchise = franchise;

                //Add en bdd
                Users.Add(administrateurFranchise);
                Franchises.Add(franchise);

                //Save de la bdd
                SaveChanges();

                return administrateurFranchise.Id;
            }
            catch (Exception e)
            {
                var g = e.Message;
                return -1;
            }
        }
Example #3
0
        /// <summary>
        ///     Permet de savoir si l'utilisateur peut ajouter un employé
        /// </summary>
        /// <param name="admin">Admin</param>
        /// <returns>bool</returns>
        public bool AuthorizedAddEmploye(AdministrateurFranchise admin = null)
        {
            try
            {
                if (admin.IsNull()) return false;
                var g = Franchises.Where(f => f.Id == admin.IdFranchise).Include(f => f.Salons).ToList();
                var franchise = Franchises.Include(f => f.Salons).FirstOrDefault(f => f.Id == admin.IdFranchise);
                if (franchise.IsNull()) return false;

                return franchise.Salons.Count != 0;
                //var c = Franchises.Where(f => f.Id == admin.IdFranchise).Include(f => f.Salons).Select(f => f.Salons).Count() != 0;

                //return c;
            }
            catch (Exception)
            {
                return false;
            }
        }
Example #4
0
        /// <summary>
        ///     Permet de savoir si l'utilisateur peut ajouter un salon
        /// </summary>
        /// <param name="admin">Admin</param>
        /// <returns>bool</returns>
        public bool AutorizedAddSalon(AdministrateurFranchise admin = null)
        {
            try
            {
                if (admin.IsNull()) return false;

                return GetNombreSalonsRestant(admin) != 0;
            }
            catch (Exception)
            {
                return false;
            }
        }
Example #5
0
        /// <summary>
        ///     Permet de récupérer le nombre de salons que l'utilisateur peut encore ajouter
        /// </summary>
        /// <param name="admin">AdministrateurFranchise</param>
        /// <returns>int</returns>
        public int GetNombreSalonsRestant(AdministrateurFranchise admin = null)
        {
            try
            {
                if (admin.IsNull()) return 0;

                var max =
                    Franchises.FirstOrDefault(f => f.Id == admin.IdFranchise);

                var salonActuel = GetNombreSalon(admin);
                return salonActuel;
            }
            catch (Exception)
            {
                return 0;
            }
        }
Example #6
0
        /// <summary>
        ///     Permet de récupérer le nombre de salons
        /// </summary>
        /// <param name="admin">AdministrateurFranchise</param>
        /// <returns>int</returns>
        public int GetNombreSalon(AdministrateurFranchise admin = null)
        {
            try
            {
                if (admin.IsNull()) return 0;

                var franchise = GetFranchiseById(admin.IdFranchise);
                if (franchise.IsNull()) return 0;

                return franchise.FicheFranchise.NombreSalon;
                //return Franchises.Where(f => f.Id == admin.IdFranchise).SelectMany(f => f.Salons).Count();
            }
            catch (Exception)
            {
                return 0;
            }
        }
Example #7
0
        /// <summary>
        ///     Permet de récupérer le nombre d'employé total d'une franchise
        /// </summary>
        /// <param name="admin">AdministrateurFranchise</param>
        /// <returns>int</returns>
        public int GetNombreEmployes(AdministrateurFranchise admin = null)
        {
            try
            {
                if (admin.IsNull()) return 0;

                var franchise = GetFranchiseById(admin.IdFranchise);
                if (franchise.IsNull()) return 0;
                return franchise.FicheFranchise.NombreEmployes;
                //Franchises.Where(f => f.Id == admin.IdFranchise)
                //    .SelectMany(f => f.Salons).Include(s => s.FicheSalon)
                //    .Sum(s => s.FicheSalon.NombreEmployes);

                //return
                //    Franchises.Where(f => f.Id == admin.IdFranchise)
                //        .SelectMany(f => f.Salons)
                //        .SelectMany(s => s.ListeEmployes)
                //        .Count();
            }
            catch (Exception)
            {
                return 0;
            }
        }
Example #8
0
        /// <summary>
        ///     Permet de récupérer tous les employés des salons via un AdministrateurFranchise
        /// </summary>
        /// <param name="admin">AdministrateurFranchise</param>
        /// <returns>List{Salon}</returns>
        public List<Employe> GetEmployes(AdministrateurFranchise admin = null)
        {
            try
            {
                if (admin.IsNull()) return new List<Employe>();

                return
                    Franchises.Where(f => f.Id == admin.IdFranchise)
                        .SelectMany(f => f.Salons)
                        .SelectMany(s => s.ListeEmployes).Distinct()
                        .Include(e => e.Salon)
                        .Include(s => s.Salon.FicheSalon)
                        .ToList();
            }
            catch (Exception)
            {
                return new List<Employe>();
            }
        }
Example #9
0
        public bool AccessEmploye(int? idEmploye, AdministrateurFranchise admin = null)
        {
            try
            {
                if (idEmploye.IsNull() || admin.IsNull()) return false;

                return
                    Users.OfType<Employe>()
                        .Include(e => e.Salon)
                        .Where(u => u.Id == idEmploye)
                        .FirstOrDefault()
                        .IsNotNull();
            }
            catch (Exception)
            {
                return false;
            }
        }
Example #10
0
        /// <summary>
        ///     Permet de récupérer les salons via un AdministrateurFranchise
        /// </summary>
        /// <param name="admin">AdministrateurFranchise</param>
        /// <returns>List{Salon}</returns>
        public List<Salon> GetSalons(AdministrateurFranchise admin = null)
        {
            try
            {
                if (admin.IsNull()) return new List<Salon>();

                return Franchises.Where(f => f.Id == admin.IdFranchise).SelectMany(f => f.Salons).Include(s => s.ListeEmployes)
                    .Include(s => s.PrestationClients).Include(s => s.FicheSalon).Include(s => s.Abonnement).ToList();
            }
            catch (Exception)
            {
                return new List<Salon>();
            }
        }