//Добавляем нового пользователя в базу public void AddUser(string connectionString, string sql, _Readership reader) { using (SqlConnection connection = new SqlConnection(ConnectionStrings.DBQuery)) { using (SqlCommand cmd = new SqlCommand(sql, connection)) { try { connection.Open(); cmd.Parameters.AddWithValue("@Login", reader.Login); cmd.Parameters.AddWithValue("@Email", reader.Email); cmd.Parameters.AddWithValue("@AuthKey", reader.CookieVal); cmd.ExecuteNonQuery(); } catch (Exception ex) { System.IO.StreamWriter writer = new System.IO.StreamWriter(Server.MapPath("~/App_Data/ErrorLogDataBase.txt"), true); writer.WriteLine(string.Format("Date : " + DateTime.Now.ToString() + " Error : " + ex.Message)); writer.Close(); } } } }
//Получаем всех зарегистрированных пользователей List <_Readership> GetAllUser() { listReaders = new List <_Readership>(); using (SqlConnection connection = new SqlConnection(ConnectionStrings.DBQuery)) { try { SqlCommand command = new SqlCommand(string.Format("Select *From Readership Where BookId != '-1'"), connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { readership = new _Readership(); readership.Login = reader[0].ToString(); readership.Email = reader[1].ToString(); readership.CookieVal = reader[2].ToString(); readership.BookId = int.Parse(reader[3].ToString()); listReaders.Add(readership); } reader.Close(); return(listReaders); } catch (Exception ex) { System.IO.StreamWriter writer = new System.IO.StreamWriter(Server.MapPath("~/App_Data/ErrorLogDataBase.txt"), true); writer.WriteLine(string.Format("Date : " + DateTime.Now.ToString() + " Error : " + ex.Message)); writer.Close(); return(null); } } }
//Получить взятые книги public BooksContainer TakenBooks(_Readership reader) { if (HttpContext.Request.Cookies["_AUTH"] != null) { reader = GetUserData(HttpContext.Request.Cookies["_AUTH"].Value.ToString()); ViewBag.IsBook = readership.BookId; booksContainer = BooksReading(); foreach (_Book book in booksContainer) { if (book.Id == reader.BookId) { return(new BooksContainer().Add(book)); } } } //Для админа отобразим книги, находящиеся в данное время "на руках" else if (HttpContext.Request.Cookies["_ADM"] != null) { reader = GetUserData(HttpContext.Request.Cookies["_AUTH"].Value.ToString()); booksContainer = BooksReading(); foreach (_Book book in booksContainer) { if (book.Id == reader.BookId) { return(new BooksContainer().Add(book)); } } } return(null); }
public ActionResult Index(string selectionBook, string returnBook) { readership = GetUserData(HttpContext.Request.Cookies["_AUTH"].Value.ToString()); sender = new Sender(); int id; if (selectionBook != null) { id = int.Parse(selectionBook); DecrementSelected(int.Parse(selectionBook)); BooksReading(); BooksContainer tempVar = new BooksContainer(booksContainer.GetAccount()); AddBooksToTheUser(id); history.AddBooksHistory(id, readership); ViewBag.IsBook = id; sender.SendMail(readership.Email); return(View(tempVar)); } else if (returnBook != null) { //Возвращаем книгу - устанавливаем у юзера id-книги // в "-1" id = int.Parse(returnBook); AddBooksToTheUser(-1); SetAvailable(id); history.BooksReturn(readership); ViewBag.IsBook = -1; BooksReading(); BooksContainer tempVar = new BooksContainer(booksContainer.GetAccount()); return(View(tempVar)); } return(View()); }
//Взял ли пользователь книгу, //если нет, значение id будет "-1" _Readership GetUserData(string userKey) { readership = new _Readership(); using (SqlConnection connection = new SqlConnection(ConnectionStrings.DBQuery)) { try { SqlCommand command = new SqlCommand(string.Format("Select *From Readership Where AuthKey = '{0}'", userKey), connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); reader.Read(); readership.Login = reader[0].ToString(); readership.Email = reader[1].ToString(); readership.CookieVal = userKey; readership.BookId = int.Parse(reader[3].ToString()); // 3-м от нуля будет id-книги взятой пользователем int id = int.Parse(reader[3].ToString()); reader.Close(); return(readership); } catch (Exception ex) { System.IO.StreamWriter writer = new System.IO.StreamWriter(Server.MapPath("~/App_Data/ErrorLogDataBase.txt"), true); writer.WriteLine(string.Format("Date : " + DateTime.Now.ToString() + " Error : " + ex.Message)); writer.Close(); return(null); } } }
//Взял ли пользователь книгу, //если нет, значение id будет "-1" _Readership GetUserData(string userKey) { readership = new _Readership(); using (SqlConnection connection = new SqlConnection(ConnectionStrings.DBQuery)) { try { SqlCommand command = new SqlCommand(string.Format("Select *From Readership Where AuthKey = '{0}'", userKey), connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); reader.Read(); readership.Login = reader[0].ToString(); readership.Email = reader[1].ToString(); readership.CookieVal = userKey; readership.BookId = int.Parse(reader[3].ToString()); // 3-м от нуля будет id-книги взятой пользователем int id = int.Parse(reader[3].ToString()); reader.Close(); return(readership); } catch (Exception ex) { Console.WriteLine(ex.Message); return(null); } } }
public ActionResult RegForm(_Readership reader) { reader.CookieVal = _setCook.CookieGet().Value.ToString(); Session["userKey"] = reader.CookieVal; HttpContext.Response.Cookies.Add(_setCook.CookieGet()); AddUser(CONNECTION_STRING, SQL_QUERY, reader); // return View(); return(RedirectToAction("Index", "Home")); }
//Получить взятые книги public BooksContainer TakenBooks(_Readership reader) { reader = GetUserData(HttpContext.Request.Cookies["_AUTH"].Value.ToString()); booksContainer = BooksReading(); foreach (_Book book in booksContainer) { if (book.Id == reader.BookId) { return(new BooksContainer().Add(book)); } } return(null); }
public ViewResult Index() { //Определяем, зарегистрирован ли пользователь, //и если да, то узнаем брал ли он книгу if (HttpContext.Request.Cookies["_AUTH"] != null) { readership = GetUserData(HttpContext.Request.Cookies["_AUTH"].Value.ToString()); ViewBag.IsBook = readership.BookId; } BooksReading(); BooksContainer tempVar = new BooksContainer(booksContainer.GetAccount()); return(View(tempVar)); }
// if (Request.Cookies["_AUTH"] == null) // { // Response.Cookies.Add(cookie); // Session["UserKey"] = cookie.Value; // uData.CookieValue = Session["UserKey"].ToString(); // return View(); // } // else // { // Session["UserKey"] = Request.Cookies["_AUTH"].Value; // return View(); //} public void AddUser(string connectionString, string sql, _Readership reader) { using (SqlConnection connection = new SqlConnection(connectionString)) { using (SqlCommand cmd = new SqlCommand(sql, connection)) { connection.Open(); cmd.Parameters.AddWithValue("@Login", reader.Login); cmd.Parameters.AddWithValue("@Email", reader.Email); //if (reader.BookName != null) // cmd.Parameters.AddWithValue("@BookName", reader.BookName); cmd.Parameters.AddWithValue("@AuthKey", reader.CookieVal); cmd.ExecuteNonQuery(); } } }
public ActionResult Index() { //Определяем, зарегистрирован ли пользователь, //и если да, то узнаем брал ли он книгу if (HttpContext.Request.Cookies["_AUTH"] != null) { readership = GetUserData(HttpContext.Request.Cookies["_AUTH"].Value.ToString()); ViewBag.IsBook = readership.BookId; IsAuthenticate = true; } else if (HttpContext.Request.Cookies["_ADM"] != null) { return(RedirectToAction("IndexAdm", "Admin")); } BooksReading(); BooksContainer tempVar = new BooksContainer(booksContainer.GetAccount()); return(View(tempVar)); }
public ActionResult RegForm(_Readership reader) { if (ModelState.IsValid) { //Не админ ли?_______ if (reader.Login == AdminData.Name && reader.Email == AdminData.Email) { HomeController.IsAuthenticate = true; reader.CookieVal = AdminData.CookieVal; var cookie = new HttpCookie("_ADM") { Value = AdminData.CookieVal, Expires = DateTime.Now.AddYears(1) }; HttpContext.Response.Cookies.Add(cookie); return(RedirectToAction("IndexAdm", "Admin")); } //____________________ else if (SearchSameUser(reader)) { HomeController.IsAuthenticate = true; return(RedirectToAction("Index", "Home")); } else { HomeController.IsAuthenticate = true; reader.CookieVal = _setCook.CookieGet().Value.ToString(); Session["userKey"] = reader.CookieVal; HttpContext.Response.Cookies.Add(_setCook.CookieGet()); AddUser(ConnectionStrings.DBQuery, ConnectionStrings.AddNewReader, reader); return(RedirectToAction("Index", "Home")); } } else { //Даем возможность клиенту прочитать сообщение валидатора //и опять возвращаем ему форму регистрации Thread.Sleep(5000); return(View()); } }
//Ищем в базе юзера с такими же данными bool SearchSameUser(_Readership readerShip) { using (SqlConnection connection = new SqlConnection(ConnectionStrings.DBQuery)) { SqlCommand command = new SqlCommand(ConnectionStrings.UsersQuery, connection); try { connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { if (readerShip.Login == reader[0].ToString().Trim() && readerShip.Email == reader[1].ToString().Trim()) { //Если данные совпадают - возвращаем пользователю ранее установленные куки HttpContext.Response.Cookies.Add(new HttpCookie("_AUTH") { Value = reader[2].ToString().Trim(), Expires = DateTime.Now.AddYears(1) }); reader.Close(); return(true); } } reader.Close(); return(false); } catch (Exception ex) { System.IO.StreamWriter writer = new System.IO.StreamWriter(Server.MapPath("~/App_Data/ErrorLogDataBase.txt"), true); writer.WriteLine(string.Format("Date : " + DateTime.Now.ToString() + " Error : " + ex.Message)); writer.Close(); return(false); } } }