Пример #1
0
        public async Task SendFriendRequest(string?idFriend)
        {
            var    UserName = Context.User.Identity.Name;
            Дружба дружба   = new Дружба
            {
                ID_Друга               = Guid.Parse(idFriend),
                ID_Пользователя        = Guid.Parse(UserName),
                Дата_изиенения_статуса = DateTime.Now,
                Код_статуса            = 1
            };
            Дружба дружба1 = new Дружба
            {
                ID_Друга               = Guid.Parse(UserName),
                ID_Пользователя        = Guid.Parse(idFriend),
                Дата_изиенения_статуса = DateTime.Now,
                Код_статуса            = 5
            };
            Пользователь пользователь = _context.Пользователь.Find(Guid.Parse(UserName));

            _context.Add(дружба);
            _context.Add(дружба1);
            _context.SaveChanges();
            await Clients.User(UserName.ToLower()).SendAsync("FriendRequest", "Sended");

            await Clients.User(idFriend.ToLower()).SendAsync("FriendRequest", new
            {
                id         = UserName.ToLower(),
                firstname  = пользователь.Имя,
                secondname = пользователь.Фамилия,
                city       = пользователь.Город,
                type       = "Recived",
            });
        }
Пример #2
0
        public async Task AddComment(string?id, string?text = "")
        {
            var        UserName   = Context.User.Identity.Name;
            Коментарий коментарий = new Коментарий()
            {
                ID_коментария    = Guid.NewGuid(),
                ID_Записи        = Guid.Parse(id),
                ID_Пользователя  = Guid.Parse(UserName),
                Текст_коментария = text,
                Дата_коментария  = DateTime.Now
            };

            _context.Add(коментарий);
            Блог блог = (from запись in _context.Запись
                         join блог_таблица in _context.Блог
                         on запись.ID_Блога equals блог_таблица.ID_Блога
                         where запись.ID_Записи == Guid.Parse(id)
                         select блог_таблица).ToList().First();
            Пользователь  пользователь = _context.Пользователь.Find(Guid.Parse(UserName));
            List <string> подписчики   = _context.Подписчик.Where(t => t.ID_Блога == блог.ID_Блога)
                                         .Select(t => t.ID_Пользователя.ToString().ToLower())
                                         .ToList();

            _context.SaveChanges();
            await Clients.All.SendAsync("CommentAdded", new
            {
                id               = коментарий.ID_коментария,
                id_post          = коментарий.ID_Записи,
                text             = коментарий.Текст_коментария,
                user_name        = пользователь.Имя,
                user_second_name = пользователь.Фамилия
            });
        }
Пример #3
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            TreeNode node = tvList.SelectedNode;

            if (node != null)
            {
                IUserInfo    ui   = (IUserInfo)DataHost;
                Пользователь user = ui.FindByFullName(node.Text);
                if (user != null)
                {
                    if (MessageBox.Show(this, "Удалить пользователя?",
                                        "Редактор пользователей",
                                        MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question,
                                        MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                    {
                        ui.DeleteUser(user);
                        node = node.Parent;
                        fillTree();
                        if (node != null)
                        {
                            findTree(node.Text);
                        }
                    }
                }
            }
        }
Пример #4
0
        public async Task <IActionResult> Edit(string id, [Bind("Mail,Фио,Пароль")] Пользователь пользователь)
        {
            if (id != пользователь.Mail)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    if (needToCalcHesh(пользователь.Пароль))
                    {
                        int passwordHesh = calcHesh(пользователь.Пароль);
                        пользователь.Пароль = passwordHesh.ToString();
                    }

                    _context.Update(пользователь);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ПользовательExists(пользователь.Mail))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(пользователь));
        }
Пример #5
0
 private void CheckPassword()
 {
     using (frmPassword form = new frmPassword())
     {
         TreeNode node = tvList.SelectedNode;
         if (node != null)
         {
             IUserInfo    ui   = (IUserInfo)DataHost;
             Пользователь user = ui.FindByFullName(node.Text);
             if (user != null)
             {
                 if (form.ShowDialog() == DialogResult.OK)
                 {
                     if (String.Equals(user.Пароль, form.Password))
                     {
                         ui.LoginUser(user.ПолноеИмя(), user.ФИО(), user.Категория);
                         this.Close();
                     }
                     else
                     {
                         MessageBox.Show(this, "Пароль неверный.",
                                         "Регистрация пользователя",
                                         MessageBoxButtons.OK, MessageBoxIcon.Error);
                     }
                 }
             }
         }
     }
 }
Пример #6
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "" || textBox2.Text == "")
            {
                MessageBox.Show("Ввидете логин и пароль!");
            }
            else
            {
                Пользователь user = db.Пользователь.Find(textBox1.Text);
                if (user != null && user.Пароль == textBox2.Text)
                {
                    switch (user.Роль)
                    {
                        case "Руководитель":
                            MessageBox.Show($"Добро пожаловать {user.Наименование}!"); ;
                            break;
                        case "Менеджер":
                            MessageBox.Show($"Добро пожаловать {user.Наименование}!");
                            break;
                        case "Кладовщик":
                            MessageBox.Show($"Добро пожаловать {user.Наименование}!");
                            break;
                        case "Заказчик":
                            MessageBox.Show($"Добро пожаловать {user.Наименование}!");
                            break;

                    }
                }
                else
                {
                    MessageBox.Show("Введён неверный логи или пароль");
                }
            }
        }
Пример #7
0
        public IActionResult FinishRegister(Пользователь пользователь)
        {
            var salt            = GetSalt();
            var hashed_password = KeyDerivation.Pbkdf2(
                password: пользователь.Пароль,
                salt: salt,
                prf: KeyDerivationPrf.HMACSHA1,
                iterationCount: 10000,
                numBytesRequested: 256 / 8);
            string stringPasswordHashed = Convert.ToBase64String(hashed_password);

            пользователь.Пароль = stringPasswordHashed;
            пользователь._salt  = Convert.ToBase64String(salt);
            _context.Пользователь.Add(пользователь);
            Пользователь другой_пользователь = _context.Пользователь.SingleOrDefault(t => t.Никнейм == пользователь.Никнейм);

            if (другой_пользователь == null)
            {
                _context.SaveChanges();
            }
            else
            {
                ViewBag.Reqister_user = пользователь;
                ModelState.AddModelError("", "Есть уже такой никнейм перепишите его пожалуйста будте добры сэр.");
                return(View("Register"));
            }
            return(RedirectToAction("Login", "Auth", new { username = пользователь.Никнейм, password = пользователь.Пароль }));
        }
Пример #8
0
        public async Task <IActionResult> Logout()
        {
            var          username     = Guid.Parse(HttpContext.User.Identity.Name);
            Пользователь пользователь = _context.Пользователь.FirstOrDefault(t => t.ID == username);

            пользователь._token = null;
            _context.Пользователь.Update(пользователь);
            _context.SaveChanges();
            await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);

            return(RedirectToAction("Index", "Home"));
        }
Пример #9
0
        public UserDto(Пользователь user)
        {
            if (user == null)
            {
                return;
            }

            this.FIO          = user.ФИО;
            this.Login        = user.Логин;
            this.PasswordHash = user.ХэшПароля;
            this.EP           = user.ЭП;
        }
Пример #10
0
 public IActionResult Register(Пользователь пользователь)
 {
     if (ModelState.IsValid)
     {
         ViewBag.Reqister_user = пользователь;
         return(View());
     }
     else
     {
         return(View("Login"));
     }
 }
Пример #11
0
 public IActionResult EditInfo(string?id)
 {
     if (id != null && id == HttpContext.User.Identity.Name)
     {
         Пользователь пользователь = _context.Пользователь.FirstOrDefault(t => t.ID == Guid.Parse(id));
         if (пользователь != null)
         {
             return(View(пользователь));
         }
     }
     return(NotFound());
 }
Пример #12
0
 public frmUserInfo(UserLevel preselect, Пользователь preuser)
 {
     InitializeComponent();
     initstyle = preselect;
     if (preuser != null)
     {
         user = preuser.Clone();
         anew = false;
     }
     else
     {
         user           = new Пользователь();
         user.Категория = preselect;
     }
 }
Пример #13
0
 private void button1_Click(object sender, EventArgs e)
 {
     if (textBox1.Text != "" && textBox2.Text != "" && textBox4.Text != "")
     {
         if (textBox3.Text != textBox2.Text)
         {
             label7.Show();
             return;
         }
         else
         {
             label7.Hide();
             Пользователь user = db.Пользователь.Find(textBox1.Text);
             if (user != null)
             {
                 MessageBox.Show("Пользователль с таким логином уже есть!");
                 return;
             }
             user        = new Пользователь();
             user.Логин  = textBox1.Text;
             user.Пароль = textBox2.Text;
             user.Почта  = textBox3.Text;
             user.оль    = "Заказчик";
             if (textBox5.Text != "")
             {
                 user.Наименование = textBox5.Text;
             }
             else
             {
                 user.Наименование = textBox1.Text;
             }
             db.Пользователь.Add(user);
             try
             {
                 db.SaveChanges();
             }
             catch (Exception ex)
             {
                 MessageBox.Show(ex.Message);
                 return;
             }
             MessageBox.Show($"Пользователь {user.Логин} зарегистрирован!");
         }
     }
 }
Пример #14
0
        public int AddUser([FromBody] UserDto dto)
        {
            if (dto == null)
            {
                return(0);
            }

            Пользователь user = new Пользователь()
            {
                ФИО       = dto.FIO,
                Логин     = dto.Login,
                ЭП        = dto.EP,
                ХэшПароля = dto.PasswordHash    // TODO
            };

            db.Insert(user);
            return(user.Id);
        }
Пример #15
0
        public async Task <IActionResult> Login(string Никнейм, string Пароль)
        {
            string       resultname   = Никнейм + Пароль;
            Пользователь пользователь = _context.Пользователь.Single(t => t.Никнейм == Никнейм);

            if (пользователь != null)
            {
                var salt       = Convert.FromBase64String(пользователь._salt);
                var passwdhash = KeyDerivation.Pbkdf2(
                    password: Пароль,
                    salt: salt,
                    prf: KeyDerivationPrf.HMACSHA1,
                    iterationCount: 10000,
                    numBytesRequested: 256 / 8);
                string stringpasswdhashed = Convert.ToBase64String(passwdhash);
                if (пользователь.Пароль != stringpasswdhashed)
                {
                    ViewBag.Error = "Wrong password";
                    return(View());
                }
                Guid   IdUser   = пользователь.ID;
                string UserName = пользователь.Никнейм;
                await Authenticate(IdUser.ToString(), UserName);

                var gh     = HttpContext.User.Identity.Name;
                var hashed = KeyDerivation.Pbkdf2(
                    password: HttpContext.Connection.RemoteIpAddress + HttpContext.Request.Headers["User-Agent"],
                    salt: _tokensalt,
                    prf: KeyDerivationPrf.HMACSHA1,
                    iterationCount: 10000,
                    numBytesRequested: 256 / 8);
                string stringhashed = Convert.ToBase64String(hashed);
                пользователь._token = stringhashed;
                _context.Пользователь.Update(пользователь);
                _context.SaveChanges();
            }
            else
            {
                ViewBag.Error = "Wrong login";
                return(View());
            }
            return(Redirect("/"));
        }
Пример #16
0
        public IActionResult Register(Пользователь пользователь, IFormFile аватарка)
        {
            var salt            = GetSalt();
            var hashed_password = KeyDerivation.Pbkdf2(
                password: пользователь.Пароль,
                salt: salt,
                prf: KeyDerivationPrf.HMACSHA1,
                iterationCount: 10000,
                numBytesRequested: 256 / 8);
            string stringPasswordHashed = Convert.ToBase64String(hashed_password);

            пользователь.Пароль = stringPasswordHashed;
            пользователь._salt  = Convert.ToBase64String(salt);
            if (аватарка != null)
            {
                byte[] imageData = null;
                using (var binaryReader = new BinaryReader(аватарка.OpenReadStream()))
                {
                    imageData = binaryReader.ReadBytes((int)аватарка.Length);
                }
                пользователь.аватарка = imageData;
            }
            _context.Пользователь.Add(пользователь);
            Пользователь другой_пользователь = _context.Пользователь.SingleOrDefault(t => t.Никнейм == пользователь.Никнейм);

            if (!ModelState.IsValid)
            {
                return(View("Register"));
            }
            if (другой_пользователь == null)
            {
                _context.SaveChanges();
            }
            else
            {
                ViewBag.Reqister_user = пользователь;
                ModelState.AddModelError("", "Есть уже такой никнейм перепишите его пожалуйста будте добры сэр.");
                return(View("Register"));
            }
            return(RedirectToAction("Index", "Home"));
        }
Пример #17
0
        public async Task <IActionResult> Create([Bind("Mail,Фио,Пароль")] Пользователь пользователь)
        {
            if (ModelState.IsValid)
            {
                if (_context.Преподаватели.Any(d => d.Mail == пользователь.Mail) ||
                    _context.Студенты.Any(e => e.Mail == пользователь.Mail) ||
                    _context.Пользователь.Any(f => f.Mail == пользователь.Mail))
                {
                    return(RedirectToAction("ErrorScreen", "Home", new { textOfError = "Такой почтовый адрес уже зарегестрирован", controllerName = "Пользователь" }));
                }

                int passwordHesh = calcHesh(пользователь.Пароль);
                пользователь.Пароль = passwordHesh.ToString();

                _context.Add(пользователь);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(пользователь));
        }
Пример #18
0
        private void btnChange_Click(object sender, EventArgs e)
        {
            TreeNode node = tvList.SelectedNode;

            if (node != null)
            {
                IUserInfo    ui   = (IUserInfo)DataHost;
                Пользователь user = ui.FindByFullName(node.Text);
                if (user != null)
                {
                    using (frmUserInfo form = new frmUserInfo(UserLevel.Диспетчер, user))
                    {
                        if (form.ShowDialog(this) == DialogResult.OK)
                        {
                            ui.ChangeUser(user, form.UserInfo);
                            fillTree();
                            findTree(form.UserInfo.ПолноеИмя());
                        }
                    }
                }
            }
        }
Пример #19
0
        public IActionResult FindByName(string?id, string?pattern)
        {
            IEnumerable <Дружба> друзья;

            if (id == null)
            {
                Guid Id = Guid.Parse(HttpContext.User.Identity.Name);
                ViewData["id"] = Id;
                Microsoft.Data.SqlClient.SqlParameter param = new Microsoft.Data.SqlClient.SqlParameter("@FriendID", Id);
                друзья = _context.Дружба.FromSqlRaw("EXEC GetFriends @FriendID", param).ToList().Where(t => t.Код_статуса == 2).ToList();
            }
            else
            {
                ViewData["id"] = id;
                Microsoft.Data.SqlClient.SqlParameter param = new Microsoft.Data.SqlClient.SqlParameter("@FriendID", Guid.Parse(id));
                друзья = _context.Дружба.FromSqlRaw("EXEC GetFriends @FriendID", param).ToList().Where(t => t.Код_статуса == 2).ToList();
            }
            List <UserFriendBlogViewModel> users = new List <UserFriendBlogViewModel>();

            foreach (var друг in друзья)
            {
                Пользователь пользователь = _context.Пользователь.FirstOrDefault(t => t.ID == друг.ID_Друга && EF.Functions.Like(t.Фамилия, pattern + "%"));
                if (пользователь != null)
                {
                    users.Add(new UserFriendBlogViewModel()
                    {
                        пользователь   = пользователь,
                        Аватарка       = _context.Аватарка.Include(t => t.Данные).FirstOrDefault(t => t.ID_Пользователя == пользователь.ID),
                        CountBlogs     = 0,
                        CountFollowers = 0,
                        дружбы         = null
                    });
                }
            }
            return(PartialView("_Friends", users));
        }
Пример #20
0
        public IActionResult EditAvatar(AvatarViewModel files)
        {
            Пользователь пользователь = _context.Пользователь.FirstOrDefault(t => t.ID == files.ID_Пользователя);
            Guid         Data_ID      = Guid.NewGuid();

            byte[] avatarData = null;
            using (var binaryReader = new BinaryReader(files.Avatar.OpenReadStream()))
            {
                avatarData = binaryReader.ReadBytes((int)files.Avatar.Length);
            }
            List <Аватарка> аватарки = _context.Аватарка.Where(t => t.ID_Пользователя == пользователь.ID).ToList();

            foreach (var ава in аватарки)
            {
                ава.Используется = false;
            }
            Данные данные = new Данные()
            {
                ID   = Data_ID,
                Data = avatarData,
            };
            Аватарка аватарка = new Аватарка()
            {
                ID_Пользователя = пользователь.ID,
                Используется    = true,
                Дата_изменения  = DateTime.Now,
                ID_Data         = Data_ID,
                Данные          = данные,
                Пользователь    = пользователь,
            };

            _context.Данные.Add(данные);
            _context.Аватарка.Add(аватарка);
            _context.SaveChanges();
            return(RedirectToAction("GetUserInfo"));
        }
Пример #21
0
 public void ChangeUser(Пользователь user, Пользователь source)
 {
     user.CopyFrom(source);
     SaveUsersList();
 }
Пример #22
0
        private void Вход_Click(object sender, RoutedEventArgs e)
        {
            //var factory = new System.ServiceModel.Web.WebChannelFactory<RosService.Configuration.IConfigurationChannel>(new Uri("http://itrf.ru:8080/RosService/Configuration/basic"));
            //var Proxy = factory.CreateChannel();
            //var user = Proxy.Авторизация("Техподдержка", "nfrcb", false, "ювтранс");
            //if (user != null)
            //{
            //}


            //var xml = System.Xml.Linq.XDocument.Parse(RosControl.Properties.Resources.country);
            //foreach (var item in xml.Descendants("Country"))
            //{
            //    var name = item.Element("Eng").Value.ToLower();
            //    if (!string.IsNullOrEmpty(name))
            //    {
            //        try
            //        {
            //            using (var web = new System.Net.WebClient())
            //            {
            //                web.DownloadFile(string.Format("http://flags.redpixart.com/img/{0}_preview.gif", name), string.Format("R:\\111\\{0}.gif", name));
            //            }
            //        }
            //        catch
            //        {
            //        }
            //    }
            //}


            //using (var client = new HyperСloud.Client("регистр@localhost"))
            //{
            //    //client.Set(254388, "GuidCode", Guid.NewGuid().ToString());
            //    //client.Set(254388, "GuidCode", Guid.NewGuid().ToString());
            //    //client.Set(254388, "GuidCode", Guid.NewGuid().ToString());
            //    //client.Set(254388, "GuidCode", Guid.NewGuid().ToString());
            //}
            //try
            //{
            //    using (var client = new HyperСloud.Files("азбука@crmapp.azb24.ru"))
            //    //using (var client = new HyperСloud.Files("росинфотех@itrf.ru"))
            //    {
            //        var file = File.ReadAllBytes("r:\\1.jpg");
            //        client.Set(1, "1.jpg", file);
            //    }

            //    //using (var client = new HyperСloud.Client("росинфотех"))
            //    //{
            //    //    var types = client.Get<string>(1, "НазваниеОбъекта");
            //    //    if (types != null)
            //    //    {
            //    //    }
            //    //}

            //    //using (var client = new HyperСloud.Config("росинфотех"))
            //    //{
            //    //    var types = client.GetTypes();
            //    //    if (types != null)
            //    //    {
            //    //    }
            //    //}
            //}
            //catch (Exception ex)
            //{
            //    if (ex != null)
            //    {
            //    }
            //}


            //RosService.Client.Host = Properties.Settings.Default.АдресСервера;
            RosService.Client.maxService = 1;
            RosService.Client.Host       = App.ServerName;

            System.Threading.Tasks.Task.Factory.StartNew(() =>
            {
                try
                {
                    var mode = RosService.ClientMode.None;
                    if (Enum.TryParse <RosService.ClientMode>(Properties.Settings.Default.ТипСоединения, out mode))
                    {
                        RosService.Client.Mode = mode;
                    }


                    if (RosService.Client.Authorization(Пользователь, PART_Password.Password, true) &&
                        RosService.Client.User.id_node > 0)
                    {
                        using (RosService.Client client = new RosService.Client())
                        {
                            App.AppName = client.Архив.ПолучитьЗначение <string>("КорневойРаздел", "НазваниеОбъекта");
                        }

                        this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action) delegate
                        {
                            try
                            {
                                #region Сохранить настройки после входа
                                if (Пользователь.Contains("@"))
                                {
                                    //Properties.Settings.Default.ИмяПользователя = string.Format("{0}\\{1}@{2}", RosService.Client.Domain, RosService.Client.UserName, RosService.Client.Host);
                                    App.UserName = string.Format("{0}\\{1}@{2}", RosService.Client.Domain, RosService.Client.UserName, RosService.Client.Host);
                                }
                                else
                                {
                                    //Properties.Settings.Default.ИмяПользователя = string.Format("{0}\\{1}", RosService.Client.Domain, RosService.Client.UserName);
                                    App.UserName = string.Format("{0}\\{1}", RosService.Client.Domain, RosService.Client.UserName);
                                }

                                var userName = App.UserName ?? string.Empty;
                                if (IsЗапомнить)
                                {
                                    Properties.Settings.Default.Пароль = PART_Password.Password;
                                }
                                var account = App.HistoryAccounts.FirstOrDefault(p => p.Login.ToLower().Equals(userName.ToLower()));
                                if (account == null)
                                {
                                    account = new App.HistoryAccount()
                                    {
                                        Login = userName, Версия = RosApplication.Properties.Settings.Default.Версия
                                    };
                                    App.HistoryAccounts.Add(account);
                                    App.SaveHistoryAccounts();
                                }
                                System.Threading.Tasks.Task.Factory.StartNew(() =>
                                {
                                    try
                                    {
                                        Properties.Settings.Default.Save();

                                        if (account != null)
                                        {
                                            //using (RosService.Client client = new RosService.Client())
                                            {
                                                //App.AppName = client.Архив.ПолучитьЗначение<string>("КорневойРаздел", "НазваниеОбъекта");
                                                if (!string.IsNullOrEmpty(App.AppName) && !"Предприятие".Equals(App.AppName) &&
                                                    account.Group != App.AppName)
                                                {
                                                    account.Group = App.AppName;
                                                    App.SaveHistoryAccounts();
                                                }
                                            }
                                        }
                                    }
                                    catch
                                    {
                                    }
                                });
                                #endregion

                                //включить автоматическое продление сессии
                                App.SessionStart();

                                this.NavigationService.RemoveBackEntry();
                                this.NavigationService.Navigate(App.ГлавнаяФорма);
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(ex.Message, "Ошибка авторизации", MessageBoxButton.OK);
                                PART_Password.Focus();
                                КнопкаВход.EndCallback();
                            }
                        });
                    }
                    //else if (RosService.Client.User.id_node == -1)
                    //{
                    //    //redirect to 5.0
                    //    RosService.Client.Shutdown();
                    //    this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)delegate
                    //    {
                    //        if (PART_User.SelectedItem is App.HistoryAccount)
                    //        {
                    //            ((App.HistoryAccount)PART_User.SelectedItem).Версия = 5;
                    //            App.SaveHistoryAccounts(СписокПользователей);
                    //        }
                    //        else
                    //        {
                    //            Properties.Settings.Default.Версия = 5;
                    //        }

                    //        Вход_Click(sender, e);
                    //    });
                    //}
                    else
                    {
                        this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action) delegate
                        {
                            КнопкаВход.EndCallback();
                        });
                    }
                }
                catch (Exception ex)
                {
                    this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action) delegate
                    {
                        MessageBox.Show(ex.Message, "Ошибка авторизации", MessageBoxButton.OK);
                        КнопкаВход.EndCallback();
                    });
                }
            });
        }
Пример #23
0
        private void ОбновитьОкноВхода(bool IsUpdate, bool IsDelete)
        {
            //if (IsUpdate)
            ClearDefaultBackground();


            var IsEmpty = DefaultBackground == DefaultBackgroundProperty.DefaultMetadata.DefaultValue;

            //ThreadPool.QueueUserWorkItem((WaitCallback)delegate
            System.Threading.Tasks.Task.Factory.StartNew(() =>
            {
                lock (lockobj)
                {
                    try
                    {
                        if (!(Пользователь.Contains(@"\") || Пользователь.Contains(@"/")))
                        {
                            throw new Exception();
                        }
                        var token = Regex.Match(Пользователь, @"^(?<DOMAIN>(.+?))[\\/](?<USER>(.+?))(@(?<HOST>(.+)))?$", RegexOptions.Compiled | RegexOptions.Singleline);
                        if (domain == token.Groups["DOMAIN"].Value.ToLower() && !IsEmpty)
                        {
                            return;
                        }
                        domain   = token.Groups["DOMAIN"].Value.ToLower();
                        var host = !string.IsNullOrEmpty(token.Groups["HOST"].Value) ? token.Groups["HOST"].Value : RosService.Client.Host;

                        using (var data = new RosService.Data.DataClient(RosService.Client.DefaultBinding, new EndpointAddress(string.Format(RosService.Client.GetUrl(host, RosService.ClientMode.GZip), "Data"))))
                            using (var file = new RosService.Files.FileClient(RosService.Client.DefaultStreamingBinding, new EndpointAddress(string.Format(RosService.Client.GetUrlStreaming(host, RosService.ClientMode.GZip), "File"))))
                            {
                                var filestreeam = null as byte[];
                                var colors      = null as string[];

                                var logonPath = System.IO.Path.Combine(App.AppPath, "logon");
                                if (!System.IO.Directory.Exists(logonPath))
                                {
                                    System.IO.Directory.CreateDirectory(logonPath);
                                }

                                var path_logon = System.IO.Path.Combine(logonPath, string.Format("logon_{0}.png", domain));
                                var path_style = System.IO.Path.Combine(logonPath, string.Format("style_{0}.css", domain));
                                if (IsDelete)
                                {
                                    File.Delete(path_logon);
                                }

                                if (File.Exists(path_logon))
                                {
                                    filestreeam = File.ReadAllBytes(path_logon);
                                    if (File.Exists(path_style))
                                    {
                                        colors = File.ReadAllText(path_style).Split(';');
                                    }
                                }
                                else
                                {
                                    var ОкноАвторизации = data.ПоискРазделаПоИдентификаторуОбъекта("ОкноАвторизации", RosService.Data.Хранилище.Конфигурация, domain);
                                    filestreeam         = file.ПолучитьФайлПолностьюПоНазванию(ОкноАвторизации, "Logon", RosService.Files.Хранилище.Конфигурация, domain);
                                    if (file != null && filestreeam != null && filestreeam.Length > 0)
                                    {
                                        File.WriteAllBytes(path_logon, filestreeam);

                                        var values = data.ПолучитьЗначение(ОкноАвторизации, new string[] { "ЦветТекста", "ЦветСсылок" }, RosService.Data.Хранилище.Конфигурация, domain);
                                        colors     = values.Select(p => Convert.ToString(p.Value.Значение)).ToArray();
                                        File.WriteAllText(path_style, string.Join(";", colors));
                                    }
                                    else
                                    {
                                        throw new Exception();
                                    }
                                }

                                var src = new BitmapImage();
                                src.BeginInit();
                                src.StreamSource = new MemoryStream(filestreeam);
                                src.EndInit();
                                src.Freeze();
                                this.Dispatcher.BeginInvoke(DispatcherPriority.ContextIdle, (Action) delegate
                                {
                                    try
                                    {
                                        DefaultBackground = new ImageBrush(src)
                                        {
                                            Stretch = Stretch.None, TileMode = TileMode.None
                                        };

                                        if (colors != null && colors.Length >= 1 && !string.IsNullOrEmpty(colors[0]))
                                        {
                                            DefaultForeground = new BrushConverter().ConvertFromString(colors[0]) as Brush;
                                        }
                                        else
                                        {
                                            ClearValue(DefaultForegroundProperty);
                                        }

                                        if (colors != null && colors.Length >= 2 && !string.IsNullOrEmpty(colors[1]))
                                        {
                                            DefaultLinkForeground = new BrushConverter().ConvertFromString(colors[1]) as Brush;
                                        }
                                        else
                                        {
                                            ClearValue(DefaultLinkForegroundProperty);
                                        }
                                    }
                                    catch
                                    {
                                        ClearDefaultBackground();
                                    }
                                });
                            }
                    }
                    catch
                    {
                        this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action) delegate { ClearDefaultBackground(); });
                    }
                }
            });
        }
Пример #24
0
 public void AddNewUser(Пользователь user)
 {
     userList.Add(user);
     SaveUsersList();
 }
Пример #25
0
        public async Task SendMessage(string?id, string?text = "", string?friendid = "")
        {
            var UserName = Context.User.Identity.Name;

            if (id == "")
            {
                Беседа беседа = new Беседа
                {
                    ID_Беседы       = Guid.NewGuid(),
                    Дата_создания   = DateTime.Now,
                    Название_беседы = "personal",
                    Описание_беседы = null,
                };
                Участник участник = new Участник
                {
                    ID_беседы                 = беседа.ID_Беседы,
                    Дата_добавления           = DateTime.Now,
                    Дата_последнего_просмотра = DateTime.Now,
                    ID_Пользователя           = Guid.Parse(UserName),
                };
                Участник участник2 = new Участник
                {
                    ID_беседы                 = беседа.ID_Беседы,
                    Дата_добавления           = DateTime.Now,
                    Дата_последнего_просмотра = DateTime.Now,
                    ID_Пользователя           = Guid.Parse(friendid),
                };
                _context.Add(беседа);
                _context.Add(участник);
                _context.Add(участник2);
                List <Участник> участникs = new List <Участник>();
                участникs.Add(участник);
                участникs.Add(участник2);
                Сообщения сообщениеновое = new Сообщения
                {
                    ID_беседы       = беседа.ID_Беседы,
                    ID_Пользователя = Guid.Parse(UserName.ToLower()),
                    Дата_отправки   = DateTime.Now,
                    Текст_сообщения = text
                };
                _context.Add(сообщениеновое);
                Пользователь пользовательновый = _context.Пользователь.FirstOrDefault(t => t.ID == Guid.Parse(UserName));
                _context.SaveChanges();
                foreach (var item in участникs)
                {
                    var covertantId = участникs.FirstOrDefault(t => t.ID_Пользователя != item.ID_Пользователя).ID_Пользователя;
                    var covertant   = _context.Пользователь.FirstOrDefault(t => t.ID == covertantId);
                    try
                    {
                        await Clients.User(item.ID_Пользователя.ToString().ToLower()).SendAsync("MessageSend", new
                        {
                            user_send    = сообщениеновое.ID_Пользователя,
                            conv_id      = сообщениеновое.ID_беседы,
                            conv_name    = covertant.Фамилия + " " + covertant.Имя,
                            conv_user_id = covertant.ID,
                            date         = сообщениеновое.Дата_отправки.Hour + " " + сообщениеновое.Дата_отправки.Minute,
                            text         = сообщениеновое.Текст_сообщения,
                            firstname    = пользовательновый.Имя,
                            secondname   = пользовательновый.Фамилия
                        });
                    }
                    catch (Exception ex)
                    {
                        var a = 1;
                    }
                }
            }
            else
            {
                Сообщения сообщение = new Сообщения
                {
                    ID_беседы       = Guid.Parse(id),
                    ID_Пользователя = Guid.Parse(UserName.ToLower()),
                    Дата_отправки   = DateTime.Now,
                    Текст_сообщения = text
                };
                _context.Add(сообщение);
                Пользователь пользователь = _context.Пользователь.FirstOrDefault(t => t.ID == Guid.Parse(UserName));
                var          members      = _context.Участник.Where(t => t.ID_беседы == Guid.Parse(id)).ToList();
                Беседа       беседа       = _context.Беседа.Include(t => t.Участники).FirstOrDefault(t => t.ID_Беседы == Guid.Parse(id));
                string       conv_name    = "";
                _context.SaveChanges();
                if (беседа.Участники.Count() == 2)
                {
                    foreach (var item in members)
                    {
                        var covertantId = members.FirstOrDefault(t => t.ID_Пользователя != item.ID_Пользователя).ID_Пользователя;
                        var covertant   = _context.Пользователь.FirstOrDefault(t => t.ID == covertantId);
                        if (item.ID_Пользователя.ToString().ToLower() == UserName.ToLower())
                        {
                            await Clients.User(item.ID_Пользователя.ToString().ToLower()).SendAsync("MessageSend", new
                            {
                                flag         = 1,
                                user_send    = сообщение.ID_Пользователя,
                                conv_id      = сообщение.ID_беседы,
                                conv_name    = covertant.Фамилия + " " + covertant.Имя,
                                conv_user_id = covertant.ID,
                                date         = сообщение.Дата_отправки.ToLongDateString(),
                                time         = сообщение.Дата_отправки.Hour + ":" + сообщение.Дата_отправки.Minute,
                                text         = сообщение.Текст_сообщения,
                                firstname    = пользователь.Имя,
                                secondname   = пользователь.Фамилия
                            });
                        }
                        else
                        {
                            await Clients.User(item.ID_Пользователя.ToString().ToLower()).SendAsync("MessageSend", new
                            {
                                user_send    = сообщение.ID_Пользователя,
                                conv_id      = сообщение.ID_беседы,
                                conv_name    = covertant.Фамилия + " " + covertant.Имя,
                                conv_user_id = covertant.ID,
                                date         = сообщение.Дата_отправки.ToLongDateString(),
                                time         = сообщение.Дата_отправки.Hour + ":" + сообщение.Дата_отправки.Minute,
                                text         = сообщение.Текст_сообщения,
                                firstname    = пользователь.Имя,
                                secondname   = пользователь.Фамилия
                            });
                        }
                    }
                }
                else
                {
                    conv_name = беседа.Название_беседы;
                    foreach (var item in members)
                    {
                        var covertantId = members.FirstOrDefault(t => t.ID_Пользователя != item.ID_Пользователя).ID_Пользователя;
                        var covertant   = _context.Пользователь.FirstOrDefault(t => t.ID == covertantId);
                        await Clients.User(item.ID_Пользователя.ToString().ToLower()).SendAsync("MessageSend", new
                        {
                            user_send    = сообщение.ID_Пользователя,
                            conv_id      = сообщение.ID_беседы,
                            conv_name    = covertant.Фамилия + " " + covertant.Имя,
                            conv_user_id = covertant.ID,
                            date         = сообщение.Дата_отправки.ToLongDateString(),
                            time         = сообщение.Дата_отправки.Hour + ":" + сообщение.Дата_отправки.Minute,
                            text         = сообщение.Текст_сообщения,
                            firstname    = пользователь.Имя,
                            secondname   = пользователь.Фамилия
                        });
                    }
                }
            }
        }
Пример #26
0
 public IActionResult EditInfo(Пользователь пользователь)
 {
     _context.Пользователь.Update(пользователь);
     _context.SaveChanges();
     return(RedirectToAction("GetUserInfo", "Users"));
 }
Пример #27
0
        }//отключение от БД

        private void Button1_Click(object sender, EventArgs e)
        {
            if (tLogin.Text == "" | tPwd.Text == "")
            {
                MessageBox.Show("Поля не могут быть пустыми", "Обнаружено пустое поле!");
            }
            else
            {
                try
                {
                    string Log_t = "";
                    Log_t                  = "Подключаюсь к БД...";
                    Log.Text               = $"{Log_t}" + "\n";
                    Auth.Login             = tLogin.Text;
                    Auth.Pwd               = "Skorik2020";//Static_BD
                    Auth.uPwd              = tPwd.Text;
                    Auth.server            = "localhost";
                    Auth.user              = $"SkorikJR";//Static_BD
                    Auth.basename          = "service_null";
                    Auth.pwd               = $"{Auth.Pwd}";
                    Auth.СтрокаПодключения = $"charset= utf8;server={Auth.server};user={Auth.user};database={Auth.basename};password={Auth.pwd};";
                    Auth.Запрос            = $"SELECT * FROM `auth` WHERE `login`=\"{Auth.Login}\"";
                    MySqlConnection Коннектор = new MySqlConnection(Auth.СтрокаПодключения);
                    Коннектор.Open();
                    Log_t     = "Подключено...";
                    Log.Text += $"{Log_t}\n";
                    MySqlCommand    Комманда = new MySqlCommand(Auth.Запрос, Коннектор);
                    MySqlDataReader езультат = Комманда.ExecuteReader();
                    езультат.Read();
                    Пользователь Юзер = new Пользователь
                    {
                        ИнфоПользователя = new string[4]
                    };
                    Log_t    = "Загружаю данные пользователя...";
                    Log.Text = Log.Text + "\n" + $"{ Log_t}" + "\n";
                    //while (Результат.Read())
                    for (int i = 0; i < 4; i++)
                    {
                        езультат[0].ToString();
                        Юзер.ИнфоПользователя[i] = езультат[i].ToString();
                    }//загружаем логин и пароль
                    Отключиться(Коннектор);
                    if (Юзер.ИнфоПользователя[1] == Auth.uPwd)
                    {
                        Log_t    = "Авторизация прошла успешно, загружаю программу...";
                        Log.Text = Log.Text + $"{Log_t}" + "\n";
                        Loading mainForm;
                        Auth.AcMode = Юзер.ИнфоПользователя[2];
                        ЗагрузкаДанныхПользователя(int.Parse(Юзер.ИнфоПользователя[3]));
                        mainForm = new Loading();
                        mainForm.Show();
                        this.Hide();
                    }
                    else
                    {
                        MessageBox.Show("Что-то пошло не так проверьте Логин и Пароль!", "Err");
                        Exit("server");
                        Exit("httpd_usbwv8.exe");
                        Exit("mysqld_usbwv8.exe");
                        System.Environment.Exit(0);
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("Что-то пошло не так проверьте доступность БД!", "Err:100");
                    Exit("server");
                    Exit("httpd_usbwv8.exe");
                    Exit("mysqld_usbwv8.exe");
                    System.Environment.Exit(0);
                    throw;
                }
            }
        }
Пример #28
0
 public WebUser(Пользователь u, string cid)
 {
     ConnectionId = cid;
     AggregateObj = u;
 }
Пример #29
0
 public void DeleteUser(Пользователь user)
 {
     userList.Remove(user);
     SaveUsersList();
 }
Пример #30
0
        public void DeleteAggregatorWithManyDetailsTest()
        {
            foreach (IDataService dataService in DataServices)
            {
                // Arrange.
                SQLDataService ds = dataService as SQLDataService;

                //TODO: Fix OracleDataService error.
                if (dataService is OracleDataService)
                {
                    continue;
                }

                var masterCl = new Пользователь {
                    ФИО = "фио"
                };
                var aggregator = new Конкурс {
                    Название = "название", Организатор = masterCl
                };

                var detailOne = new КритерийОценки {
                    ПорядковыйНомер = 4
                };
                var detailTwo = new ДокументацияККонкурсу {
                    Файл = new WebFile()
                };
                aggregator.КритерииОценки.Add(detailOne);
                aggregator.Документы.Add(detailTwo);

                ds.UpdateObject(aggregator);

                // Act
                LoadingCustomizationStruct lcsAggregator = LoadingCustomizationStruct.GetSimpleStruct(typeof(Конкурс), Конкурс.Views.КонкурсE);
                LoadingCustomizationStruct lcsDetailOne  = LoadingCustomizationStruct.GetSimpleStruct(typeof(КритерийОценки), КритерийОценки.Views.КритерийОценкиE);
                LoadingCustomizationStruct lcsDetailTwo  = LoadingCustomizationStruct.GetSimpleStruct(typeof(ДокументацияККонкурсу), ДокументацияККонкурсу.Views.ДокументацияККонкурсуE);

                DataObject[] dataObjectsAggregator = ds.LoadObjects(lcsAggregator);
                DataObject[] dataObjectsDetailOne  = ds.LoadObjects(lcsDetailOne);
                DataObject[] dataObjectsDetailTwo  = ds.LoadObjects(lcsDetailTwo);

                int countAggregatorBefore = ds.GetObjectsCount(lcsAggregator);
                int countDetailOneBefore  = ds.GetObjectsCount(lcsDetailOne);
                int countDetailTwoBefore  = ds.GetObjectsCount(lcsDetailTwo);

                List <DataObject> objectsForUpdateList = new List <DataObject>();

                foreach (Конкурс конкурс in dataObjectsAggregator)
                {
                    конкурс.SetStatus(ObjectStatus.Deleted);
                    objectsForUpdateList.Add(конкурс);
                }

                foreach (КритерийОценки критерий in dataObjectsDetailOne)
                {
                    критерий.SetStatus(ObjectStatus.Deleted);
                    objectsForUpdateList.Add(критерий);
                }

                foreach (ДокументацияККонкурсу документ in dataObjectsDetailTwo)
                {
                    документ.SetStatus(ObjectStatus.Deleted);
                    objectsForUpdateList.Add(документ);
                }

                DataObject[] objectsForUpdate = objectsForUpdateList.ToArray();

                ds.UpdateObjects(ref objectsForUpdate);

                int countAggregatorAfter = ds.GetObjectsCount(lcsAggregator);
                int countDetailOneAfter  = ds.GetObjectsCount(lcsDetailOne);
                int countDetailTwoAfter  = ds.GetObjectsCount(lcsDetailTwo);

                // Assert
                Assert.Equal(1, countAggregatorBefore);
                Assert.Equal(1, countDetailOneBefore);
                Assert.Equal(1, countDetailTwoBefore);

                Assert.Equal(0, countAggregatorAfter);
                Assert.Equal(0, countDetailOneAfter);
                Assert.Equal(0, countDetailTwoAfter);
            }
        }