예제 #1
0
 public void AddOrUpdate(UsersModel Models)
 {
     using (var db = new HTJKEntities())
     {
         if (Models.Id > 0)
         {
             var table = db.A_User.Where(k => k.Id == Models.Id).SingleOrDefault();
             table.Telphone = Models.Telphone;
             table.Name     = Models.Name;
             table.Password = Models.Password;
         }
         else
         {
             A_User table = new A_User();
             table.Telphone   = Models.Telphone;
             table.Name       = Models.Name;
             table.Password   = Models.Password;
             table.LastTimes  = DateTime.Now;
             table.LoginTimes = 1;
             table.CreateTime = DateTime.Now;
             db.A_User.Add(table);
         }
         db.SaveChanges();
     }
 }
예제 #2
0
 public void Insert(A_User tblUser)
 {
     tblUser.ActiveFlag = 1;
     tblUser.CreateTime = DateTime.Now;
     tblUser.UpdateTime = DateTime.Now;
     db.A_User.Add(tblUser);
     db.SaveChanges();
 }
예제 #3
0
 public ActionResult UserProfile(A_User tblUser, string sex)
 {
     if (ModelState.IsValid)
     {
         UserDao userDao = new UserDao();
         tblUser.Sex = sex;
         userDao.Update(tblUser);
         return(RedirectToAction("UserProfile"));
     }
     ViewBag.LevelId = new SelectList(db.A_Level, "LevelId", "Description", tblUser.LevelId);
     return(View(tblUser));
 }
예제 #4
0
        /// <summary>
        /// Pobiera z bazy danych informacje o wskazanym użytkowniku.
        /// </summary>
        /// <param name="predicate">Funkcja (predykat) sprawdzająca warunek dla każdego elementu. Wartość null powoduje, że ta metoda również zwraca null.</param>
        /// <returns>
        /// Obiekt reprezentujący rekord z tabeli A_Users, odpowiadający szukanemu użytkownikowi,
        /// null jeżeli nie znaleziono użytkownika odpowiadającego podanym warunkom lub podany argument to null.
        /// </returns>
        public A_User SelectUser(System.Linq.Expressions.Expression <Func <A_User, bool> > predicate)
        {
            A_User entity = null;

            if (predicate != null)
            {
                db     = new MedicalCenterDBContainer();
                entity = db.A_Users.FirstOrDefault(predicate);
                db.Dispose();
            }

            return(entity);
        }
예제 #5
0
        public void Update(A_User tblUser)
        {
            A_User userEdit = new A_User();

            userEdit                 = db.A_User.Find(tblUser.UserId);
            userEdit.NickName        = tblUser.NickName;
            userEdit.TelNumber       = tblUser.TelNumber;
            userEdit.FullName        = tblUser.FullName;
            userEdit.LevelId         = tblUser.LevelId;
            userEdit.Sex             = tblUser.Sex;
            userEdit.AboutMe         = tblUser.AboutMe;
            userEdit.UpdateTime      = DateTime.Now;
            db.Entry(userEdit).State = EntityState.Modified;
            db.SaveChanges();
        }
예제 #6
0
        public ActionResult Login(A_User tblUser)
        {
            var userDetails = db.A_User.Where(m => m.Email == tblUser.Email && m.Password == tblUser.Password).FirstOrDefault();

            if (userDetails == null)
            {
                ModelState.AddModelError("", "Invalid login attempt.");
                return(View());
            }
            else
            {
                Session["UserId"] = userDetails.UserId;
                Session["Email"]  = userDetails.Email;
                return(RedirectToAction("UserProfile", "A_User"));
            }
        }
예제 #7
0
        /// <summary>
        /// Sprawdza w bazie danych podane poświadczenia.
        /// Jeśli znaleziono w bazie odpowiadającego użytkownika, pobierane są również jego imię, nazwisko oraz nazwa i kod stanowiska.
        /// Informacje te zapisywane są w obiekcie wskazywanym przez argument.
        /// </summary>
        /// <param name="user">Obiekt zawierający podany login i hash hasła. Wartość null powoduje, że ta metoda nie wykonuje żadnej akcji.</param>
        public void LogIn(User user)
        {
            if (user != null)
            {
                // sprawdzenie czy w systemie istnieje użytkownik o podanym loginie i hashu hasła
                A_User usr = userService.SelectUser(x => x.Login == user.Login && x.Password == user.Password);

                // jeśli podane poświadczenia są prawidłowe
                if (usr != null && usr.WorkerId > 0)
                {
                    // jeśli konto jest aktywne
                    if (usr.Expires == null || usr.Expires.Value > DateTime.Today)
                    {
                        // pobranie informacji o pracowniku, do którego przypisany jest sprawdzony użytkownik systemu
                        A_Worker wrk = userService.SelectWorker(x => x.Id == usr.WorkerId);

                        // jeśli rekord użytkownika w bazie zawiera prawidłowe ID pracownika
                        if (wrk.Id > 0)
                        {
                            // zapisanie ID pracownika
                            user.Id = usr.WorkerId;

                            // pobranie informacji o stanowisku służbowym pracownika
                            A_DictionaryJobTitle job = userService.SelectJobTitle(x => x.Id == wrk.JobTitle);

                            // jeśli rekord pracownika w bazie zawiera prawidłowe ID stanowiska
                            if (job.Id > 0)
                            {
                                // zapisanie imienia, nazwiska i nazwy stanowiska
                                user.Title = job.JobTitle + " - " + wrk.LastName + " " + wrk.FirstName;

                                // zapisanie kodu stanowiska
                                user.JobTitleCode = job.Code;
                            }
                        }
                    }
                    // jeśli konto zostało dezaktywowane, ID pracownika zostaje przypisana wartość -1, co jest rozpoznawane w prezenterze formularza logowania
                    else
                    {
                        user.Id = -1;
                    }
                }
            }
        }
예제 #8
0
 public ActionResult Create(A_User tblUser)
 {
     if (ModelState.IsValid)
     {
         UserDao userDao = new UserDao();
         A_User  user    = new A_User();
         user = db.A_User.Where(m => m.Email == tblUser.Email).SingleOrDefault();
         if (user != null)
         {
             ViewBag.NotValidUser = "******";
         }
         else
         {
             userDao.Insert(tblUser);
             user = db.A_User.Where(m => m.Email == tblUser.Email).SingleOrDefault();
             Session["UserId"] = user.UserId;
             Session["Email"]  = user.Email;
             return(RedirectToAction("UserProfile"));
         }
     }
     return(View());
 }