public ActionResult Register(khachhang user)
        {
            string password2 = PasswordCrypt.CreateMD5(user.matkhau);

            //xét email ko trùng
            if (ModelState.IsValid && db.khachhang.Where(m => m.sdtkh.Equals(user.sdtkh)).Count() == 0)

            {
                khachhang objKH = new khachhang();
                objKH.hovaten = user.hovaten;
                objKH.email   = user.email;
                objKH.matkhau = password2;
                objKH.sdtkh   = user.sdtkh;
                objKH.diachi  = user.diachi;



                //chèn dữ liệu vào bảng khách hàng
                db.khachhang.Add(objKH);
                //lưu vào csdl

                db.SaveChanges();

                return(RedirectToAction("Login", "user", HomeController.GetChinhanhs(db)));
            }
            else if (ModelState.IsValid && db.khachhang.Where(m => m.sdtkh.Equals(user.sdtkh)).Count() > 0)
            // trùng email
            {
                ModelState.AddModelError("Email", "Email đã tồn tại !");
            }
            return(View("Register"));
        }
        public ActionResult LogIn(khachhang user1)
        {
            //dùng để clear lỗi của ràng buộc nhập tên kh.
            //ModelState.Where(m => m.Key == "tenkh").FirstOrDefault().Value.Errors.Clear();
            //ModelState.Where(m => m.Key == "sdt").FirstOrDefault().Value.Errors.Clear();
            if (ModelState.IsValid)
            {
                string pass = PasswordCrypt.CreateMD5(user1.matkhau);
                //ModelState.Where(m => m.Key == "tenkh").FirstOrDefault().Value.Errors.Clear();
                if (db.khachhang.Where(m => m.sdtkh == user1.sdtkh && m.matkhau == pass).Count() == 1)

                {
                    khachhang kh = db.khachhang.Where(m => m.sdtkh == user1.sdtkh && m.matkhau == pass).FirstOrDefault();
                    //gọi hàm GetRolesForUser(string username)
                    //trong fie CustomRoleProvider.cs)
                    //nó sẽ chuyền giá trị username để lấy quyền.
                    FormsAuthentication.SetAuthCookie(user1.email, true);

                    Session["Name"] = user1.sdtkh;
                    return(RedirectToAction("Index", "Home", HomeController.GetChinhanhs(db)));
                }
                else if (db.khachhang.Where(m => m.sdtkh == user1.sdtkh && m.matkhau == pass).Count() == 0)
                {
                    ViewBag.ErrorMessage = "SAI TÊN ĐĂNG NHẬP HOẶC MẬT KHẨU\n Chưa có tài khoản? Bấm Đăng ký";
                }
            }
            return(View(user1));
        }
Beispiel #3
0
 public void checkOldPassword(User user, string oldPassword)
 {
     if (!PasswordCrypt.ComparePasswords(user.Password, oldPassword))
     {
         throw new ArgumentException(ErrorMessages.BadOldPassword, "OldPassword");
     }
 }
        public async Task <FEUser> Create(FEUser newUser)
        {
            if (appDbContext.Users.FirstOrDefault(user => user.Email.ToLowerInvariant() == newUser.Email.ToLowerInvariant()) != null)
            {
                throw new InvalidOperationException(ErrorMessages.EmailTaken);
            }

            User userToAdd = new User {
                FullName    = newUser.FullName,
                PhoneNumber = newUser.PhoneNumber,
                Email       = newUser.Email,
                Password    = newUser.Password != null?PasswordCrypt.EncryptPassword(newUser.Password) : throw new InvalidOperationException(ErrorMessages.PasswordMissing),
                                        SlackId    = newUser.SlackId,
                                        MainOffice = newUser.MainOffice,
                                        IsDriver   = false,
                                        RoleId     = newUser.RoleId,
                                        Cars       = new List <Car>()
            };

            if (newUser.CarPlates != null && newUser.CarPlates.Length != 0)
            {
                UpdateCarPlates(ref userToAdd, newUser.CarPlates);
            }

            appDbContext.Users.Add(userToAdd);
            await appDbContext.SaveChangesAsync();

            newUser.Id = userToAdd.UserId;

            return(newUser);
        }
Beispiel #5
0
        public static void Initialize(Context context)
        {
            context.Database.EnsureCreated();
            //if (context.DayEvents.Any())
            //{
            //    return;
            //}

            var roles = new Role[]
            {
                new Role()
                {
                    Name = "Employee"
                },
                new Role()
                {
                    Name = "Manager"
                }
            };

            foreach (var role in roles)
            {
                context.Roles.Add(role);
            }
            context.SaveChanges();

            var users = new UserOfService[]
            {
                new UserOfService()
                {
                    CryptedPassword = PasswordCrypt.CreateDbPassword("qwerty123"), Email = "*****@*****.**", Username = "******", Role = roles[0]
                },
                new UserOfService()
                {
                    CryptedPassword = PasswordCrypt.CreateDbPassword("qwerty123"), Email = "*****@*****.**", Username = "******", Role = roles[0]
                },
                new UserOfService()
                {
                    CryptedPassword = PasswordCrypt.CreateDbPassword("qwerty123"), Email = "*****@*****.**", Username = "******", Role = roles[0]
                },
                new UserOfService()
                {
                    CryptedPassword = PasswordCrypt.CreateDbPassword("manager"), Email = "*****@*****.**", Username = "******", Role = roles[1]
                }
            };

            foreach (var user in users)
            {
                context.UsersOfService.Add(user);
            }
            context.SaveChanges();
        }
        private User AuthenticateUser(UserLogin login)
        {
            var query = appDbContext.Users.AsQueryable();

            User DBUser = query.Where(x => x.Email == login.Email).SingleOrDefault();

            // Validate user credentials
            if (DBUser != null && PasswordCrypt.ComparePasswords(DBUser.Password, login.Password))
            {
                return(DBUser);
            }
            return(null);
        }
 private User CreateUser(UserRegisterRequest userRegisterRequest)
 {
     return(new User
     {
         Email = userRegisterRequest.Email,
         Password = PasswordCrypt.EncryptPassword(userRegisterRequest.Password),
         FullName = userRegisterRequest.FullName,
         SlackId = userRegisterRequest.SlackId,
         MainOffice = userRegisterRequest.MainOffice,
         IsDriver = true,
         RoleId = 1,
         PhoneNumber = userRegisterRequest.Phone,
         Cars = new List <Car>()
     });
 }
Beispiel #8
0
        private Khachhang checkUserinfo(LoginRegisterModel model)
        {
            var kh = _context.Khachhang.FirstOrDefault(n => n.Email.Equals(model.userName) || n.NameKh.Equals(model.userName));

            if (kh != null)
            {
                var pass = PasswordCrypt.CreateMD5(model.passWord);
                if (kh.Password.Equals(pass))
                {
                    return(kh);
                }
                else
                {
                    return(null);
                }
            }
            return(null);
        }
Beispiel #9
0
 public IActionResult Register(LoginRegisterModel registerModel)
 {
     if (ModelState.IsValid)
     {
         string password2 = PasswordCrypt.CreateMD5(registerModel.passWord);
         if (checkUserinfosignup(registerModel))
         {
             Khachhang obj = new Khachhang();
             obj.Email  = registerModel.userName;
             obj.NameKh = registerModel.NameKh;
             //obj.SoDiethoai = registerModel.userName;
             obj.Password = password2;
             _context.Khachhang.Add(obj);
             _context.SaveChanges();
             return(Redirect("/login"));
         }
         else
         {
             ViewData["UserLoginFailed"] = "Trùng tên đăng nhập rồi nha khứa ";
         }
     }
     return(View());
 }
Beispiel #10
0
        public static string Decrypt(this string cipherText)
        {
            var crypt = new PasswordCrypt();

            return(crypt.Decrypt(cipherText));
        }
Beispiel #11
0
        public async Task <IActionResult> Update(UserUpdateRequest userUpdateRequest)
        {
            User user = appDbContext.Users.Include(x => x.Cars).FirstOrDefault(x => x.UserId == currentUserId);

            if (userUpdateRequest.OldPassword != null && userUpdateRequest.NewPassword != null)
            {
                try
                {
                    checkOldPassword(user, userUpdateRequest.OldPassword);
                    user.Password = PasswordCrypt.EncryptPassword(userUpdateRequest.NewPassword);
                }
                catch (ArgumentException exception)
                {
                    return(BadRequest(new Dictionary <string, string[]>
                    {
                        { exception.ParamName, new [] { exception.Message.Split(Environment.NewLine)[0] } }
                    }));
                }
            }

            user.FullName    = userUpdateRequest.FullName;
            user.PhoneNumber = userUpdateRequest.PhoneNumber;
            user.SlackId     = userUpdateRequest.SlackId;
            user.MainOffice  = userUpdateRequest.MainOffice;
            user.IsDriver    = userUpdateRequest.IsDriver;

            foreach (Car car in user.Cars.ToList())
            {
                if (userUpdateRequest.CarPlates.FirstOrDefault(plate => plate == car.CarPlate) == null)
                {
                    if (appDbContext.Trips.FirstOrDefault(trip => trip.CarPlate == car.CarPlate) != null)
                    {
                        throw new ArgumentException(ErrorMessages.CarPlateHasTrips + car.CarPlate + "!", "carPlates");
                    }
                    user.Cars.Remove(car);
                    appDbContext.Entry(car).State = EntityState.Deleted;
                    appDbContext.Cars.Remove(car);
                }
            }

            foreach (string carPlate in userUpdateRequest.CarPlates)
            {
                Car existingCar = appDbContext.Cars.FirstOrDefault(car => car.CarPlate == carPlate);
                if (existingCar == null)
                {
                    Car carToAdd = new Car()
                    {
                        CarPlate = carPlate, UserId = user.UserId
                    };
                    appDbContext.Cars.Add(carToAdd);
                    user.Cars.Add(carToAdd);
                }
                else if (existingCar.UserId != currentUserId)
                {
                    throw new ArgumentException(ErrorMessages.CarPlateExists + carPlate + "!", "carPlates");
                }
            }

            appDbContext.Entry(user).State = EntityState.Modified;
            appDbContext.Update(user);
            await appDbContext.SaveChangesAsync();

            return(Ok());
        }