예제 #1
0
        /// <summary>
        /// Checks if user with given password exists in the database
        /// </summary>
        /// <param name="_username">User name</param>
        /// <param name="_password">User password</param>
        /// <returns>True if user exist and password is correct</returns>
        public bool Authenticate(string _username, string _password, string IP)
        {
            bool authenticated = false;

            using (SmartMarketDB db = new SmartMarketDB())
            {
                try
                {
                    string encodedPassword          = TextEncoding.EncodeString(_password);
                    BusinessEntities.User loginUser = db.Users
                                                      .FirstOrDefault(u => u.UserName == _username && u.Password == encodedPassword && u.Active);

                    if (loginUser == null)
                    {
                        authenticated = false;
                    }
                    else
                    {
                        authenticated = true;
                    }
                }
                catch
                {
                    authenticated = false;
                }
            }
            return(authenticated);
        }
예제 #2
0
        public ActionResult Create([Bind(Include = "ID,UserName,Password,Active")] User user)
        {
            if (ModelState.IsValid)
            {
                using (var dbContextTransaction = _db.Database.BeginTransaction())
                {
                    try
                    {
                        string encodedPassword = TextEncoding.EncodeString(user.Password);
                        user.Password = encodedPassword;
                        user          = _db.Users.Add(user);
                        _db.SaveChanges();

                        dbContextTransaction.Commit();


                        return(RedirectToAction("Index"));
                    }
                    catch (Exception ex)
                    {
                        dbContextTransaction.Rollback();
                    }
                }
            }

            return(View(user));
        }
예제 #3
0
        /// <summary>
        /// Checks if user with given password exists in the database
        /// </summary>
        /// <param name="_username">User name</param>
        /// <param name="_password">User password</param>
        /// <returns>True if user exist and password is correct</returns>
        public bool Authenticate(string _username, string _password, string IP)
        {
            bool authenticated = false;

            using (EfQualityMeterBaseDb db = new EfQualityMeterBaseDb())
            {
                try
                {
                    string encodedPassword = TextEncoding.EncodeString(_password);
                    QualityMeter.Core.Models.User loginUser = db.Users
                                                              .FirstOrDefault(u => u.UserName == _username && u.Password == encodedPassword && u.Active);

                    if (loginUser == null)
                    {
                        authenticated = false;
                    }
                    else
                    {
                        authenticated = true;
                    }
                }
                catch (Exception ex)
                {
                    authenticated = false;
                }
            }
            return(authenticated);
        }
예제 #4
0
        protected bool _CreateUser(User user)
        {
            using (var dbContextTransaction = _db.Database.BeginTransaction())
            {
                try
                {
                    string encodedPassword = TextEncoding.EncodeString(user.Password);
                    user.Password = encodedPassword;
                    user          = _db.Users.Add(user);
                    _db.SaveChanges();
                    string roleName = "";
                    switch (user.UserType)
                    {
                    case UserType.Company:
                        roleName = "Company";
                        break;

                    case UserType.Customer:
                        roleName = "Customer";
                        break;

                    case UserType.EStore:
                        roleName = "Admin";
                        break;
                    }
                    if (!string.IsNullOrEmpty(roleName))
                    {
                        var role     = _db.Roles.SingleOrDefault(r => r.Roles == roleName);
                        var userRole = new UserRole
                        {
                            Role = role,
                            User = user
                        };
                        _db.UserRoles.Add(userRole);
                    }
                    _db.SaveChanges();
                    if (user.UserType == UserType.Customer)
                    {
                        var customer = new Customer
                        {
                            User     = user,
                            Gender   = Gender.Male,
                            Nikename = user.UserName
                        };
                        _db.Customers.Add(customer);
                        _db.SaveChanges();
                    }
                    dbContextTransaction.Commit();


                    return(true);
                }
                catch
                {
                    dbContextTransaction.Rollback();
                }
            }
            return(false);
        }
예제 #5
0
        public ActionResult Edit([Bind(Include = "ID,UserName,Password,Active,Email,Address,Phone,UserType")] User user)
        {
            if (ModelState.IsValid && user.UserName.ToLower() != "admin")
            {
                using (var dbContextTransaction = _db.Database.BeginTransaction())
                {
                    try
                    {
                        string encodedPassword = TextEncoding.EncodeString(user.Password);
                        user.Password         = encodedPassword;
                        _db.Entry(user).State = EntityState.Modified;
                        _db.SaveChanges();
                        foreach (var ur in _db.UserRoles.Where(u => u.UserId == user.Id).ToList())
                        {
                            _db.UserRoles.Remove(ur);
                        }
                        _db.SaveChanges();
                        string roleName = "";
                        switch (user.UserType)
                        {
                        case UserType.Company:
                            roleName = "Company";
                            break;

                        case UserType.Customer:
                            roleName = "Customer";
                            break;

                        case UserType.EStore:
                            roleName = "Admin";
                            break;
                        }
                        if (!string.IsNullOrEmpty(roleName))
                        {
                            var role     = _db.Roles.SingleOrDefault(r => r.Roles == roleName);
                            var userRole = new UserRole
                            {
                                Role = role,
                                User = user
                            };
                            _db.UserRoles.Add(userRole);
                        }
                        _db.SaveChanges();
                        dbContextTransaction.Commit();
                        return(RedirectToAction("Index"));
                    }
                    catch
                    {
                        dbContextTransaction.Rollback();
                    }
                }
            }
            return(View(user));
        }
예제 #6
0
 public ActionResult Edit([Bind(Include = "ID,UserName,Password,Active")] User user)
 {
     if (ModelState.IsValid && user.UserName.ToLower() != "admin")
     {
         string encodedPassword = TextEncoding.EncodeString(user.Password);
         user.Password         = encodedPassword;
         _db.Entry(user).State = EntityState.Modified;
         _db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(user));
 }
예제 #7
0
        //[System.Web.Http.HttpPost]
        public IHttpActionResult Signup([FromBody] BusinessEntities.User user)
        {
            using (SmartMarketDB _db = new SmartMarketDB())
            {
                using (var dbContextTransaction = _db.Database.BeginTransaction())
                {
                    try
                    {
                        string encodedPassword = TextEncoding.EncodeString(user.Password);
                        user.Password = encodedPassword;
                        user          = _db.Users.Add(user);
                        _db.SaveChanges();
                        string roleName = "";
                        switch (user.UserType)
                        {
                        case UserType.Company:
                            roleName = "Company";
                            break;

                        case UserType.Customer:
                            roleName = "Customer";
                            break;

                        case UserType.EStore:
                            roleName = "Admin";
                            break;
                        }
                        if (!string.IsNullOrEmpty(roleName))
                        {
                            var role     = _db.Roles.SingleOrDefault(r => r.Roles == roleName);
                            var userRole = new UserRole
                            {
                                Role = role,
                                User = user
                            };
                            _db.UserRoles.Add(userRole);
                        }
                        _db.SaveChanges();
                        if (user.UserType == UserType.Customer)
                        {
                            var customer = new Customer
                            {
                                User     = user,
                                Gender   = Gender.Male,
                                Nikename = user.UserName
                            };
                            _db.Customers.Add(customer);
                            _db.SaveChanges();
                        }
                        dbContextTransaction.Commit();

                        Business.User _user = new Business.User();
                        return(Json(new { success = true, Message = "", UserId = _user.GetUserId(user.UserName) }));
                    }
                    catch (Exception ex)
                    {
                        dbContextTransaction.Rollback();
                        return(Json(new { success = false, Message = ex.Message + ex.StackTrace, UserId = -1 }));
                    }
                }
            }
        }