Пример #1
0
        public ActionResult Register(RegisterModel model)
        {
            try
            {
                User user = null;
                using (ISession session = NHibertnateSession.OpenSession())
                {
                    user = session.Query <User>().FirstOrDefault(u => u.Login == model.Login);
                }
                if (user == null)
                {
                    using (ISession session = NHibertnateSession.OpenSession())
                    {
                        using (ITransaction transaction = session.BeginTransaction())
                        {
                            session.Save(new User()
                            {
                                Login = model.Login, Password = MD5Class.Calculate(model.Password).ToLower()
                            });
                            transaction.Commit();
                            FormsAuthentication.SetAuthCookie(model.Login, true);
                            return(RedirectToAction("Index", "Home"));
                        }
                    }
                }

                ModelState.AddModelError("", "Пользователь с таким логином уже существует");
            }
            catch
            {
                return(View(model));
            }

            return(View(model));
        }
 public ActionResult Add(Document model)
 {
     try
     {
         if (!ModelState.IsValid)
         {
             return(View(model));
         }
         var file = Request.Files[0];
         if (file == null)
         {
             return(View(model));
         }
         using (ISession session = NHibertnateSession.OpenSession())
         {
             DateTime dateTime  = DateTime.Now;
             string   timeStamp = DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds.ToString();
             var      link      = MD5Class.Calculate($"{timeStamp}{model.Name}").ToLower();
             var      fileExt   = Path.GetExtension(file.FileName);
             var      path      = Path.Combine(Server.MapPath("~/App_Data/uploads"), $"{link}{fileExt}");
             file.SaveAs(path);
             session.CreateSQLQuery("EXEC AddDocument @name = '" + model.Name + "',@date = '" + dateTime +
                                    "',@author = '" + User.Identity.Name + "',@link = '" + link +
                                    "', @contentPath = '" + path + "'")
             .ExecuteUpdate();
         }
     }
     catch
     {
         // ignored
     }
     return(RedirectToAction("All", "Documents"));
 }
Пример #3
0
        public ActionResult Login(LoginModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            User user = null;

            using (ISession session = NHibertnateSession.OpenSession())
            {
                user = session.Query <User>().FirstOrDefault(u => u.Login == model.Login && u.Password == MD5Class.Calculate(model.Password).ToLower());
            }
            if (user != null)
            {
                FormsAuthentication.SetAuthCookie(model.Login, true);
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                ModelState.AddModelError("", "Пользователя с таким логином и поролем нет");
            }

            return(View(model));
        }