private void modifyButton_Click(object sender, EventArgs e) { string selected = usersComboBox.SelectedItem.ToString(); using (UserDataEntities dc = new UserDataEntities()) { Object selecteduserName = usersComboBox.SelectedItem; var users = from user in dc.Users where user.UserName == selecteduserName.ToString() select user; foreach (var user in users) { user.MaxPageNumber = (int)modifySubscriptionNumericBox.Value; user.NotificationPerDay = (int)modifyRefreshRate.Value; if (userName != user.UserName || user.IsAdmin == admin_check.Checked) { user.IsAdmin = admin_check.Checked; } else { MessageBox.Show("Cannot change admin permission for yourself!"); } } try { dc.SaveChanges(); } catch (Exception exp) { Console.WriteLine(exp); } } }
public HttpResponseMessage Put(int id, [FromBody] User user) { using (UserDataEntities userEntities = new UserDataEntities()) { try { User userEntity = userEntities.Users.FirstOrDefault(e => e.UserId == id); if (userEntity == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "The user with the id of " + id.ToString() + " was not found.")); } else { userEntity.UserPassword = user.UserPassword; userEntity.UserEmail = user.UserEmail; userEntities.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, userEntities)); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } } }
private void subscribeButton_Click(object sender, EventArgs e) { using (UserDataEntities dc = new UserDataEntities()) { var users = from user in dc.Users where user.UserName == userName select user; var userPages = from pages in dc.Pages where pages.UserName == userName select pages; var count = userPages.Count(); if (users.FirstOrDefault().MaxPageNumber > count) { // newWikipediaPageTextBox, sensitivityNumericBox, refreshRateNumericBox értékét kiovlassuk, és beszúrunk egy új sort a Pages táblába, majd meghívjuk a refreshDataGridet string subscribePageName = newWikipediaPageTextBox.Text; int subscribeSensitivity = (int)sensitivityNumericBox.Value; int subscriberefreshRate = (int)refreshRateNumericBox.Value; Page newPage = new Page(); newPage.UserName = this.userName; newPage.WikiPage = subscribePageName; newPage.Sensitivity = subscribeSensitivity; newPage.RefreshRate = subscriberefreshRate; newPage.LastRevision = -1; dc.Pages.Add(newPage); dc.SaveChanges(); refreshDataGrid(); } else { MessageBox.Show("You can not subscribe"); } } }
private void unsubscribeComboBox1_SelectedIndexChanged(object sender, EventArgs e) { //int selectedIndex = this.unsubscribeComboBox1.SelectedIndex; Object selectedItem = unsubscribeComboBox1.SelectedItem; using (UserDataEntities dc = new UserDataEntities()) { var groups = from page in dc.Pages where page.UserName.Contains(userName) group page by page.UserName into g select g; foreach (var g in groups) { foreach (var page in g) { if (page.WikiPage == selectedItem.ToString()) { // Updationg the numeric boxes according to the selected subscribe modifySensitivityNumericBox.Value = page.Sensitivity; modifyRefreshRate.Value = page.RefreshRate; } } } } }
private void refreshDatabase(PageReadData data, bool notified = false, int revID = -1) { using (UserDataEntities dc = new UserDataEntities()) { var currentPage = from page in dc.Pages where page.Id == data.PageId select page; try { var page = currentPage.First(); if (notified) { // If user has been notified page.LastRevision = revID; page.LastNotified = DateTime.Now; } page.LastRefreshed = DateTime.Now; dc.SaveChanges(); } catch (ArgumentNullException exp) { Console.WriteLine("Error: " + exp.Message + "\n\t Possibly wrong page id."); } } }
public IEnumerable <User> Get() { using (UserDataEntities userEntities = new UserDataEntities()) { return(userEntities.Users.ToList()); } }
public void refreshDataGrid() { deleteDataGrid(); deleteUnsubscribeComboBox(); using (UserDataEntities dc = new UserDataEntities()) { var groups = from page in dc.Pages where page.UserName.Contains(userName) group page by page.UserName into g select g; foreach (var g in groups) { //Console.WriteLine(g.Key); foreach (var page in g) { //Console.WriteLine(" {0}, {1}, {2}", page.WikiPage, page.Sensitivity, page.RefreshRate); this.unsubscribeComboBox1.Items.Add(page.WikiPage); this.dataGridView1.Rows.Add(page.WikiPage, page.Sensitivity, page.RefreshRate); } } } if (unsubscribeComboBox1.Items.Count > 0) { this.unsubscribeComboBox1.SelectedIndex = 0; } }
public User Get(int id) { using (UserDataEntities userEntities = new UserDataEntities()) { var userEntity = userEntities.Users.FirstOrDefault(e => e.UserId == id); return(userEntity); } }
public bool IsEmailExist(string emailID) { using (UserDataEntities dc = new UserDataEntities()) { var v = dc.RegistrationDetails.Where(a => a.EmailID == emailID).FirstOrDefault(); return(v != null); } }
public void Post([FromBody] User user) { using (var entities = new UserDataEntities()) { user.DateCreated = DateTime.Now; entities.Users.Add(user); entities.SaveChanges(); } }
public ActionResult Registration([Bind(Exclude = "IsEmailVerified,ActivationCode")] RegistrationDetail registrationDetail) { bool Status = false; string message = ""; // // Model Validation if (ModelState.IsValid) { #region // Email already Exist var isExist = IsEmailExist(registrationDetail.EmailID); if (isExist) { ModelState.AddModelError("EmailExist", "Email already exist"); return(View(registrationDetail)); } #endregion #region //Generate Activation Code registrationDetail.ActivationCode = Guid.NewGuid(); #endregion #region // Password Hashing registrationDetail.Password = Crypto.Hash(registrationDetail.Password); registrationDetail.ConfirmPassword = Crypto.Hash(registrationDetail.ConfirmPassword); // #endregion registrationDetail.IsEmailVerified = false; #region //Save to Database using (UserDataEntities dc = new UserDataEntities()) { dc.RegistrationDetails.Add(registrationDetail); dc.SaveChanges(); //Send Email to User SendVerificationLinkEmail(registrationDetail.EmailID, registrationDetail.ActivationCode.ToString()); message = "Registration successfully done. Account activation link " + " has been sent to your email id:" + registrationDetail.EmailID; Status = true; } #endregion } else { message = "Invalid Request"; } ViewBag.Message = message; ViewBag.Status = Status; return(View(registrationDetail)); }
private void admin_button_Click(object sender, EventArgs e) { using (UserDataEntities dc = new UserDataEntities()) { var user_admin = from user in dc.Users where user.UserName == userName select new { user.IsAdmin }; if (user_admin.FirstOrDefault().IsAdmin) { adminForm = new Forms.AdminForm(userName); adminForm.Show(); } } }
public IHttpActionResult Add(User user) { if (user != null) { UserDataEntities entities = new UserDataEntities(); var response = entities.Users.Add(user); entities.SaveChanges(); return(Ok(response)); } else { return(BadRequest()); } }
public IHttpActionResult Remove(User user) { if (user != null) { UserDataEntities entities = new UserDataEntities(); var pollToRemove = entities.Users.Find(user.ID); entities.Users.Remove(pollToRemove); return(Ok("Record deleted")); } else { return(BadRequest()); } }
void refreshData() { string selected = usersComboBox.SelectedItem.ToString(); using (UserDataEntities dc = new UserDataEntities()) { var selectedUser = from user in dc.Users where user.UserName == selected select new { user.MaxPageNumber, user.NotificationPerDay, user.IsAdmin }; modifyRefreshRate.Value = selectedUser.FirstOrDefault().NotificationPerDay; modifySubscriptionNumericBox.Value = selectedUser.FirstOrDefault().MaxPageNumber; admin_check.Checked = selectedUser.FirstOrDefault().IsAdmin; } }
public WikipediaPoller() { using (UserDataEntities dc = new UserDataEntities()) { var pages = from page in dc.Pages where page.LastNotified == null || page.LastNotified.Value != DateTime.Today select page; foreach (var page in pages) { page.Notified = 0; } date = DateTime.Today; dc.SaveChanges(); } }
private void updateNotifications() { using (UserDataEntities dc = new UserDataEntities()) { var pages = from page in dc.Pages select page; foreach (var page in pages) { page.Notified = 0; } dc.SaveChanges(); } date = DateTime.Today; }
public ActionResult Login(UserLogin login, string ReturnUrl = "") { string message = ""; using (UserDataEntities dc = new UserDataEntities()) { var v = dc.RegistrationDetails.Where(a => a.EmailID == login.EmailID).FirstOrDefault(); if (v != null) { if (!v.IsEmailVerified) { ViewBag.Message = "Please verify your email first"; return(View()); } if (string.Compare(Crypto.Hash(login.Password), v.Password) == 0) { int timeout = login.RememberMe ? 525600 : 20; // 525600 min = 1 year var ticket = new FormsAuthenticationTicket(login.EmailID, login.RememberMe, timeout); string encrypted = FormsAuthentication.Encrypt(ticket); var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted); cookie.Expires = DateTime.Now.AddMinutes(timeout); cookie.HttpOnly = true; Response.Cookies.Add(cookie); if (Url.IsLocalUrl(ReturnUrl)) { return(Redirect(ReturnUrl)); } else { return(RedirectToAction("Index", "Home")); } } else { message = "Invalid credentials provided"; } } else { message = "Invalid credentials provided"; } } ViewBag.Message = message; return(View()); }
public HttpResponseMessage Delete(int id) { using (UserDataEntities userEntities = new UserDataEntities()) { var entity = userEntities.Users.FirstOrDefault(e => e.UserId == id); if (entity == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "The product with the id of " + id.ToString() + " was not found.")); } else { userEntities.Users.Remove(entity); userEntities.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); } } }
public HttpResponseMessage Post([FromBody] User user) { using (UserDataEntities userEntities = new UserDataEntities()) { try { userEntities.Users.Add(user); userEntities.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.Created, user); message.Headers.Location = new Uri(Request.RequestUri + user.UserId.ToString()); return(message); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } } }
public AdminForm(string userName) { InitializeComponent(); this.userName = userName; using (UserDataEntities dc = new UserDataEntities()) { var users = from user in dc.Users select new { user.UserName }; foreach (var user in users) { this.usersComboBox.Items.Add(user.UserName); } } usersComboBox.SelectedIndex = 1; refreshData(); }
private void unsubscribeButton_Click(object sender, EventArgs e) { Object selectedItem = unsubscribeComboBox1.SelectedItem; // username és a kiválasztott wikipedia oldal függvényében kitöröljük a Pages táblából a sort, majd meghívjuk a refreshDataGridet using (UserDataEntities dc = new UserDataEntities()) { var itemToRemove = (from s1 in dc.Pages where s1.WikiPage == selectedItem.ToString() && s1.UserName == userName select s1).FirstOrDefault(); if (itemToRemove != null) { dc.Pages.Remove(itemToRemove); dc.SaveChanges(); } } refreshDataGrid(); }
public IHttpActionResult Authenticate(LoginRequest login) { if (login == null) { throw new HttpResponseException(HttpStatusCode.BadRequest); } UserDataEntities entities = new UserDataEntities(); var user = entities.Users.FirstOrDefault(e => e.Username == login.Username && e.Password == login.Password); if (user != null) { var token = TokenGenerator.GenerateTokenJwt(login.Username); return(Ok(token)); } else { return(Unauthorized()); } }
private void login() { bool loginSuccessful = false; using (UserDataEntities dc = new UserDataEntities()) { var users = from user in dc.Users select new { user.UserName, user.Email, user.IsAdmin, user.UserPass }; foreach (var user in users) { if (userNameTextBox.Text == user.UserName && Hash(passwordTextBox.Text) == user.UserPass) { loginSuccessful = true; // Elugrunk az user windowra passwordTextBox.Text = ""; Hide(); Forms.SimpleUserForm userForm = new Forms.SimpleUserForm(user.UserName, this, user.IsAdmin); userForm.Show(); } } if (!loginSuccessful) { MessageBox.Show("Invalid username or password"); } //var groups = from page in dc.Pages // group page by page.UserName into g // select g; //foreach (var g in groups) //{ // Console.WriteLine(g.Key); // foreach (var page in g) // { // Console.WriteLine(" {0}, {1}, {2}", page.WikiPage, page.Sensitivity, page.NotificationNumber); // } //} } }
public ActionResult VerifyAccount(string id) { bool Status = false; using (UserDataEntities dc = new UserDataEntities()) { dc.Configuration.ValidateOnSaveEnabled = false; // This line I have added here to avoid // Confirm password does not match issue on save changes var v = dc.RegistrationDetails.Where(a => a.ActivationCode == new Guid(id)).FirstOrDefault(); if (v != null) { v.IsEmailVerified = true; dc.SaveChanges(); Status = true; } else { ViewBag.Message = "Invalid Request"; } } ViewBag.Status = Status; return(View()); }
private void modifyButton_Click(object sender, EventArgs e) { // username és a kiválasztott wikipedia oldal függvényében kitöröljük a Pages táblából a sort és egy új sort szúrúnk be a módosított értékeknek megfelelően, majd meghívjuk a refreshDataGridet Object selectedItem = unsubscribeComboBox1.SelectedItem; // username és a kiválasztott wikipedia oldal függvényében kitöröljük a Pages táblából a sort, majd meghívjuk a refreshDataGridet using (UserDataEntities dc = new UserDataEntities()) { var itemToChange = (from s1 in dc.Pages where s1.WikiPage == selectedItem.ToString() && s1.UserName == userName select s1).FirstOrDefault(); if (itemToChange != null) { itemToChange.Sensitivity = (int)modifySensitivityNumericBox.Value; itemToChange.RefreshRate = (int)modifyRefreshRate.Value; // dc.Pages.Remove(itemToRemove); dc.SaveChanges(); } } refreshDataGrid(); }
public void poll() { long milisec = 60000; while (true) { // Check running flag in every 20 miliseconds lock (thisLock) { if (!running) { break; } } if (milisec >= 60000) { milisec = 0; if (date != DateTime.Today) { updateNotifications(); } Stopwatch sw = new Stopwatch(); sw.Start(); long ellapsed = 0; List <PageReadData> pages; using (UserDataEntities dc = new UserDataEntities()) { pages = (from user in dc.Users join page in dc.Pages on user.UserName equals page.UserName select new PageReadData { UserName = user.UserName, NotificationPerDay = user.NotificationPerDay, Email = user.Email, PageId = page.Id, WikiPage = page.WikiPage, Sensitivity = page.Sensitivity, RefreshRate = page.RefreshRate, LastRefreshed = page.LastRefreshed != null ? page.LastRefreshed.Value : DateTime.MinValue, Notified = page.Notified, LastRevision = page.LastRevision }).ToList(); } var threads = new List <Thread>(); foreach (var page in pages) { // Measure time, and check in every 20 miliseconds if the app has been closed // This is necessary to don't wait for working thread on exit sw.Stop(); if (sw.ElapsedMilliseconds > 20) { lock (thisLock) { if (!running) { break; } } ellapsed = sw.ElapsedMilliseconds; sw.Reset(); } sw.Start(); if (page.Notified == page.NotificationPerDay) { // User reached notification limit continue; } if (page.LastRefreshed == null || (DateTime.Now - page.LastRefreshed).TotalMilliseconds >= page.RefreshRate * 60000) { var t = new Thread(() => checkAndUpdateWikiPage(page)); threads.Add(t); t.Start(); } foreach (var t in threads) { t.Join(); } } sw.Stop(); sw.Reset(); // Start on ellapsed milliseconds, that way if ellapsed time less then 60000 miliseconds // then there is no plus sleep time milisec = ellapsed; } if (milisec < 60000) { Thread.Sleep(20); // 1 minutes milisec += 20; } } }