/// <summary> /// Ищет по разным параметрам /// </summary> /// <param name="name">Имя </param> /// <param name="lastname">Фамилия</param> /// <param name="mixage">мн возраст</param> /// <param name="maxage">макс возраст</param> /// <param name="email">почта </param> /// <param name="adress">адресс</param> /// <returns></returns> public ActionResult ShowResultSearch(string name, string lastname, int?minage, int?maxage, string email, string adress) { using (Soc_NetWorkCF db = new Soc_NetWorkCF()) // подключение а бд { if (minage < 0) { minage = 0; // если возраст пришел меньше нуля } if (maxage < 0) { maxage = 0; } if (maxage < minage) // если возраст мах < min { int?tmp = maxage; // меняем местанм maxage = minage; minage = tmp; } var userInfo = db.UserInfo // выбрать всех где .Where(x => (x.Firstname == name) || // совпадает имя (x.Lastname == lastname) || // или фамилия (x.Age >= minage && x.Age <= maxage) || // или возоатс (x.Email == email) || // почта (x.Adress == adress)); // адресс return(PartialView("ShowResultSearchForLogin", userInfo.ToList())); // в виде списка передаем во вью } }
public ActionResult UpRoles(int?id) { using (Soc_NetWorkCF db = new Soc_NetWorkCF()) // создаем подключение { if (id == null) // если такого пользователя нет { ViewBag.Error = "Такого пользователя нет"; return(Redirect("~/home/Error"));//то плохо } var userrole = db.Logins.FirstOrDefault(x => x.ID == id);// плучаем логитн с роли if (userrole == null) { ViewBag.Error = "Такого пользователя нет"; return(Redirect("~/home/Error"));//то плохо } int?idRoles = userrole.RoleUser; // получаем ID роли пользователя if (idRoles == 1 || idRoles == null) { ViewBag.Error = "У пользователя нет роли или он уже админ"; return(Redirect("~/home/Error"));//то плохо } db.Logins.FirstOrDefault(x => x.ID == id).RoleUser--; // увеличиваем роль db.SaveChanges(); //сохраним изменния } return(RedirectToAction("Details", new { id = id })); }
/// <summary> /// Выводит список друзхей пользователя /// </summary> /// <returns></returns> public ActionResult Index() { using (Soc_NetWorkCF db = new Soc_NetWorkCF()) //создает подключение пользователя { Logins tmpLogin = db.Logins.FirstOrDefault(x => x.LoginUser == User.Identity.Name); //находим по id польховтаеля int? userID = tmpLogin.ID; // передеем ID // получаем список всех пользовтелей из списка друзей пользователя по ID var userListFriend = db.UserListFriend.Include(u => u.Logins).Include(u => u.UserFriends) .Where(x => x.UserFrinds == userID); List <UserInfo> ListInfoFriend = new List <UserInfo>(); // новый список для передачи во вью var userInfo = db.UserInfo; // получаем всех пользователей из базы foreach (var item in userListFriend) { ListInfoFriend.Add(userInfo.First(x => x.ID == item.IdFriend)); //добавляем в список } ViewBag.ReqFrnd = RequestFriend(userID); // передаем во вью спиоск запросов на дружбу ViewBag.MyReqFrnd = MyRequestFriend(userID); // передаем во вью запросов пользоваптелдя на дружбу return(View(ListInfoFriend)); // возращаем список } }
/// <summary> /// Получаем информавцию о пользовтале /// </summary> /// <param name="id">Id пользователя</param> /// <returns></returns> public ActionResult Details(int?id) { using (Soc_NetWorkCF db = new Soc_NetWorkCF()) // создаем подключение { if (id == null) // если такого пользователя нет { return(Redirect("~/home/Error")); //то плохо } UserInfo userInfo = db.UserInfo.Find(id);// находим по ID if (userInfo == null) { return(Redirect("~/home/Error"));//то плохо } Logins logTmp = db.Logins.Find(id); if (logTmp.LoginUser == User.Identity.Name) // при попытки перейти на самого себя { return(Redirect("~/home/Error")); //то плохо } ViewBag.ID = ReturnRoleID(id); return(View(userInfo));// возращаем пользователя } }
public ActionResult DeletePhoto(int?id) { string path; // путь до файла if (id == null) // если пусто { return(Redirect("~/home/Error")); //то плохо } using (Soc_NetWorkCF db = new Soc_NetWorkCF()) // создаем подклюение к базе { UserInfo tmp = db.UserInfo.FirstOrDefault(x => x.ID == id); // находим по ID string Name = tmp.ImageUser; // записываем имя файла db.UserInfo.Find(id).ImageUser = null; // записываем адрес db.SaveChanges(); // сохраним изменения path = @"~/image/" + Name; // путь дляудаления } FileInfo fileInf = new FileInfo(path); // передем путь лежит фото if (fileInf.Exists) { fileInf.Delete();//удаляем фото } return(RedirectToAction("Details")); // переходит на закрытй метод для пользовтелей не вошедших }
/// <summary> /// Актион выводит на страницу всю информацию о пользователе /// </summary> /// <returns></returns> public ActionResult Details() { string LoginName = User.Identity.Name; // достаем имя int? id; // для определение по ID UserInfo infoAboutUser; // пересенная для хранения информации пользователе using (Soc_NetWorkCF db = new Soc_NetWorkCF()) // поключаемся бд { Logins tmp = db.Logins.FirstOrDefault(x => x.LoginUser == LoginName); //находим по id польховтаеля id = tmp.ID; // передеем ID if (id == null) // если такого пользователя нет { return(Redirect("~/home/Error")); //то плохо } infoAboutUser = db.UserInfo.Find(id); // в базе ищем инфу по ID if (infoAboutUser == null) // если пустой { return(Redirect("~/home/Error")); //то плохо } } return(View(infoAboutUser)); // возращаем вью с инфой по пользователю }
/// <summary> /// Отправляет сообщение /// </summary> /// <param name="catcher">ID получателя</param> /// <param name="text">Текст сообщения</param> /// <returns></returns> public ActionResult PostMessege(int?catcher, string text) { int?userID; // ID юзера using (Soc_NetWorkCF db = new Soc_NetWorkCF()) // подключение { Logins tmpLogin = db.Logins.FirstOrDefault(x => x.LoginUser == User.Identity.Name); //находим по id польховтаеля userID = tmpLogin.ID; // передеем ID } if (catcher == null) // если нету { return(RedirectToAction("Error", "Home")); // то плохо } string texttmp = Zamena(text); // проверка на плохие слова using (Soc_NetWorkEntitiesProc db = new Soc_NetWorkEntitiesProc()) // создаем подключение к бд { db.SendMessage(userID, catcher, texttmp, DateTime.Now); // вызываем хранимую процеуру } List <Chat> tmpChat = ReturnChat(catcher); // получаем и переписку return(PartialView("ChatMessege", tmpChat)); // перенаправляем на переписку }
public ActionResult Logon(Logon model) { if (ModelState.IsValid) { // поиск пользователя в бд Logins user = null; //пустая модель для записи using (Soc_NetWorkCF db = new Soc_NetWorkCF()) // открываем контекст { // если есть совпадения по паролю и логину user = db.Logins.FirstOrDefault(u => u.LoginUser == model.LoginUser && u.PasswordUser == model.PasswordUser); } if (user != null) // если было { FormsAuthentication.SetAuthCookie(model.LoginUser, true); /// авторизация через куки return(RedirectToAction("Index", "Home")); } else { ViewBag.Error = "Пользователя с таким логином и паролем нет"; // передает ошибку во вью } } return(View(model)); // возращает модель }
// GET: api/UserInfoes public IQueryable <UserInfo> GetUserInfo() { using (Soc_NetWorkCF db = new Soc_NetWorkCF()) { return(db.UserInfo); } }
/// <summary> /// Показывает информацию о пользовтале /// </summary> /// <param name="id">Id пользователя</param> /// <returns></returns> public ActionResult Details(int?id) { if (id == null) // если такого пользователя нет { return(Redirect("~/home/Error")); //то плохо } UserInfo userInfo; // переменная для информации о пользователя using (Soc_NetWorkCF db = new Soc_NetWorkCF()) // подключение { userInfo = db.UserInfo.Find(id); // находим по ID if (userInfo == null) // если пустой { return(Redirect("~/home/Error")); //то плохо } // временнеая переменная для хранения информации по пользовтаеля кто ищет UserInfo tmp = db.UserInfo.FirstOrDefault(x => x.Logins.LoginUser == User.Identity.Name); if (tmp.ID == id) // если открываем страницу нв себя { return(RedirectToAction("Details", "MyPage")); // перенаправляем } ViewBag.Friend = Friend(id); // является ли пользователь другом переити на методы ViewBag.MyReqFrnd = MyReqFriend(id); // есть ли запрос от потзователя ViewBag.ReqFrnd = ReqFriend(id); // есть ли запрос от другого потзователя } return(View(userInfo)); }
/// <summary> ////Выводит список всех плохих слов /// </summary> /// <returns></returns> public ActionResult Index() { using (Soc_NetWorkCF db = new Soc_NetWorkCF()) { return(View(db.BadWord.ToList())); } }
/// <summary> ////Выводит всех пользователей /// </summary> /// <returns></returns> public ActionResult Index() { using (Soc_NetWorkCF db = new Soc_NetWorkCF()) //подключение { var userInfo = db.UserInfo.Include(u => u.Logins); // получаем по всех пользователей return(View(userInfo.ToList())); } }
/// <summary> /// возращает ID роли ползователя /// </summary> /// <param name="iduser">ID пользователя</param> /// <returns></returns> public static int?ReturnRoleID(int?iduser) { using (Soc_NetWorkCF db = new Soc_NetWorkCF()) // подключение { Logins tmp = db.Logins.FirstOrDefault(x => x.ID == iduser); // получаем логин int? idroles = tmp.Roles.ID; // возращаем ID return(idroles); // возращает ID роли } }
public ActionResult Edit([Bind(Include = "ID,word")] BadWord badWord) { using (Soc_NetWorkCF db = new Soc_NetWorkCF()) { if (ModelState.IsValid) { db.Entry(badWord).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(badWord)); } }
public IHttpActionResult GetUserInfo(int id) { using (Soc_NetWorkCF db = new Soc_NetWorkCF()) { UserInfo userInfo = db.UserInfo.Find(id); if (userInfo == null) { return(NotFound()); } return(Ok(userInfo)); } }
public ActionResult Create(BadWord badWord) { using (Soc_NetWorkCF db = new Soc_NetWorkCF()) //создаем подключение { if (ModelState.IsValid) // провекра на валидность { db.BadWord.Add(badWord); // добавить слово db.SaveChanges(); // сохраним изменинеия return(RedirectToAction("Index")); } return(View(badWord)); } }
/// <summary> /// Ищет по логину пользовтеля /// </summary> /// <param name="login">логин пользователя</param> /// <returns></returns> public ActionResult ShowResultSearchForLogin(string login) { if (login == "" || login == null) // если не путстое { return(PartialView("ShowResultSearchForLogin", null)); } using (Soc_NetWorkCF db = new Soc_NetWorkCF()) // подключение а бд { var userInfo = db.UserInfo.Include(u => u.Logins) .Where(x => x.Logins.LoginUser == login); // записываем в переменную если совпадает по логину return(PartialView("ShowResultSearchForLogin", userInfo.ToList())); // в виде списка передаем во вью } }
/// <summary> /// Метод повеяет на наличие плохих слов /// </summary> /// <param name="str">строку для повеки</param> /// <returns>Возращает чистую строку</returns> public string Zamena(string str) { using (Soc_NetWorkCF db = new Soc_NetWorkCF()) // создаем подключение { var BadWords = db.BadWord; // получаем с базы все плохие слова foreach (var item in BadWords) // перебираем коллекцию { str = Regex.Replace(str, item.word, "***"); // ну собственно замена } return(str); // вернм правление слова } }
/// <summary> /// Отменяет запрос на дружбу /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult CanselReqFriend(int?id) { using (Soc_NetWorkCF db = new Soc_NetWorkCF()) { int? userID; Logins tmpLogin = db.Logins.FirstOrDefault(x => x.LoginUser == User.Identity.Name); //находим по id польховтаеля userID = tmpLogin.ID; // передеем ID using (Soc_NetWorkEntitiesProc proc = new Soc_NetWorkEntitiesProc()) { proc.DeleteFriendRequest(id, userID);// вызываем процекдуры из бд добавление нового друга } return(RedirectToAction("Details", new { @id = id }));// возращаем список } }
public ActionResult UpLoad(HttpPostedFileBase uploaded, int?id) { if (id == null) // если пусто { return(Redirect("~/home/Error")); //то плохо } var uploadd = Request.Files["uploaded"]; var contentLenght = uploadd.ContentLength; // установим длину файла var contentContent = uploadd.ContentType; // типа файла var fileName = uploadd.FileName; // имя для файла var inputStream = uploadd.InputStream; // поток записи на сервер string ext; // переменная для рассширения try // на слчай еслии не был выбюран файл для загрузки { FileInfo fi = new FileInfo(fileName); // создаем объект фаил инфо ext = fi.Extension; // получаем расшитерние файла } catch //(ArgumentException ex) { return(Redirect("~/home/Error")); //то плохо } string Name = User.Identity.Name + ext; // назвнеи файла фотмар можно переделать string path = @"~\image\" + Name; // путь // string path = @"D:\SocialNetWork\SocialNetWorkv1.0\SocialNetWorkv1.0\Image" + Name; // путь try { uploaded.SaveAs(path); // записываем файл на сервер } catch { Name = @"no_photo.jpg"; // путь с фото без авы } using (Soc_NetWorkCF db = new Soc_NetWorkCF()) // создаем подклюение к базе { db.UserInfo.Find(id).ImageUser = Name; // записываем адрес db.SaveChanges(); // сохраним изменения } return(RedirectToAction("Details")); // переходит на закрытй метод для пользовтелей не вошедших }
public ActionResult EditPhoto() { string Name = User.Identity.Name; // записываем имя пользоватлея UserInfo userinfo; // переменная для модели using (Soc_NetWorkCF db = new Soc_NetWorkCF()) { userinfo = db.UserInfo.FirstOrDefault(x => x.Logins.LoginUser == Name); // ищеи модель по имени пользователя if (userinfo == null) { return(Redirect("~/home/Error"));//то плохо } return(View(userinfo)); } }
/// <summary> /// Удаляет друга /// </summary> /// <param name="id">ID друга</param> /// <returns></returns> public ActionResult DeleteFriend(int?id) { int?userID; using (Soc_NetWorkCF db = new Soc_NetWorkCF()) //создает подключение пользователя { Logins tmpLogin = db.Logins.FirstOrDefault(x => x.LoginUser == User.Identity.Name); //находим по id польховтаеля userID = tmpLogin.ID; // передеем ID } using (Soc_NetWorkEntitiesProc db = new Soc_NetWorkEntitiesProc()) { db.DeleteListFriens(userID, id); } return(RedirectToAction("Details", new { @id = id }));// возращаем список }
/// <summary> /// показывает переписки с пользовтаелем по ID /// </summary> /// <param name="id">ID собеседника</param> /// <returns></returns> public ActionResult Details(int?id) { if (id == null) // если нету { return(RedirectToAction("Error", "Home")); // то плохо } List <Chat> tmpChat = ReturnChat(id); // получаем и переписку using (Soc_NetWorkCF db = new Soc_NetWorkCF()) { ViewBag.ID = id; // передаем id во ВЬЮ var userName = db.Logins.Find(id); ViewBag.Name = userName.LoginUser; // передаем логин во вью return(View(tmpChat)); //передаем список моделйц во вью } }
/// <summary> /// Метод выводит список переписок пользоывателя /// </summary> /// <returns></returns> public ActionResult Index() { using (Soc_NetWorkCF db = new Soc_NetWorkCF()) // создаем подклбючение { Logins tmpLogin = db.Logins.FirstOrDefault(x => x.LoginUser == User.Identity.Name); //находим по id польховтаеля int? userID = tmpLogin.ID; // передеем ID // получаем список всех пользовтелей из списка друзей пользователя по ID var UserMess = db.UserMessege // выбираем из таблии сообщений .Include(u => u.Logins) // таблицы с длогинами .Include(u => u.Logins1) .Where(x => x.IDrSender == userID || x.IDCatcher == userID); // где отправитель или получатель пользователь UserMess.OrderByDescending(x => x.SendTime); // сортируем по времени List <HerderChat> Listtmp = new List <HerderChat>(); // создаем список диалогов foreach (var item in UserMess) // проходимся по колеекции { HerderChat tmp = new HerderChat(); // создаем объект переписки(сообщения) if (item.IDCatcher == userID) // если получатель пользователь { tmp.ID = item.IDrSender; // записывваем ID и Логин tmp.Login = item.Logins1.LoginUser; } else // если отправиьель пользователь { tmp.ID = item.IDCatcher; tmp.Login = item.Logins.LoginUser; tmp.SenderFlag = true; // установим флаг рассветки страницы по цвета отправитель получатель } tmp.LastMassege = item.MessageText; // записывает текс Listtmp.Add(tmp); // добавляем в коллецию } //групируем и выбираем послдений для заголовков var GroupListtmp = Listtmp.GroupBy(x => x.ID).Select(y => y.Last()); return(View(GroupListtmp.ToList()));// предеем во вью } }
/// <summary> /// Метод мвозращае переписку с пользовтелм /// </summary> /// <param name="id">ID собеседника</param> /// <returns></returns> public List <Chat> ReturnChat(int?id) { using (Soc_NetWorkCF db = new Soc_NetWorkCF()) { Logins tmpLogin = db.Logins.FirstOrDefault(x => x.LoginUser == User.Identity.Name); //находим по id польховтаеля int? userID = tmpLogin.ID; // передеем ID // получаем список всех пользовтелей из списка друзей пользователя по ID var UserMess = db.UserMessege // выбираем из таблии сообщений .Include(u => u.Logins) // таблицы с длогинами .Include(u => u.Logins1) // где отправитель пользотватель и получатель по ID или наоборот .Where(x => x.IDrSender == userID && x.IDCatcher == id || x.IDCatcher == userID && x.IDrSender == id); UserMess.OrderByDescending(x => x.SendTime); // сортируем по времени List <Chat> ListTmp = new List <Chat>(); // оздаем объект для хранения переписки всех foreach (var item in UserMess) // перебираем список { Chat tmp = new Chat(); // создаем временный отчет if (item.IDCatcher == userID) // если от получатель пользователь { tmp.ID = item.IDrSender; // записываем данные tmp.Login = item.Logins1.LoginUser; } else // если пользовтель отрпаввитель { tmp.ID = item.IDCatcher; tmp.Login = item.Logins.LoginUser; tmp.SenderFlag = true; // установим флаг рассветки страницы по цвета отправитель получатель } tmp.Text = item.MessageText; // записываем текст tmp.SendTime = item.SendTime; // записываем время ListTmp.Add(tmp); //добавляем в список } return(ListTmp); } }
/// <summary> /// Выводит список запросов в друзья у пользовтаеля /// </summary> /// <param name="ID">I пользовтеля</param> /// <returns></returns> public List <UserInfo> RequestFriend(int?ID) { using (Soc_NetWorkCF db = new Soc_NetWorkCF()) { // получаем список всех пользовтелей из списка друзей пользователя по ID var userListFriend = db.FriendRequest.Where(x => x.FriendID == ID); var userInfo = db.UserInfo; // получаем всех пользователей из базы List <UserInfo> ListInfoFriend = new List <UserInfo>(); // новый список для передачи во вью foreach (var item in userListFriend) { ListInfoFriend.Add(userInfo.First(x => x.ID == item.UserID)); //добавляем список } return(ListInfoFriend); } }
/// <summary> /// удаляет плохое слово /// </summary> /// <param name="id">id слова</param> /// <returns></returns> public ActionResult Delete(int?id) { using (Soc_NetWorkCF db = new Soc_NetWorkCF()) { if (id == null) // если нет пенреданного id { ViewBag.Error = "Такого пользователя нет"; return(Redirect("~/home/Error"));//то плохом } BadWord badWord = db.BadWord.Find(id); // ищем по id плохое слова в базе if (badWord == null) // если не находим { return(Redirect("~/home/Error")); //то плохом } return(View(badWord)); } }
/// <summary> /// Редактировать информацию о пользователе /// </summary> /// <param name="id"> ID Пользователя</param> /// <returns></returns> public ActionResult Edit(int?id) { if (id == null) // если пусто { return(Redirect("~/home/Error")); //то плохо } using (Soc_NetWorkCF db = new Soc_NetWorkCF()) { UserInfo userInfo = db.UserInfo.Find(id);// им=щим по ID if (userInfo == null) { return(Redirect("~/home/Error"));//то плохо } ViewBag.ID = new SelectList(db.Logins, "ID", "LoginUser", userInfo.ID); // передаем id пользовтаеля return(View(userInfo)); // передеа во вью модель } }
/// <summary> /// Редактирования плохого слова /// </summary> /// <param name="id"> ID плохого слова</param> /// <returns></returns> public ActionResult Edit(int?id) { using (Soc_NetWorkCF db = new Soc_NetWorkCF()) { if (id == null) { ViewBag.Error = "Такого пользователя нет"; return(Redirect("~/home/Error"));//то плохо } BadWord badWord = db.BadWord.Find(id); if (badWord == null)// если нет то плоха { ViewBag.Error = "Такого пользователя нет"; return(Redirect("~/home/Error"));//то плохо } return(View(badWord)); } }
public ActionResult Registration(Registrete reg) { // констект хранимых процедур using (App_Data.Soc_NetWorkEntitiesProc pro = new App_Data.Soc_NetWorkEntitiesProc()) { //подключаем конткст бд using (Soc_NetWorkCF db = new Soc_NetWorkCF()) { if (db.Logins.Any(x => x.LoginUser == reg.Login)) // если уже есть в базхе такой логин { ViewBag.Error = "Такой логин уже есть"; // для вывода сообщения обшиьке на странице return(View(reg)); // возращает модель на исправление } int maxID = db.Logins.Max(x => x.ID); // записываем максимальное значени maxID++; // увеличиваем ID pro.AddUser(reg.Login, reg.Password, maxID); } } return(RedirectToAction("Logon")); //перехордит на страицу входа }