Beispiel #1
0
        public static bool CreateUserIdentityFromUser(DBO.User user)
        {
            ApplicationDbContext context = new ApplicationDbContext();
            var    roleManager           = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context));
            var    UserManager           = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));
            String roleString            = user.Role == 0 ? "Root" : user.Role == 1 ? "Admin" : "User";
            var    role = new IdentityRole();

            role.Name = roleString;
            roleManager.Create(role);

            var userIdentity = new ApplicationUser
            {
                UserName = user.Login,
                Email    = user.Email
            };
            var result = UserManager.Create(userIdentity, user.Password);

            if (result.Succeeded)
            {
                UserManager.AddToRole(userIdentity.Id, roleString);
                return(true);
            }
            return(false);
        }
Beispiel #2
0
        public static List <DBO.User> GetUsersUnderRole(long id, BusinessManagement.UserRoles.Roles role)
        {
            List <DBO.User> result = new List <DBO.User>();

            try
            {
                using (MeditateBookEntities bdd = new MeditateBookEntities())
                {
                    List <T_User> list = bdd.T_User.Where(x => x.id != id && x.role <= (int)role).ToList();
                    foreach (T_User user in list)
                    {
                        DBO.User newUser = new DBO.User()
                        {
                            Email     = user.email,
                            Firstname = user.firstname,
                            Id        = user.id,
                            Lastname  = user.lastname,
                            Password  = user.password,
                            Role      = (BusinessManagement.UserRoles.Roles)user.role
                        };
                        result.Add(newUser);
                    }
                    return(result);
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine(e);
                return(result);
            }
        }
Beispiel #3
0
 public static DBO.User GetUserById(long id)
 {
     try
     {
         using (MeditateBookEntities bdd = new MeditateBookEntities())
         {
             T_User user = bdd.T_User.Where(x => x.id == id).FirstOrDefault();
             if (user != null)
             {
                 DBO.User result = new DBO.User()
                 {
                     Email     = user.email,
                     Firstname = user.firstname,
                     Id        = user.id,
                     Lastname  = user.lastname,
                     Password  = user.password,
                     Role      = (BusinessManagement.UserRoles.Roles)user.role
                 };
                 return(result);
             }
             return(null);
         }
     }
     catch (Exception e)
     {
         System.Diagnostics.Debug.WriteLine(e);
         return(null);
     }
 }
Beispiel #4
0
        public static bool CreateUser(DBO.User user)
        {
            try
            {
                using (MeditateBookEntities bdd = new MeditateBookEntities())
                {
                    T_User newUser = new T_User()
                    {
                        email     = user.Email,
                        firstname = user.Firstname,
                        lastname  = user.Lastname,
                        password  = user.Password,
                        role      = (int)user.Role
                    };

                    bdd.T_User.Add(newUser);
                    bdd.SaveChanges();
                    return(true);
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine(e);
                return(false);
            }
        }
Beispiel #5
0
 public static bool UpdateUser(DBO.User user)
 {
     using (IziWatchEntities bdd = new IziWatchEntities())
     {
         try
         {
             T_User t_user = bdd.T_User.Where(x => x.id == user.Id).FirstOrDefault();
             if (t_user != null)
             {
                 t_user.id       = user.Id;
                 t_user.login    = user.Login;
                 t_user.password = user.Password;
                 t_user.email    = user.Email;
                 t_user.role     = user.Role;
                 bdd.SaveChanges();
                 return(true);
             }
             else
             {
                 return(false);
             }
         }
         catch (Exception e)
         {
             return(false);
         }
     }
 }
        public void addToConv(DBO.Message message, DBO.User user, ref List <DBO.Conversation> conversations)
        {
            foreach (var conversation in conversations)
            {
                if (conversation.FriendName.Equals(user.Firstname + " " + user.Lastname))
                {
                    if (conversation.LastMessageDate <= message.Date)
                    {
                        conversation.LastMessageDate    = message.Date;
                        conversation.LastMessageContent = message.Content;
                        conversation.wasRead            = message.IdSender == user.Id ? message.IsSeen : true;
                    }
                    return;
                }
            }

            conversations.Add(new DBO.Conversation()
            {
                FriendId           = user.Id,
                FriendName         = user.Firstname + " " + user.Lastname,
                LastMessageDate    = message.Date,
                LastMessageContent = message.Content,
                wasRead            = message.IdSender == user.Id ? message.IsSeen : true
            });
        }
        public ActionResult Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new DBO.User()
                {
                    Firstname = model.Firstname, Email = model.Email, Lastname = model.Lastname, Password = model.Password, Role = BusinessManagement.UserRoles.Roles.User
                };
                var result = BusinessManagement.User.CreateUser(user);
                if (result)
                {
                    HttpContext.Session["UserID"] = BusinessManagement.User.getIdByName(model.Email);
                    FormsAuthentication.RedirectFromLoginPage(user.Email, false);
                    // Pour plus d'informations sur l'activation de la confirmation du compte et la réinitialisation du mot de passe, consultez http://go.microsoft.com/fwlink/?LinkID=320771
                    // Envoyer un message électronique avec ce lien
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirmez votre compte", "Confirmez votre compte en cliquant <a href=\"" + callbackUrl + "\">ici</a>");

                    return(RedirectToAction("Index", "Home"));
                }
            }

            // Si nous sommes arrivés là, un échec s’est produit. Réafficher le formulaire
            return(View(model));
        }
Beispiel #8
0
        public static bool DeleteIdentityFromUser(DBO.User user)
        {
            ApplicationDbContext context = new ApplicationDbContext();
            var UserManager  = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));
            var userIdentity = UserManager.FindByName(user.Login);
            var result       = UserManager.Delete(userIdentity);

            return(result.Succeeded);
        }
Beispiel #9
0
        public static bool UpdateUser(DBO.User user)
        {
            bool res = UpdateUserIdentityFromUser(user);

            if (res)
            {
                return(DataAccess.User.UpdateUser(user));
            }
            return(false);
        }
Beispiel #10
0
 public ActionResult Edit([Bind(Include = "Id,Login,Password,Email,Role")] DBO.User user)
 {
     if (ModelState.IsValid)
     {
         // Generated : db.Entry(user).State = EntityState.Modified;
         BusinessManagement.User.UpdateUser(user);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(user));
 }
Beispiel #11
0
 public bool DeleteUser(String login)
 {
     DBO.User exists = GetUserFromLogin(login);
     if (exists == null)
     {
         return(false);
     }
     DBO.DatabaseContext.getInstance().Users.Remove(exists);
     DBO.DatabaseContext.getInstance().SaveChanges();
     return(true);
 }
Beispiel #12
0
        public ActionResult Create([Bind(Include = "Id,Login,Password,Email,Role")] DBO.User user)
        {
            if (ModelState.IsValid)
            {
                // Generated : db.Users.Add(user);
                BusinessManagement.User.CreateUser(user);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(user));
        }
Beispiel #13
0
 public static bool LikeArticle(DBO.Article article, DBO.User user)
 {
     DBO.Popularity popularity = BusinessManagement.Popularity.GetPopularityByUserAndArticle(article, user);
     {
         if (popularity != null)
         {
             popularity.Liked = true;
             return(BusinessManagement.Popularity.UpdatePopularity(popularity));
         }
     }
     return(false);
 }
Beispiel #14
0
 // GET: Users/Details/5
 public ActionResult Details(int?id)
 {
     if (id == null)
     {
         return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
     }
     //  Generated :  DBO.User user = db.Users.Find(id);
     DBO.User user = BusinessManagement.User.GetUser((int)id);
     if (user == null)
     {
         return(HttpNotFound());
     }
     return(View(user));
 }
Beispiel #15
0
        public DBO.User CreateUser(String login, String password, role role)
        {
            DBO.User exists = GetUserFromLogin(login);
            if (exists != null)
            {
                return(exists);
            }
            String pass = CalculateMD5Hash(password);

            DBO.User user = new DBO.User
            {
                login    = login,
                password = pass,
                role     = (int)role
            };
            DBO.DatabaseContext.getInstance().Users.Add(user);
            DBO.DatabaseContext.getInstance().SaveChanges();
            return(GetUserFromLogin(login));
        }
Beispiel #16
0
        public ActionResult LogOn(LogOnModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
                return View(model);

            DBO.User user = new DBO.User() { Name = model.UserName, Password = model.Password };

            if (!BM.User.IsValid(user))
            {
                ModelState.AddModelError("", "Pseudo ou mot de passe incorrect.");
                return View(model);
            }

            FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);

            if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
                && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
                return Redirect(returnUrl);

            return RedirectToAction("Index", "Accueil");
        }
Beispiel #17
0
        public static bool CreateUser(DBO.User user)
        {
            bool res = DataAccess.User.CreateUser(user);

            if (res)
            {
                DBO.User           newUser  = GetUserByMaxId();
                List <DBO.Article> articles = BusinessManagement.Article.GetListArticle();
                DBO.Popularity     popularity;
                foreach (DBO.Article article in articles)
                {
                    popularity           = new DBO.Popularity();
                    popularity.Liked     = false;
                    popularity.Viewed    = false;
                    popularity.ArticleId = article.Id;
                    popularity.UserId    = newUser.Id;
                    BusinessManagement.Popularity.CreatePopularity(popularity);
                }
                CreateUserIdentityFromUser(user);
                return(true);
            }
            return(false);
        }
Beispiel #18
0
        public ActionResult Register(RegisterModel model)
        {
            if (!ModelState.IsValid)
                return View(model);

            DBO.User user = new DBO.User()
            {
                Name = model.UserName,
                Password = model.Password,
                Email = model.Email
            };

            string result = BM.User.NewUser(user);

            if (result == string.Empty)
            {
                FormsAuthentication.SetAuthCookie(model.UserName, true);
                return RedirectToAction("Index", "Accueil");
            }

            ModelState.AddModelError("", result);
            return View(model);
        }
Beispiel #19
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser
                {
                    UserName = model.Login,
                    Email    = model.Email,
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // Pour plus d'informations sur l'activation de la confirmation du compte et la réinitialisation du mot de passe, consultez http://go.microsoft.com/fwlink/?LinkID=320771
                    // Envoyer un message électronique avec ce lien
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirmez votre compte", "Confirmez votre compte en cliquant <a href=\"" + callbackUrl + "\">ici</a>");

                    DBO.User dboUser = new DBO.User()
                    {
                        Login    = user.UserName,
                        Password = model.Password,
                        Email    = user.Email,
                        Role     = 2
                    };
                    BusinessManagement.User.CreateUser(dboUser);
                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // Si nous sommes arrivés là, un échec s’est produit. Réafficher le formulaire
            return(View(model));
        }
Beispiel #20
0
        public static bool UpdateUserIdentityFromUser(DBO.User user)
        {
            DBO.User             oldUser     = BusinessManagement.User.GetUser(user.Id);
            string               oldPassword = oldUser.Password;
            string               oldLogin    = oldUser.Login;
            ApplicationDbContext context     = new ApplicationDbContext();
            var    roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context));
            var    UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));
            String roleString  = user.Role == 0 ? "Root" : user.Role == 1 ? "Admin" : "User";
            var    role        = new IdentityRole();

            role.Name = roleString;
            roleManager.Create(role);

            var userIdentity = UserManager.FindByName(oldLogin);

            userIdentity.UserName = user.Login;
            userIdentity.Email    = user.Email;
            UserManager.ChangePassword(userIdentity.Id, oldPassword, user.Password);
            var result = UserManager.Update(userIdentity);

            if (result.Succeeded)
            {
                IList <String> identityRoles = UserManager.GetRoles(userIdentity.Id);
                string[]       roleStrings   = new string[3];
                int            i             = 0;
                foreach (String identityRole in identityRoles)
                {
                    roleStrings[i] = identityRole;
                }
                UserManager.RemoveFromRoles(userIdentity.Id, roleStrings);
                UserManager.AddToRole(userIdentity.Id, roleString);
                return(true);
            }
            return(false);
        }
Beispiel #21
0
 public static bool CreateUser(DBO.User user)
 {
     using (IziWatchEntities bdd = new IziWatchEntities())
     {
         try
         {
             T_User t_user = new T_User()
             {
                 id       = user.Id,
                 login    = user.Login,
                 password = user.Password,
                 email    = user.Email,
                 role     = user.Role
             };
             bdd.T_User.Add(t_user);
             bdd.SaveChanges();
             return(true);
         }
         catch (Exception e)
         {
             return(false);
         }
     }
 }
        public async Task <ActionResult> ChangePassword(ChangePasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var result = await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword, model.NewPassword);

            if (result.Succeeded)
            {
                var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());

                if (user != null)
                {
                    DBO.User dboUser = BusinessManagement.User.GetUserByLogin(user.UserName);
                    dboUser.Password = model.NewPassword;
                    BusinessManagement.User.UpdateUser(dboUser);
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);
                }
                return(RedirectToAction("Index", new { Message = ManageMessageId.ChangePasswordSuccess }));
            }
            AddErrors(result);
            return(View(model));
        }
Beispiel #23
0
        public static bool UpdateUser(DBO.User user)
        {
            try
            {
                using (MeditateBookEntities bdd = new MeditateBookEntities())
                {
                    T_User oldUser = bdd.T_User.Where(x => x.id == user.Id).FirstOrDefault();

                    oldUser.firstname = user.Firstname;
                    oldUser.email     = user.Email;
                    oldUser.lastname  = user.Lastname;
                    oldUser.password  = user.Password;
                    oldUser.role      = (int)user.Role;

                    bdd.SaveChanges();
                    return(true);
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine(e);
                return(false);
            }
        }
        public ActionResult Index()
        {
            DBO.User            user       = BusinessManagement.User.GetUserByUserIdentity(User);
            List <DBO.Article>  articles   = BusinessManagement.Article.GetListArticleByDate();
            List <DBO.Category> categories = BusinessManagement.Category.GetListCategory();
            bool       dateError           = false;
            bool       favoritesCheck      = false;
            string     filter      = Request["action"];
            List <int> categoryIds = new List <int>();

            if (filter != null)
            {
                if (Request["categories"] != null)
                {
                    string[] categoryValues = Request["categories"].Split(',');
                    foreach (string categoryId in categoryValues)
                    {
                        categoryIds.Add(Convert.ToInt32(categoryId.Trim()));
                    }
                    articles = BusinessManagement.Article.FilterByCategories(articles, categoryIds);
                }
                if (Request["popular"] != null)
                {
                    articles = BusinessManagement.Article.FilterByPopularity(articles);
                }
                if (Request["favorites"] != null)
                {
                    if (user != null)
                    {
                        articles       = BusinessManagement.Article.FilterByFavorites(articles, user);
                        favoritesCheck = true;
                    }
                }
                DateTime beginDate;
                DateTime endDate;
                try
                {
                    if (Request["beginDate"] == "")
                    {
                        beginDate = DateTime.MinValue;
                    }
                    else
                    {
                        beginDate = DateTime.Parse(Request["beginDate"]);
                    }
                    if (Request["endDate"] == "")
                    {
                        endDate = DateTime.MaxValue;
                    }
                    else
                    {
                        endDate = DateTime.Parse(Request["endDate"]);
                    }
                    articles = BusinessManagement.Article.FilterByDates(articles, beginDate, endDate);
                }
                catch (Exception e)
                {
                    dateError = true;
                    Debug.WriteLine("[DEBUG][HOME][INDEX] - Error in date format.");
                }
            }

            ViewBag.favoritesCheck  = favoritesCheck;
            ViewBag.userConnected   = user;
            ViewBag.dateError       = dateError;
            ViewBag.articles        = articles;
            ViewBag.categories      = categories;
            ViewBag.categoryChecks  = categoryIds;
            ViewBag.popularityCheck = Request["popular"] != null;
            ViewBag.beginDate       = Request["beginDate"];
            ViewBag.endDate         = Request["endDate"];
            return(View());
        }
Beispiel #25
0
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            DBO.User           user       = BusinessManagement.User.GetUserByUserIdentity(User);
            DBO.Article        article    = BusinessManagement.Article.GetArticle((int)id);
            DBO.Popularity     popularity = null;
            List <DBO.Comment> comments   = new List <DBO.Comment>();
            int  countLikes   = 0;
            bool commentError = false;

            if (article == null)
            {
                return(HttpNotFound());
            }
            else
            {
                if (user != null)
                {
                    if (Request["action"] == "like")
                    {
                        BusinessManagement.Article.LikeArticle(article, user);
                    }
                    else if (Request["action"] == "unlike")
                    {
                        BusinessManagement.Article.UnlikeArticle(article, user);
                    }
                    else if (Request["action"] == "Commenter")
                    {
                        DBO.Comment comment = new DBO.Comment();
                        comment.Title     = Request["commentTitle"];
                        comment.Text      = Request["commentText"];
                        comment.ArticleId = article.Id;
                        comment.UserId    = user.Id;
                        if (comment.Title == "" || comment.Text == "")
                        {
                            commentError = true;
                        }
                        else
                        {
                            BusinessManagement.Comment.CreateComment(comment);
                        }
                    }
                    BusinessManagement.Article.ViewArticle(article, user);
                    popularity = BusinessManagement.Popularity.GetPopularityByUserAndArticle(article, user);
                }
                BusinessManagement.Article.IncrementArticleViews(article);
                comments   = BusinessManagement.Comment.GetCommentsByArticle(article);
                countLikes = BusinessManagement.Popularity.countLikeArticle(article);
            }

            ViewBag.userConnected = user;
            ViewBag.article       = article;
            ViewBag.comments      = comments;
            ViewBag.popularity    = popularity;
            ViewBag.countLikes    = countLikes;
            ViewBag.pageUrl       = Request.Url;
            ViewBag.commentError  = commentError;
            ViewBag.tweet_text    = "https://twitter.com/intent/tweet?text=" + article.Title.Substring(0, @article.Title.Length).Replace(" ", "%20");
            return(View());
        }
Beispiel #26
0
        public static List <DBO.Article> FilterByFavorites(List <DBO.Article> articles, DBO.User user)
        {
            List <DBO.Article> filterArticles = new List <DBO.Article>();

            foreach (DBO.Article article in articles)
            {
                if (BusinessManagement.Popularity.GetPopularityByUserAndArticle(article, user).Liked)
                {
                    filterArticles.Add(article);
                }
            }
            return(filterArticles);
        }
Beispiel #27
0
 public void Block(string login, bool block)
 {
     DBO.User usr = GetUserFromLogin(login);
     usr.is_blocked = (block ? 1 : 0);
 }
Beispiel #28
0
        /// <summary>
        /// Conversion Entity -> DBO
        /// </summary>
        public static DBO.User ConvertToDBO(T_User user)
        {
            DBO.User dbo = new DBO.User();

            if (user != null)
            {
                dbo.Info = user.info;
                dbo.Name = user.nom;
                dbo.Password = user.password;
                dbo.Email = user.email;
                dbo.Id = Convert.ToInt16(user.id);
            }

            return dbo;
        }
Beispiel #29
0
        public static DBO.Popularity GetPopularityByUserAndArticle(DBO.Article article, DBO.User user)
        {
            List <DBO.Popularity> popularities = BusinessManagement.Popularity.GetListPopularity();

            foreach (DBO.Popularity popularity in popularities)
            {
                if (popularity.UserId == user.Id && popularity.ArticleId == article.Id)
                {
                    return(popularity);
                }
            }
            return(null);
        }
Beispiel #30
0
        public ActionResult ChangePassword(ChangePasswordModel model)
        {
            if (!ModelState.IsValid)
                return View(model);

            DBO.User user = new DBO.User() { Name = User.Identity.Name, Password = model.OldPassword };

            if (BM.User.ChangePassword(user, model.NewPassword))
                return RedirectToAction("ChangePasswordSuccess");

            return View(model);
        }
Beispiel #31
0
        public static bool UpdateUser(DBO.User user)
        {
            user.Password = Encrypt(user.Password);

            return(DataAccess.User.UpdateUser(user));
        }
Beispiel #32
0
 public static DBO.User GetUserById(long id)
 {
     DBO.User user = DataAccess.User.GetUserById(id);
     user.Password = Decrypt(user.Password);
     return(user);
 }
Beispiel #33
0
 public static long getIdByName(string username)
 {
     DBO.User user = DataAccess.User.GetUserByName(username);
     return(user.Id);
 }