Пример #1
0
        private void SaveSerializableUser()
        {
            SaveFileDialog saveDialog = new SaveFileDialog();

            saveDialog.Filter = _serializableBinFilter;

            if (saveDialog.ShowDialog() == true)
            {
                SerializableUser serializableUser = new SerializableUser()
                {
                    UserName  = _userFromSerializable.UserName,
                    Email     = _userFromSerializable.Email,
                    LastLogin = _userFromSerializable.LastLogin,
                };

                using (FileStream fileStream = new FileStream(saveDialog.FileName, FileMode.OpenOrCreate))
                {
                    BinaryFormatter binaryFormatter = new BinaryFormatter();
                    binaryFormatter.Serialize(fileStream, serializableUser);

                    _serializableUserSaveSize = fileStream.Length;
                    OnPropertyChanged(nameof(SerializableUserSaveSize));
                }
            }
        }
Пример #2
0
        public static User LoadUser(string userToLoad)
        {
            var userJson = DataReader.Read(userToLoad, DataTypes.Users);

            CurrentUser = SerializableUser.Deserialize(userJson).ToObject();

            return(CurrentUser);
        }
Пример #3
0
        /// <summary>
        /// Creates a new instance of the <see cref="User"/> class based on the <paramref name="serializableUser"/>.
        /// </summary>
        public User(SerializableUser serializableUser)
        {
            if (serializableUser == null)
            {
                throw new ArgumentNullException(nameof(serializableUser));
            }

            _userName  = serializableUser.UserName;
            _email     = serializableUser.Email;
            _lastLogin = serializableUser.LastLogin;
        }
Пример #4
0
        public static void SaveUser()
        {
            if (!DataReader.Exists(DataTypes.Users))
            {
                Directory.CreateDirectory(Paths.ToPath(DataTypes.Users));
            }

            var writeLocation = Paths.ToPath(DataTypes.Users, CurrentUser.UserName);
            var data          = new SerializableUser(CurrentUser);

            DataWriter.Write(writeLocation, data.Serialize());
        }
Пример #5
0
        public OperationStatus Login(string username, string password, bool remember)
        {
            var operationStatus = new OperationStatus();

            try
            {
                var user = _userRepository.Single(u => u.UserName == username && u.Password == password);

                if (user != null)
                {
                    var roles = user.Roles.Any() ? user.Roles.Select(r => r.Name).ToArray() : null;

                    var serializableModel = new SerializableUser
                    {
                        UserName  = user.UserName,
                        FirstName = user.FirstName,
                        LastName  = user.LastName,
                        Roles     = roles
                    };

                    var userData = JsonConvert.SerializeObject(serializableModel);

                    var authTicket = new FormsAuthenticationTicket(1, user.UserName, DateTime.Now, DateTime.Now.AddDays(1), remember,
                                                                   userData);

                    string encTicket = FormsAuthentication.Encrypt(authTicket);

                    var faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);

                    //TODO: Remove this depedency
                    HttpContext.Current.Response.Cookies.Add(faCookie);

                    operationStatus.Status = true;
                }

                operationStatus.Status  = false;
                operationStatus.Message = "Sorry incorrect username or password!";
            }
            catch (Exception ex)
            {
                //TODO: Log exception using elmah

                operationStatus.Status  = false;
                operationStatus.Message = "Sorry wrong happen we can not log you in at this moment";
                throw;
            }
            return(operationStatus);
        }
Пример #6
0
        private void LoadSerializableUser()
        {
            OpenFileDialog openDialog = new OpenFileDialog();

            openDialog.Filter = _serializableBinFilter;

            if (openDialog.ShowDialog() == true)
            {
                using (FileStream fileStream = new FileStream(openDialog.FileName, FileMode.Open))
                {
                    BinaryFormatter  binaryFormatter  = new BinaryFormatter();
                    SerializableUser serializableUser = binaryFormatter.Deserialize(fileStream) as SerializableUser;

                    _userFromSerializable = new User(serializableUser);

                    OnPropertyChanged(nameof(SerializableUserName));
                    OnPropertyChanged(nameof(SerializableUserEmail));
                    OnPropertyChanged(nameof(SerializableUserLastLogin));

                    _serializableUserSaveSize = fileStream.Length;
                    OnPropertyChanged(nameof(SerializableUserSaveSize));
                }
            }
        }