예제 #1
0
        public string Registration(string name, string pass)
        {
            try
            {
                SetSettings();
                userRepository = new SimpleChatRepository <Users>(databaseSettings);
                userRepository.CreatDatabase();
                user = new Users();

                user.Name = name;
                user.Pass = Convert.ToInt32(pass);

                userRepository.Add(user);
                userRepository.Save();

                otvet = "Пользователь зарегистрирован";
                log.Info($"Пользователь {name} зарегистрирован");
            }
            catch (Exception e)
            {
                otvet = "Ошибка регистрации";
                log.Error(otvet, e);
            }
            return(otvet);
        }
예제 #2
0
        public void AddGetUpdateDeleteRole()
        {
            roleRepository = new SimpleChatRepository <Roles>(databaseSettings);

            role = new Roles
            {
                NameRole = "main",
                Id       = 1
            };

            roleRepository.Add(role);
            roleRepository.Save();
            var roleFromDb = roleRepository.GetItem(1);

            Assert.IsNotNull(role);
            Assert.AreEqual(roleFromDb.Id, 1);
            Assert.AreEqual(roleFromDb.NameRole, "main");

            role.NameRole = "admin";
            roleRepository.Update(role);
            roleRepository.Save();
            roleFromDb = roleRepository.GetItem(1);

            Assert.IsNotNull(roleFromDb);
            Assert.AreEqual(roleFromDb.Id, 1);
            Assert.AreEqual(roleFromDb.NameRole, "admin");

            roleRepository.DeleteItem(1);
            roleRepository.Save();
            roleFromDb = roleRepository.GetItem(1);
            Assert.IsNull(roleFromDb);

            roleRepository.ContextDispose();
        }
예제 #3
0
        public void AddGetUpdateDeleteUser()
        {
            userRepository = new SimpleChatRepository <Users>(databaseSettings);
            userRepository.CreatDatabase();
            user = new Users
            {
                //Id = 1,
                Name = "Serge"
            };

            userRepository.Add(user);
            userRepository.Save();
            var userFromDb = userRepository.GetItem(1);

            Assert.IsNotNull(userFromDb);
            Assert.AreEqual(userFromDb.Id, 1);
            Assert.AreEqual(userFromDb.Name, "Serge");

            user.Name = "Andrei";
            userRepository.Update(user);
            userRepository.Save();
            userFromDb = userRepository.GetItem(1);

            Assert.IsNotNull(userFromDb);
            Assert.AreEqual(userFromDb.Id, 1);
            Assert.AreEqual(userFromDb.Name, "Andrei");

            userRepository.DeleteItem(1);
            userRepository.Save();
            userFromDb = userRepository.GetItem(1);;
            Assert.IsNull(userFromDb);

            userRepository.ContextDispose();
        }
예제 #4
0
        public string Authorization(string name, string pass)
        {
            try
            {
                SetSettings();
                userRepository = new SimpleChatRepository <Users>(databaseSettings);
                userRepository.CreatDatabase();
                user = new Users();

                i = 0;
                while (i < userRepository.Count())
                {
                    i++;
                    var userFromDb = userRepository.GetItem(i);
                    if (userFromDb.Name == name)
                    {
                        user = userFromDb; break;
                    }
                }
                if (user == null)
                {
                    otvet = "Пользователь не найден";
                }
                else if (user.Pass == Convert.ToInt32(pass))
                {
                    otvet = "Пользователь авторизован";
                    log.Info($"Пользователь {name} авторизован");
                }
                else
                {
                    otvet = "Пароль неверный";
                    log.Info($"Попытка авторизации {name} не удалась");
                }
            }
            catch (Exception e)
            {
                otvet = "Ошибка авторизации";
                log.Error(otvet, e);
            }
            return(otvet);
        }
예제 #5
0
        public void AddGetUpdateDeleteMessage()
        {
            messageRepository = new SimpleChatRepository <Messages>(databaseSettings);

            message = new Messages
            {
                Id     = 1,
                UserId = 1,
                Text   = "textofmessage"
            };

            messageRepository.Add(message);
            messageRepository.Save();
            var messageFromDb = messageRepository.GetItem(1);

            Assert.IsNotNull(message);
            Assert.AreEqual(messageFromDb.Id, 1);
            Assert.AreEqual(messageFromDb.UserId, 1);
            Assert.AreEqual(messageFromDb.Text, "textofmessage");

            message.Text = "anotherText";
            messageRepository.Update(message);
            messageRepository.Save();
            messageFromDb = messageRepository.GetItem(1);

            Assert.IsNotNull(messageFromDb);
            Assert.AreEqual(messageFromDb.Id, 1);
            Assert.AreEqual(messageFromDb.UserId, 1);
            Assert.AreEqual(messageFromDb.Text, "anotherText");

            messageRepository.DeleteItem(1);
            messageRepository.Save();
            messageFromDb = messageRepository.GetItem(1);
            Assert.IsNull(messageFromDb);

            messageRepository.ContextDispose();
        }
예제 #6
0
        public MessagingController(IHubContext <UpdateChatHub, ITypedHubClient> chatHubContext)
        {
            try
            {
                this.chatHubContext = chatHubContext;

                log = new NLogLogger($"{Path}\\{fileName}");
                databaseSettings = new DatabaseSettings();
                databaseSettings.ConnnectionString = $"{Path}\\{DatabaseName}";
                messageRepository    = new SimpleChatRepository <Messages>(databaseSettings);
                userRepository       = new SimpleChatRepository <Users>(databaseSettings);
                messageTable         = new DataTable("MessageTable");
                column               = new DataColumn();
                column.DataType      = System.Type.GetType("System.String");
                column.ColumnName    = "NameUser";
                column.Caption       = "NameUser";
                column.AutoIncrement = false;
                column.ReadOnly      = false;
                column.Unique        = false;
                messageTable.Columns.Add(column);

                column               = new DataColumn();
                column.DataType      = System.Type.GetType("System.String");
                column.ColumnName    = "Messages";
                column.Caption       = "Messages";
                column.AutoIncrement = false;
                column.ReadOnly      = false;
                column.Unique        = false;
                messageTable.Columns.Add(column);
                ShowMessages();
            }
            catch (Exception e)
            {
                log.Error("Ошибка настройки", e);
            }
        }
예제 #7
0
 public void CtorNulSettingsExceptionThro()
 {
     userRepository = new SimpleChatRepository <Users>(null);
 }