// // GET: /Users/ // Другой профиль public ActionResult Index(int id) { ViewBag.NotRead = HomeController.GetNotReadMessagesCount(); if (id == WebSecurity.CurrentUserId) { return RedirectToAction("Index", "Home"); } UserData model = new UserData(); List<UserData> TempList = new List<UserData>(); UsersContext db = new UsersContext(); TempList = db.UsersData.ToList(); for (int i = 0; i < TempList.Count; i++) { if (id == TempList[i].UserProfile.UserId) { model = TempList[i]; break; } } UserData currentUser = new UserData(); for (int i = 0; i < TempList.Count; i++) { if (WebSecurity.CurrentUserId == TempList[i].UserProfile.UserId) { currentUser = TempList[i]; break; } } /* * Проверяем на "Друзей" * Если находим какоето совпадение в БД проверяем был ли запрос подтвержден или нет */ List<FrendsModel> FrendsList = new List<FrendsModel>(); FrendsList = db.Frends.ToList(); for (int i = 0; i < FrendsList.Count; i++) { if ((FrendsList[i].UserA.UserProfile.UserId == WebSecurity.CurrentUserId && FrendsList[i].UserB.UserProfile.UserId == id) || (FrendsList[i].UserB.UserProfile.UserId == WebSecurity.CurrentUserId && FrendsList[i].UserA.UserProfile.UserId == id)) { if (FrendsList[i].IsConfirm) { ViewBag.FrendStatus = model.Name + " у вас в друзьях"; break; } else { ViewBag.FrendStatus = "Запрос в друзья отправлен"; break; } } else ViewBag.FrendStatus = "<button type=\"button\" class=\"btn\" onclick=\"location.href='/Frends/AddFrends/"+ id+"'\">Добавить в друзья </button>"; } ViewBag.currentUser = currentUser; return View(model); }
public void GetCurrentUser() { db = new UsersContext(); List<UserData> TempList = new List<UserData>(); TempList = db.UsersData.ToList(); ViewBag.Users = TempList; UserData model = new UserData(); for (int i = 0; i < TempList.Count; i++) { if (TempList[i].UserProfile.UserId == WebSecurity.CurrentUserId) { model = TempList[i]; break; } } ViewBag.currentUser = model; }
// // GET: /Message/ public ActionResult PostMessage(int UserGetId) { Message model = new Message(); UsersContext db = new UsersContext(); List<UserData> TempList = new List<UserData>(); TempList = db.UsersData.ToList(); UserData PostUser = new UserData(); for (int i = 0; i < TempList.Count; i++) { if (TempList[i].UserProfile.UserId == WebSecurity.CurrentUserId) { PostUser = TempList[i]; break; } } model.UserGet = db.UserProfiles.Find(UserGetId); model.UserPost = PostUser.UserProfile; return View(model); }
public ActionResult AddData() { UsersContext db = new UsersContext(); string a = WebSecurity.CurrentUserName; UserData model = new UserData(); List<UserData> TempList = new List<UserData>(); TempList = db.UsersData.ToList(); for (int i = 0; i < TempList.Count ; i++) { if (TempList[i].UserProfile.UserId == WebSecurity.CurrentUserId) { model = TempList[i]; ViewBag.currentUser = TempList[i]; break; } } db.Dispose(); ViewBag.NotRead = HomeController.GetNotReadMessagesCount(); return View("AddData",model); }
public RequestFrendsModel( UserData User, int Id) { this.User = User; RequestId = Id; }
//public ActionResult Messages(int id) //{ // return View(); //} public ActionResult Messages() { ViewBag.NotRead = HomeController.GetNotReadMessagesCount(); UsersContext db = new UsersContext(); List<Message> TempList = new List<Message>(); TempList = db.Messages.ToList(); List<Message> CurrentUserMessages = new List<Message>(); for (int i = 0; i < TempList.Count; i++) { if (TempList[i].UserGet.UserId == WebSecurity.CurrentUserId) CurrentUserMessages.Add(TempList[i]); } List<UserData> TempUserList = new List<UserData>(); TempUserList = db.UsersData.ToList(); UserData currentUser = new UserData(); List<UserProfile> _tr = db.UserProfiles.ToList(); for (int i = 0; i < TempUserList.Count; i++) { int rr = WebSecurity.CurrentUserId; if (TempUserList[i].UserProfile.UserId == WebSecurity.CurrentUserId) { currentUser = TempUserList[i]; break; } } List<Message> DialogList = new List<Message>(); // Получаем id пользователей с которыми у нас были диалоги List<int> MessageUsersFirstList = new List<int>(); for (int i = 0; i < TempList.Count; i++) { if (TempList[i].UserGet.UserId == WebSecurity.CurrentUserId) MessageUsersFirstList.Add(TempList[i].UserPost.UserId); if (TempList[i].UserPost.UserId == WebSecurity.CurrentUserId) MessageUsersFirstList.Add(TempList[i].UserGet.UserId); } // удаляем повторяющиеся List<int> MessageUsersSecondList = new List<int>(MessageUsersFirstList.Distinct()); // Находим последниии сообщения диалогов // формируем список диалогов for (int i = 0; i < MessageUsersSecondList.Count; i++) { for (int j = TempList.Count-1; j > 0; j--) { if ((MessageUsersSecondList[i] == TempList[j].UserGet.UserId && TempList[j].UserPost.UserId == WebSecurity.CurrentUserId) || (MessageUsersSecondList[i] == TempList[j].UserPost.UserId && TempList[j].UserGet.UserId == WebSecurity.CurrentUserId)) { DialogList.Add(TempList[j]); break; } } } // ViewBag.DialogList = DialogList; // Получаем список диалогов как вконтакте List<MessageModel> NewDialogList = new List<MessageModel>(); for (int i = 0; i < DialogList.Count; i++) { UserData UserInfo = new UserData(); MessageModel tempMessageModel = new MessageModel(); tempMessageModel.Message = DialogList[i]; if (DialogList[i].UserGet.UserId == WebSecurity.CurrentUserId) { int FindUserId = (int)DialogList[i].UserPost.UserId; UserInfo = db.UsersData .Where(c => c.UserProfile.UserId == FindUserId) .FirstOrDefault(); tempMessageModel.UserData = UserInfo; } if (DialogList[i].UserPost.UserId == WebSecurity.CurrentUserId) { int FindUserId = (int)DialogList[i].UserGet.UserId; UserInfo = db.UsersData .Where(c => c.UserProfile.UserId == FindUserId) .FirstOrDefault(); tempMessageModel.UserData = UserInfo; } NewDialogList.Add(tempMessageModel); } // СОртируем по дате отрпавки List<MessageModel> SortedDialogList = NewDialogList.OrderBy(o => o.Message.Time).ToList(); SortedDialogList.Reverse(); ViewBag.DialogList = SortedDialogList; ViewBag.currentUser = currentUser; ViewBag.CurrentUserMessages = CurrentUserMessages; return View(); }
public ActionResult Dialog (int UserId) { UsersContext db = new UsersContext(); List<UserData> TempUserList = new List<UserData>(); TempUserList = db.UsersData.ToList(); for (int i = 0; i < TempUserList.Count; i++) { if (TempUserList[i].UserProfile.UserId == WebSecurity.CurrentUserId) { ViewBag.currentUser = TempUserList[i]; break; } } List<Message> TempList = new List<Message>(); TempList = db.Messages.ToList(); List<Message> DialogList = new List<Message>(); for (int i = TempList.Count -1 ; i >= 0; i--) { if ((TempList[i].UserGet.UserId == WebSecurity.CurrentUserId && TempList[i].UserPost.UserId == UserId) || (TempList[i].UserPost.UserId == WebSecurity.CurrentUserId && TempList[i].UserGet.UserId == UserId)) DialogList.Add(TempList[i]); } List<MessageModel> NewDialogList = new List<MessageModel>(); for (int i = 0; i < DialogList.Count; i++) { UserData UserInfo = new UserData(); MessageModel tempMessageModel = new MessageModel(); tempMessageModel.Message = DialogList[i]; if (DialogList[i].UserGet.UserId == WebSecurity.CurrentUserId) { int FindUserId = (int)DialogList[i].UserPost.UserId; UserInfo = db.UsersData .Where(c => c.UserProfile.UserId == FindUserId) .FirstOrDefault(); tempMessageModel.UserData = UserInfo; } if (DialogList[i].UserPost.UserId == WebSecurity.CurrentUserId) { int FindUserId = (int)DialogList[i].UserGet.UserId; UserInfo = db.UsersData .Where(c => c.UserProfile.UserId == FindUserId) .FirstOrDefault(); tempMessageModel.UserData = UserInfo; } ViewBag.UserGet = UserId; NewDialogList.Add(tempMessageModel); } // Если были нерпочитанные сообщения в диалоге, т опри открытии диалога меняем их статус for (int i = 0; i < NewDialogList.Count; i++) { if(NewDialogList[i].Message.IsRead == false && NewDialogList[i].Message.UserGet.UserId == WebSecurity.CurrentUserId) { // создаем переменну _tempIndex и передаем ей id сообщения // после чего используем ее в LINQ запросе // Все это необходимо т.к. EntityFramework не поддерживает индексаторы int _tempIndex = NewDialogList[i].Message.Id; var EditStatus = db.Messages .Where(w => w.Id == _tempIndex) .FirstOrDefault(); EditStatus.IsRead = true; NewDialogList[i].Message.IsRead = true; db.SaveChanges(); } } for (int i = 0; i < DialogList.Count; i++) { if (DialogList[i].IsRead == false && DialogList[i].UserGet.UserId == WebSecurity.CurrentUserId) { int _tempIndex = DialogList[i].Id; var EditStatus = db.Messages .Where(w => w.Id == _tempIndex) .FirstOrDefault(); EditStatus.IsRead = true; db.SaveChanges(); } } ViewBag.NotRead = HomeController.GetNotReadMessagesCount(); return View(NewDialogList); }
public ActionResult Manage(LocalPasswordModel model) { GetCurrentUser(); bool hasLocalAccount = OAuthWebSecurity.HasLocalAccount(WebSecurity.GetUserId(User.Identity.Name)); ViewBag.HasLocalPassword = hasLocalAccount; ViewBag.ReturnUrl = Url.Action("Manage"); if (hasLocalAccount) { if (ModelState.IsValid) { // ChangePassword will throw an exception rather than return false in certain failure scenarios. bool changePasswordSucceeded; try { changePasswordSucceeded = WebSecurity.ChangePassword(User.Identity.Name, model.OldPassword, model.NewPassword); UsersContext db; db = new UsersContext(); List<UserData> TempList = new List<UserData>(); TempList = db.UsersData.ToList(); ViewBag.Users = TempList; UserData _model = new UserData(); for (int i = 0; i < TempList.Count; i++) { if (TempList[i].UserProfile.UserId == WebSecurity.CurrentUserId) { _model = TempList[i]; break; } } ViewBag.currentUser = _model; } catch (Exception) { changePasswordSucceeded = false; } if (changePasswordSucceeded) { return RedirectToAction("Manage", new { Message = ManageMessageId.ChangePasswordSuccess }); } else { ModelState.AddModelError("", "The current password is incorrect or the new password is invalid."); } } } else { // User does not have a local password so remove any validation errors caused by a missing // OldPassword field ModelState state = ModelState["OldPassword"]; if (state != null) { state.Errors.Clear(); } if (ModelState.IsValid) { try { WebSecurity.CreateAccount(User.Identity.Name, model.NewPassword); return RedirectToAction("Manage", new { Message = ManageMessageId.SetPasswordSuccess }); } catch (Exception) { ModelState.AddModelError("", String.Format("Unable to create local account. An account with the name \"{0}\" may already exist.", User.Identity.Name)); } } } // If we got this far, something failed, redisplay form return View(model); }
public ActionResult Register(RegisterModel model) // регистрация { // Всякие проверки if (model.ConfirmPassword == null || model.EmailAdres == null || model.Password == null || model.UserName == null) { ModelState.AddModelError("MyError", "Ошибка! Заполните все поля!"); return View(model); } if (ModelState.IsValid) { // Attempt to register the user try { if (model.EmailAdres.IndexOf('@') < 1) { ModelState.AddModelError("EmailAdres", "E-mail адрес введен не корректно"); return View(model); } List<int> qwe = new List<int>(); for (int i = 0; i < model.UserName.Length; i++) { qwe.Add((char)model.UserName[i]); } bool LoginValid = false; for (int i = 0; i < model.UserName.Length; i++) { if (((int)model.UserName[i] > 47 && (int)model.UserName[i] < 58) || ((int)model.UserName[i] > 64 && (int)model.UserName[i] < 91) || ((int)model.UserName[i] > 96 && (int)model.UserName[i] < 123)) LoginValid = true; else { ModelState.AddModelError("UserName", "Имя пользователя должно состоять из следущих символо: A-Z и 0-9"); return View(model); } } if (LoginValid) { model.UserName.ToLower(); model.EmailAdres.ToLower(); if (WebSecurity.UserExists(model.UserName)) { ModelState.AddModelError("UserName", "Логин занят"); return View(model); } UsersContext db = new UsersContext(); List<EmailModel> emailCheck = new List<EmailModel>(); emailCheck = db.EmailModels.ToList(); for (int i = 0; i < emailCheck.Count; i++) { if (emailCheck[i].Email == model.EmailAdres) { ModelState.AddModelError("UserName", "Пользователь с таким e-mail уже существует"); return View(model); } } // ТУТ СОЗДАЕМ НОВОГО ПОЛЬЗОВАТЕЛЯ WebSecurity.CreateUserAndAccount(model.UserName, model.Password); // сРАЗУЖЕ ЛОГИНИМСЯ bool logged = WebSecurity.Login(model.UserName, model.Password); if (logged) { //set auth cookie FormsAuthentication.SetAuthCookie(model.UserName, false); } UserProfile TempProfile = db.UserProfiles.Find(WebSecurity.GetUserId(model.UserName)); UserData CurrentUserDataModel = new UserData(TempProfile); db.UsersData.Add(CurrentUserDataModel); db.SaveChanges(); // ГЕНЕРИРУЕМ КОТД ПОДТВЕРЖДЕНИЯ EmailModel e = new EmailModel(); e.Email = model.EmailAdres; e.IsConfirm = false; e.Key = Crypto.SHA256(model.EmailAdres); e.PasswordRecoverKey = Crypto.SHA256(model.EmailAdres + model.Password + model.UserName); e.UserProfile = TempProfile; db.EmailModels.Add(e); db.SaveChanges(); SendMail("smtp.mail.ru", "ЯЩИК С КОТОРОГО ОТПРАВЛЯЕТЯ ПИСЬМО", "ПАРОЛЬ ОТ ЯЩИКА", e.Email , "public", "Welcom to public " + "Пожалуйста, активируйте Ваш аккаунт, перейдя по этой ссылке http://public.somee.com/Account/ActivationAccount/" + e.Key, null); ViewBag.currentUser = CurrentUserDataModel; return View("AddData", CurrentUserDataModel); } } catch (MembershipCreateUserException e) { ModelState.AddModelError("", ErrorCodeToString(e.StatusCode)); } } else { for (int i = 0; i < model.UserName.Length; i++) { if ((int)model.UserName[i] < 48 || (int)model.UserName[i] > 57 || (int)model.UserName[i] < 65 || (int)model.UserName[i] > 90 || (int)model.UserName[i] < 97 || (int)model.UserName[i] > 122 ) ModelState.AddModelError("UserName", "Имя пользователя должно состоять из следущих символо: A-Z и 0-9"); } if (model.UserName.Length < 4) ModelState.AddModelError("UserName", "Имя пользователя должно быть не менее трех символов"); if (model.Password != model.ConfirmPassword) ModelState.AddModelError("ConfirmPassword", "Оба пароля должны быть идентичны"); if (model.EmailAdres.IndexOf('@') < 1) ModelState.AddModelError("EmailAdres", "E-mail адрес введен не корректно"); } // If we got this far, something failed, redisplay form return View(model); }
public ActionResult AddData(UserData model, HttpPostedFileBase upload) { UsersContext db = new UsersContext(); List<UserData> TempList = new List<UserData>(); TempList = db.UsersData.ToList(); for (int i = 0; i < TempList.Count; i++) { if (TempList[i].UserProfile.UserId == WebSecurity.CurrentUserId) { ViewBag.currentUser = TempList[i]; break; } } var EditUser = db.UsersData .Where(c => c.UserProfile.UserId == WebSecurity.CurrentUserId) .FirstOrDefault(); if (upload != null) { // получаем имя файла string fileName = System.IO.Path.GetFileName(upload.FileName); // сохраняем файл в папку Files в проекте string Extention = System.IO.Path.GetExtension(upload.FileName); string NewFileName = Crypto.Hash(fileName); NewFileName = NewFileName.Remove(0, 20); NewFileName = NewFileName.ToLower(); NewFileName += Extention; upload.SaveAs(Server.MapPath("~/Avatars/" + NewFileName)); //System.IO.File.Delete(Server.MapPath(EditUser.AvatarUrl)); EditUser.AvatarUrl = "/Avatars/" + NewFileName; db.SaveChanges(); upload.SaveAs(Server.MapPath("~/Avatars/" + NewFileName)); } if (model.Name == null) { ModelState.AddModelError("Name", "Поле Имя обязательно к заполнению"); return View("AddData", model); } if (model.LastName == null) { ModelState.AddModelError("LastName", "Поле Фамилия обязательно к заполнению"); return View("AddData", model); } EditUser.BrithDay = model.BrithDay; EditUser.About = model.About; EditUser.City = model.City; EditUser.College = model.College; EditUser.Entertainment = model.Entertainment; EditUser.FavoriteBook = model.FavoriteBook; EditUser.FavoriteGames = model.FavoriteGames; EditUser.FavoriteKino = model.FavoriteKino; EditUser.FavoriteMusik = model.FavoriteMusik; EditUser.HPhone = model.HPhone; EditUser.Instagram = model.Instagram; EditUser.Institute = model.Institute; EditUser.Interesses = model.Interesses; EditUser.Job = model.Job; EditUser.LastName = model.LastName; EditUser.Name = model.Name; EditUser.Phone = model.Phone; EditUser.School = model.School; EditUser.Sex = model.Sex; EditUser.Skype = model.Skype; EditUser.Twitter = model.Twitter; EditUser.WebSite = model.WebSite; ViewBag.currentUser = EditUser; if (ModelState.IsValid) db.SaveChanges(); else { ModelState.AddModelError("BrithDay", "Введите дату корректно"); return View(model); } ViewBag.NotRead = HomeController.GetNotReadMessagesCount(); return RedirectToAction("Index", "Home"); }
public ActionResult Index() { //WebSecurity.Logout(); //return RedirectToAction("Login", "Account"); //WebSecurity.Logout(); ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application."; GetCurrentUser(); var EditUser = db.EmailModels .Where(c => c.UserProfile.UserId == WebSecurity.CurrentUserId) .FirstOrDefault(); ViewBag.EmailError = false; //if (!EditUser.IsConfirm) // ViewBag.EmailError = true; List<UserData> TempList = new List<UserData>(); TempList = db.UsersData.ToList(); ViewBag.Users = TempList; UserData model = new UserData(); for (int i = 0; i < TempList.Count; i++) { if (TempList[i].UserProfile.UserId == WebSecurity.CurrentUserId) { model = TempList[i]; break; } } //string model = "qwe"; //string s; //List<string> Names = new List<string>(); //StreamReader f = new StreamReader(@"E:\public\имя.txt"); //Random r = new Random(); //double sex = r.Next(10); //while ((s = f.ReadLine()) != null) //{ // Names.Add(s); //} //List<string> Mans = new List<string>(); //f = new StreamReader(@"E:\public\м.txt"); //while ((s = f.ReadLine()) != null) //{ // Mans.Add(s); //} //List<string> Womans = new List<string>(); //f = new StreamReader(@"E:\public\ж.txt"); //while ((s = f.ReadLine()) != null) //{ // Womans.Add(s); //} //List<string> Logins = new List<string>(); //f = new StreamReader(@"E:\public\logins.txt"); //while ((s = f.ReadLine()) != null) //{ // Logins.Add(s); //} //List<string> Jobs = new List<string>(); //f = new StreamReader(@"E:\public\место работы.txt"); //while ((s = f.ReadLine()) != null) //{ // Logins.Add(s); //} //List<string> Intst = new List<string>(); //f = new StreamReader(@"E:\public\универы.txt"); //while ((s = f.ReadLine()) != null) //{ // Logins.Add(s); //} //List<string> passwords = new List<string>(); // for (int j = 0; j < Logins.Count; j++) // { // if (WebSecurity.Login(TempList[55].UserProfile.UserName, Logins[j], false)) // { // passwords.Add(Logins[j]); // } // } //StreamWriter t = new StreamWriter(@"C:\1.txt"); //for (int k = 0; k < passwords.Count; k++) //{ // t.WriteLine(passwords[k]); //} //for (int i = 1; i < 34; i++) //{ // string Login = Logins[r.Next(Logins.Count)]; // string Password = Logins[r.Next(Logins.Count)]; // WebSecurity.CreateUserAndAccount(Login, Password); // bool logged = WebSecurity.Login(Login, Password); // if (logged) // { // //set auth cookie // // FormsAuthentication.SetAuthCookie(model.UserName, false); // } // UserProfile TempProfile = db.UserProfiles.Find(WebSecurity.GetUserId(Login)); // UserData CurrentUserDataModel = new UserData(TempProfile); // CurrentUserDataModel.City = "Минск"; // //if (sex % 2 == 0) // // { // CurrentUserDataModel.LastName = Names[r.Next(Names.Count)]+"ова"; // CurrentUserDataModel.Name = Womans[r.Next(Womans.Count)]; // // } // //else // //{ // // CurrentUserDataModel.LastName = Names[r.Next(Names.Count)]+"ова"; // // CurrentUserDataModel.Name = Womans[r.Next(Womans.Count)]; // //} // CurrentUserDataModel.School = "СШ №" + r.Next(1, 228); // DateTime q = new DateTime(r.Next(1976, 1998), r.Next(1, 12), r.Next(1, 27)); // CurrentUserDataModel.BrithDay = q; // CurrentUserDataModel.Phone = "+37529" + r.Next(1000010, 9999999); // // получаем имя файла // string fileName = (@"E:\public\ж\" + i + "ж.jpg"); // // сохраняем файл в папку Files в проекте // string Extention = System.IO.Path.GetExtension(fileName); // string NewFileName = Crypto.Hash(fileName); // NewFileName = NewFileName.Remove(0, 20); // NewFileName = NewFileName.ToLower(); // NewFileName += Extention; // try // { // System.IO.File.Copy(fileName, @"E:\public\MvcApplication29\MvcApplication29\Avatars\" + NewFileName); // } // catch // { // NewFileName = Crypto.Hash(fileName + DateTime.Now.ToLongDateString()); // NewFileName = NewFileName.Remove(0, 20); // NewFileName = NewFileName.ToLower(); // NewFileName += Extention; // System.IO.File.Copy(fileName, @"E:\public\MvcApplication29\MvcApplication29\Avatars\" + NewFileName); // } // //upload.SaveAs(Server.MapPath("~/Avatars/" + NewFileName)); // //System.IO.File.Delete(Server.MapPath(EditUser.AvatarUrl)); // CurrentUserDataModel.AvatarUrl = "/Avatars/" + NewFileName; // //upload.SaveAs(Server.MapPath("~/Avatars/" + NewFileName)); // CurrentUserDataModel.Skype = Logins[r.Next(Logins.Count)]; // db.UsersData.Add(CurrentUserDataModel); // db.SaveChanges(); // EmailModel e = new EmailModel(); // e.Email = Logins[r.Next(Logins.Count)] + "@mail.ru"; // e.IsConfirm = false; // e.Key = Crypto.SHA256(e.Email); // e.PasswordRecoverKey = Crypto.SHA256(e.Email + Password + Login); // e.UserProfile = TempProfile; // db.EmailModels.Add(e); // db.SaveChanges(); // } // //Man return View(model); }
public static int GetNotReadMessagesCount() { UsersContext db = new UsersContext(); List<Message> TempList = new List<Message>(); TempList = db.Messages.ToList(); List<Message> CurrentUserMessages = new List<Message>(); for (int i = 0; i < TempList.Count; i++) { if (TempList[i].UserGet.UserId == WebSecurity.CurrentUserId) CurrentUserMessages.Add(TempList[i]); } List<UserData> TempUserList = new List<UserData>(); TempUserList = db.UsersData.ToList(); UserData currentUser = new UserData(); for (int i = 0; i < TempList.Count; i++) { int q = WebSecurity.CurrentUserId; if (WebSecurity.CurrentUserId == TempUserList[i].UserProfile.UserId) { currentUser = TempUserList[i]; break; } } List<Message> DialogList = new List<Message>(); // Получаем id пользователей с которыми у нас были диалоги List<int> MessageUsersFirstList = new List<int>(); for (int i = 0; i < TempList.Count; i++) { int q = WebSecurity.CurrentUserId; if (TempList[i].UserGet.UserId == WebSecurity.CurrentUserId) MessageUsersFirstList.Add(TempList[i].UserPost.UserId); if (TempList[i].UserPost.UserId == WebSecurity.CurrentUserId) MessageUsersFirstList.Add(TempList[i].UserGet.UserId); } // удаляем повторяющиеся List<int> MessageUsersSecondList = new List<int>(MessageUsersFirstList.Distinct()); // Находим последниии сообщения диалогов // формируем список диалогов for (int i = 0; i < MessageUsersSecondList.Count; i++) { for (int j = TempList.Count - 1; j > 0; j--) { if ((MessageUsersSecondList[i] == TempList[j].UserGet.UserId && TempList[j].UserPost.UserId == WebSecurity.CurrentUserId) || (MessageUsersSecondList[i] == TempList[j].UserPost.UserId && TempList[j].UserGet.UserId == WebSecurity.CurrentUserId)) { DialogList.Add(TempList[j]); break; } } } // ViewBag.DialogList = DialogList; List<MessageModel> NewDialogList = new List<MessageModel>(); for (int i = 0; i < DialogList.Count; i++) { UserData UserInfo = new UserData(); MessageModel tempMessageModel = new MessageModel(); tempMessageModel.Message = DialogList[i]; if (DialogList[i].UserGet.UserId == WebSecurity.CurrentUserId) { int FindUserId = (int)DialogList[i].UserPost.UserId; UserInfo = db.UsersData .Where(c => c.UserProfile.UserId == FindUserId) .FirstOrDefault(); tempMessageModel.UserData = UserInfo; } if (DialogList[i].UserPost.UserId == WebSecurity.CurrentUserId) { int FindUserId = (int)DialogList[i].UserGet.UserId; UserInfo = db.UsersData .Where(c => c.UserProfile.UserId == FindUserId) .FirstOrDefault(); tempMessageModel.UserData = UserInfo; } NewDialogList.Add(tempMessageModel); } int NotReadMessagesCount = 0; for (int i = 0; i < NewDialogList.Count; i++) { if (NewDialogList[i].Message.IsRead == false && NewDialogList[i].Message.UserGet.UserId == WebSecurity.CurrentUserId) NotReadMessagesCount++; } return NotReadMessagesCount; }
public ActionResult AvatarChanget() { GetCurrentUser(); List<UserData> TempList = new List<UserData>(); TempList = db.UsersData.ToList(); ViewBag.Users = TempList; UserData model = new UserData(); for (int i = 0; i < TempList.Count; i++) { if (TempList[i].UserProfile.UserId == WebSecurity.CurrentUserId) { model = TempList[i]; break; } } return View(model); }