/* * Метод возвращает имя функции поставленой задачи пользователю с ником login. * Входные параметры: * строка с логином пользователя. * Выходные параметры: * строка с именем функции. Если ошибка, то строка равна null. */ public string getFunc(string login) { try { Models.DatabaseMediator db = new Models.DatabaseMediator(System.Web.HttpContext.Current.Server.MapPath("~"));//обращаемся к базе Models.User u = db.getUserByLogin(login); Models.Task t = u.getTask(); return(t.getFunctionName()); } catch (Exception) { return(null); } }
/* * Метод возвращает идентификатор пользователя с ником login, если ему была поставлена задача. * Входные параметры: * строка с логином пользователя. * Выходные параметры: * строка с идентификатором пользователя. Если ошибка, то строка равна null. */ public string getUserIdWithTask(string login) { try { Models.DatabaseMediator db = new Models.DatabaseMediator(System.Web.HttpContext.Current.Server.MapPath("~"));//обращаемся к базе Models.User u = db.getUserByLogin(login); if (u.getTask() != null) { return(u.getId().ToString()); } else { return(null); } } catch (Exception) { return(null); } }
public ActionResult Login(string username, string password) { try { SHA256Managed hash = new SHA256Managed(); byte[] hashBytes = hash.ComputeHash(Encoding.UTF8.GetBytes(username + password)); string hashStr = BitConverter.ToString(hashBytes).Replace("-", ""); System.IO.StreamReader file = new System.IO.StreamReader(new FileStream(System.Web.HttpContext.Current.Server.MapPath("~/App_Data/Users.txt"), FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)); string line; while ((line = file.ReadLine()) != null) { if (line != "") { string[] logins = line.Split(' '); if (hashStr == logins[1]) { Models.DatabaseMediator db = new Models.DatabaseMediator(System.Web.HttpContext.Current.Server.MapPath("~"));//обращаемся к базе Models.User u = db.getUserByLogin(logins[0]); db.setUserLastActivity(u.getId(), DateTime.UtcNow); System.Web.HttpContext.Current.Session["user_id"] = u.getId(); //выцыганиваем id из базы HttpContext.Response.Cookies["user"].Value = "id=" + u.getId().ToString(); db.close(); //закрыли базу FormsAuthentication.SetAuthCookie(username, false); HttpContext.Response.Cookies["login"].Value = username; System.IO.StreamReader file1 = new System.IO.StreamReader(new FileStream(System.Web.HttpContext.Current.Server.MapPath("~/App_Data/OnlineUsers.txt"), FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)); List <KeyValuePair <string, string> > users = new List <KeyValuePair <string, string> >(); string line1; while ((line1 = file1.ReadLine()) != null) { if (line1 != "") { string[] str = line1.Split(' '); users.Add(new KeyValuePair <string, string>(str[0], str[1])); } } file1.Close(); System.IO.StreamWriter file2 = new System.IO.StreamWriter(new FileStream(System.Web.HttpContext.Current.Server.MapPath("~/App_Data/OnlineUsers.txt"), FileMode.Truncate, FileAccess.ReadWrite, FileShare.ReadWrite)); users.Add(new KeyValuePair <string, string>(username, Request.UserHostAddress)); string result = ""; foreach (var str in users) { result += str.Key + " " + str.Value + "\n"; } file2.Write(result); file2.Close(); file.Close(); return(View("Master")); } } } file.Close(); return(View("Index")); } catch (Exception e) { System.IO.File.AppendAllText(System.Web.HttpContext.Current.Server.MapPath("~/App_Data/log.txt"), e.Message); ViewBag.MessagerFromControl = "Произошла ошибка, зайдите позже."; return(View("Index")); } }