Beispiel #1
0
        //
        // 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);
        }
Beispiel #2
0
        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;

        }
Beispiel #3
0
 //
 // 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);
 }
Beispiel #4
0
        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);
        }
Beispiel #5
0
 public RequestFrendsModel( UserData User, int Id)
 {
     this.User = User;
     RequestId = Id;
 }
Beispiel #6
0
        //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();
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        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);
        }
Beispiel #9
0
        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);
        }
Beispiel #10
0
        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");
        }
Beispiel #11
0
        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);
        }
Beispiel #12
0
        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;

        }
Beispiel #13
0
 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);
 }