コード例 #1
0
        public HttpResponseMessage Login(JObject jsonJObject)
        {
            try
            {
                using (var context = new UserDbDataContext())
                {
                    var     entity      = JsonConvert.DeserializeObject <dynamic>(jsonJObject.ToString());
                    dynamic device      = entity.Device;
                    String  email       = DataAccess.UtilFolder.Converts.ToStringFromDynamic(entity, "Email");
                    String  username    = DataAccess.UtilFolder.Converts.ToStringFromDynamic(entity, "UserName");
                    String  password    = DataAccess.UtilFolder.Converts.ToStringFromDynamic(entity, "Password");
                    String  deviceId    = DataAccess.UtilFolder.Converts.ToStringFromDynamic(device, "DeviceId");
                    String  devicetoken = DataAccess.UtilFolder.Converts.ToStringFromDynamic(device, "Token");


                    tbUser user = UserInfo.Login(context, username, email, password, deviceId, devicetoken);

                    return(HTTPResponseHelper.CreateResponse(Request, HttpStatusCode.OK, new { user.FullName, user.Email, user.ImageUrl, user.LastLogin, user.UserName, user.Token }));
                }
            }
            catch (Exception e)
            {
                return(HTTPResponseHelper.CreateResponse(Request, HttpStatusCode.NotFound, new ErrorCls(e.Message)));
            }
        }
コード例 #2
0
ファイル: Login.aspx.cs プロジェクト: mainam/SoftwareSoft
        protected void Page_Load(object sender, EventArgs e)
        {
            using (var context = new UserDbDataContext())
            {
                if (Utils.LocalHost == null)
                {
                    Utils.LocalHost = "http://" + Request.Url.Host + ":" + Request.Url.Port;
                }

                //divMessageError.Visible = false;
                string text = Request.QueryString["Action"];
                if (text != null)
                {
                    switch (text.ToLower())
                    {
                    case "logout":
                        FormsAuthentication.SignOut();
                        return;

                    default:
                        break;
                    }
                }

                var username = HttpContext.Current.User.Identity.Name;
                DataAccess.Db.User.UserDb.tbUser user = UserInfo._GetByID(context, username);
                if (user != null)
                {
                    Response.Redirect("~/Default.aspx");
                }
            }
        }
コード例 #3
0
ファイル: UserInfo.cs プロジェクト: mainam/SoftwareSoft
 public static tbUser GetById(string id)
 {
     using (var context = new UserDbDataContext())
     {
         return(context.tbUsers.SingleOrDefault(x => x.UserName.Equals(id)));
     }
 }
コード例 #4
0
ファイル: UserInfo.cs プロジェクト: mainam/SoftwareSoft
 public static Db.User.UserDb.tbUser _GetByID(UserDbDataContext context, object id)
 {
     try
     {
         return(context.tbUsers.Single(x => x.UserName.Equals(id.ToString())));
     }
     catch (Exception)
     {
         return(null);
     }
 }
コード例 #5
0
        public static tbUser ChangeAvatar(UserDbDataContext context, string userName, string token, string imageUrl)
        {
            var user = context.tbUsers.SingleOrDefault(x => x.UserName == userName && x.Token == token);

            if (user == null)
            {
                throw new Exception("User không tồn tại hoặc token sai");
            }
            user.ImageUrl = imageUrl;
            context.SubmitChanges();
            return(user);
        }
コード例 #6
0
        public static bool Logout(UserDbDataContext context, String username, String token)
        {
            var user = context.tbUsers.SingleOrDefault(x => x.UserName == username && x.Token == token);

            if (user == null)
            {
                throw new Exception("User không tồn tại hoặc token sai");
            }

            user.Token = null;
            context.tbDevices.DeleteAllOnSubmit(user.tbDevices);
            context.SubmitChanges();
            return(true);
        }
コード例 #7
0
ファイル: UserInfo.cs プロジェクト: mainam/SoftwareSoft
 /// <summary>
 /// ngoc.nam 04.04.2015
 /// Kiểm tra 1 user có phải là admin không
 /// </summary>
 /// <param name="usename"></param>
 /// <returns></returns>
 public static bool IsAdmin(string usename)
 {
     try
     {
         using (var context = new UserDbDataContext())
         {
             var user = context.tbUsers.Single(x => x.UserName == usename);
             return(user.TypeUser == 1 || user.TypeUser == 2);
         }
     }
     catch (Exception)
     {
         return(false);
     }
 }
コード例 #8
0
ファイル: Login.aspx.cs プロジェクト: mainam/SoftwareSoft
 public static string LoginAccount(string username, string pass)
 {
     using (var context = new UserDbDataContext())
     {
         DataAccess.Db.User.UserDb.tbUser user;
         if ((user = UserInfo._GetByIDPW(context, username, pass)) != null)
         {
             UserInfo.SetCookies(username, HttpContext.Current.Response);
             return(new JavaScriptSerializer().Serialize(new { Status = true }));
         }
         else
         {
             return(new JavaScriptSerializer().Serialize(new { Status = false, Message = "User name or password is not correct!" }));
         }
     }
 }
コード例 #9
0
        public static tbUser ChangePassword(UserDbDataContext context, string userName, string token, string currentPassword, string newPassword)
        {
            var user = context.tbUsers.SingleOrDefault(x => x.UserName == userName && x.Token == token);

            if (user == null)
            {
                throw new Exception("User không tồn tại hoặc token sai");
            }

            if (user.Password == currentPassword)
            {
                user.Password = newPassword;
            }
            context.SubmitChanges();
            return(user);
        }
コード例 #10
0
ファイル: UserInfo.cs プロジェクト: mainam/SoftwareSoft
 public static Db.User.UserDb.tbUser _GetByIDPW(UserDbDataContext context, object id, string password)
 {
     try
     {
         var pasmd5 = Utils.Encryption(password);
         var user   = _GetByID(context, id);
         if (!user.Active)
         {
             return(null);
         }
         return(user.Password.Equals(pasmd5) ? user : null);
     }
     catch (Exception)
     {
         return(null);
     }
 }
コード例 #11
0
        public static tbUser UpdateProfile(UserDbDataContext context, string userName, string token, String email, String fullName)
        {
            var users = context.tbUsers.Where(x => x.UserName == userName && x.Token == token || x.Email == email);

            if (users.Count() == 0 || (users.Count() == 1 && users.First().UserName != userName))
            {
                throw new Exception("User không tồn tại hoặc token sai");
            }
            if (users.Count() > 1)
            {
                throw new Exception("Đã tồn tại tài khoản với email bạn đã nhập");
            }
            users.First().Email    = email;
            users.First().FullName = fullName;
            context.SubmitChanges();
            return(users.First());
        }
コード例 #12
0
ファイル: UserInfo.cs プロジェクト: mainam/SoftwareSoft
 public static void CreateNew(String name, bool isedit, int type, string username, string fullname, string password, string email, string phonenumber, bool active)
 {
     using (var context = new UserDbDataContext())
     {
         var user = context.tbUsers.FirstOrDefault(x => x.UserName.Equals(name));
         if (user == null || user.TypeUser != 1 || !user.Active)
         {
             throw new Exception("Bạn không có quyền thực hiện chức năng này");
         }
         if (!isedit)
         {
             context.tbUsers.InsertOnSubmit(new tbUser()
             {
                 Active    = active,
                 Email     = email,
                 FullName  = fullname,
                 LastLogin = DateTime.Now,
                 Money     = 0,
                 Password  = Utils.Encryption(password),
                 Phone     = phonenumber,
                 TypeUser  = type,
                 UserName  = username
             });
             context.SubmitChanges();
         }
         else
         {
             user = context.tbUsers.SingleOrDefault(x => x.UserName.Equals(username));
             if (user == null)
             {
                 throw new Exception("Tài khoản chỉnh sửa không tồn tại");
             }
             user.Email  = email;
             user.Active = active;
             if (password != "")
             {
                 user.Password = Utils.Encryption(password);
             }
             user.Phone    = phonenumber;
             user.TypeUser = type;
             user.FullName = fullname;
             context.SubmitChanges();
         }
     }
 }
コード例 #13
0
        public static tbUser Register(UserDbDataContext context, String username, String fullname, String password, String email, String imageUrl, String deviceId, String deviceToken)
        {
            var user = context.tbUsers.SingleOrDefault(x => x.UserName == username || x.Email == email);

            if (user != null)
            {
                throw new Exception("Email hoặc UserName đã tồn tại");
            }

            user = new tbUser()
            {
                UserName  = username,
                FullName  = fullname,
                Email     = email,
                ImageUrl  = imageUrl,
                Password  = password,
                LastLogin = new DateTime().ToUniversalTime().Subtract(
                    new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)
                    ).TotalMilliseconds,
                Token = StringUtils.encryptPassword(username + new DateTime().ToString())
            };

            context.tbUsers.InsertOnSubmit(user);

            tbDevice device = context.tbDevices.SingleOrDefault(x => x.DeviceId.Equals(deviceId));

            if (device == null)
            {
                context.tbDevices.InsertOnSubmit(new tbDevice()
                {
                    DeviceId = deviceId,
                    Token    = deviceToken,
                    UserName = username
                });
            }
            else
            {
                device.UserName = username;
                device.Token    = deviceToken;
            }

            context.SubmitChanges();
            return(user);
        }
コード例 #14
0
ファイル: UserInfo.cs プロジェクト: mainam/SoftwareSoft
 public static tbUser ActiveMember(string userName, string id)
 {
     using (var context = new UserDbDataContext())
     {
         var currentUser = context.tbUsers.SingleOrDefault(x => x.UserName.Equals(userName));
         if (currentUser == null || currentUser.TypeUser != 1 || !currentUser.Active)
         {
             throw new Exception("Bạn không có quyền thực hiện tao tác này");
         }
         var user = context.tbUsers.SingleOrDefault(x => x.UserName.Equals(id));
         if (user == null)
         {
             throw new Exception("Tài khoản này không tồn tại");
         }
         user.Active = !user.Active;
         context.SubmitChanges();
         return(user);
     }
 }
コード例 #15
0
ファイル: UserInfo.cs プロジェクト: mainam/SoftwareSoft
 public static object getAll(String userName, int type, int currentpage, int numberinpage, string keyword, ref int totalItem)
 {
     using (var context = new UserDbDataContext())
     {
         var currentUser = context.tbUsers.SingleOrDefault(x => x.UserName.Equals(userName));
         if (currentUser == null || currentUser.TypeUser != 1)
         {
             throw new Exception("Bạn không có quyền thực hiện tao tác này");
         }
         var list = context.tbUsers.Where(x => type == 0 || x.TypeUser == type).ToList();
         if (!String.IsNullOrWhiteSpace(keyword))
         {
             keyword = keyword.ToLower().Trim();
             list    = list.Where(x => x.FullName.ToLower().Contains(keyword)).ToList();
         }
         totalItem = list.Count();
         return(list.Skip((currentpage - 1) * numberinpage).Take(numberinpage).Select(x => new { x.UserName, x.FullName, x.Email, x.Active, x.Money, x.TypeUser, x.Phone }));
     }
 }
コード例 #16
0
 public HttpResponseMessage Logout(JObject jsonJObject)
 {
     try
     {
         using (var context = new UserDbDataContext())
         {
             var    entity   = JsonConvert.DeserializeObject <dynamic>(jsonJObject.ToString());
             String username = DataAccess.UtilFolder.Converts.ToStringFromDynamic(entity, "UserName");
             String token    = DataAccess.UtilFolder.Converts.ToStringFromDynamic(entity, "Token");
             if (UserInfo.Logout(context, username, token))
             {
                 return(HTTPResponseHelper.CreateResponse(Request, HttpStatusCode.OK, new { Message = "Logout thành công" }));
             }
             return(HTTPResponseHelper.CreateResponse(Request, HttpStatusCode.OK, new { Message = "Logout không thành công" }));
         }
     }
     catch (Exception e)
     {
         return(HTTPResponseHelper.CreateResponse(Request, HttpStatusCode.NotFound, new ErrorCls(e.Message)));
     }
 }
コード例 #17
0
        public static tbUser Login(UserDbDataContext context, String username, String email, String password, String deviceId, String deviceToken)
        {
            var user = context.tbUsers.SingleOrDefault(x => x.UserName == username || x.Email == email);

            if (user == null)
            {
                throw new Exception("Tài khoản không tồn tại");
            }
            if (user.Password == password)
            {
                user.LastLogin = DateTime.Now.ToUniversalTime().Subtract(
                    new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)
                    ).TotalMilliseconds;
                user.Token = StringUtils.encryptPassword(user.UserName + new DateTime().ToString());

                tbDevice device = context.tbDevices.SingleOrDefault(x => x.DeviceId.Equals(deviceId));
                if (device == null)
                {
                    context.tbDevices.InsertOnSubmit(new tbDevice()
                    {
                        DeviceId = deviceId,
                        Token    = deviceToken,
                        UserName = user.UserName
                    });
                }
                else
                {
                    device.UserName = username;
                    device.Token    = deviceToken;
                }
                context.SubmitChanges();
                return(user);
            }
            else
            {
                throw new Exception("Sai mật khẩu");
            }
        }
コード例 #18
0
ファイル: UserInfo.cs プロジェクト: mainam/SoftwareSoft
        public static object DeteteUser(string name, List <String> arrid)
        {
            using (var context = new UserDbDataContext())
            {
                var user = context.tbUsers.FirstOrDefault(x => x.UserName.Equals(name));
                if (user == null || user.TypeUser != 1 || !user.Active)
                {
                    throw new Exception("Bạn không có quyền thực hiện chức năng này");
                }


                foreach (String id in arrid)
                {
                    if (id.Equals(name))
                    {
                        throw new Exception("Bạn không thể tự xóa chính tài khoản của bạn");
                    }

                    var _user = context.tbUsers.SingleOrDefault(x => x.UserName == id);
                    if (_user != null)
                    {
                        if (_user.UserName == "admin")
                        {
                            throw new Exception("Không thể xóa tài khoản này");
                        }
                        context.tbUsers.DeleteOnSubmit(_user);
                    }
                    else
                    {
                        throw new Exception("Tài khoản không tồn tại. Vui lòng refresh lại trang");
                    }
                }
                context.SubmitChanges();
                return(true);
            }
        }