protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["PaymentID"] != null) { if (Session["User"] == null) { Response.Redirect("~/Account/Login?ReturnUrl=Account/Payments/Payment?PaymentID=" + Request.QueryString["PaymentID"].ToString()); } WebsiteUser Op = (WebsiteUser)Session["User"]; if (Op.Level == 2) { Response.Redirect("~/Veterinary/"); } else if (Op.Level == 3) { Response.Redirect("~/Admin/"); } if (!Core.PaymentExists(Request.QueryString["PaymentID"].ToString())) { Response.Redirect("~/Account/Payments"); } Core.FillPaymentFields(Request.QueryString["PaymentID"].ToString(), DataLimite, Metodo, Montante, Movimentacao, Estado); } else { Response.Redirect("~/Account/Payments"); } }
private async Task SignInAsync(WebsiteUser user, bool isPersistent) { AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie, DefaultAuthenticationTypes.TwoFactorCookie); AuthenticationManager.SignIn(new AuthenticationProperties { IsPersistent = isPersistent }, await user.GenerateUserIdentityAsync(UserManager)); }
public async Task <IActionResult> Register(RegisterViewModel registerModel, string redirectUrl) { if (ModelState.IsValid) { WebsiteUser user = new WebsiteUser { UserName = registerModel.Username, Email = registerModel.Email }; var result = await _userManager.CreateAsync(user, registerModel.Password); if (result.Succeeded) { bool roleExists = await _roleManager.RoleExistsAsync(registerModel.RoleName); if (!roleExists) { await _roleManager.CreateAsync(new IdentityRole(registerModel.RoleName)); } var addedUser = await _userManager.FindByNameAsync(registerModel.Username); await _userManager.AddToRoleAsync(addedUser, registerModel.RoleName); return(await Login(registerModel, redirectUrl)); } } ViewBag.RedirectUrl = redirectUrl; return(View()); }
public async Task <IActionResult> RegisterWithRole(RegisterViewModel model) { if (ModelState.IsValid) { WebsiteUser user = new WebsiteUser { UserHandle = model.UserHandle, UserName = model.Username, Email = model.Email }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { var addedUser = await _userManager.FindByNameAsync(model.Username); await _userManager.AddToRoleAsync(addedUser, "Administrator"); await _userManager.AddToRoleAsync(addedUser, "User"); return(await Login(model)); } } return(View()); }
public async Task <IActionResult> RegisterWithClaim(RegisterViewModel model) { if (ModelState.IsValid) { WebsiteUser user = new WebsiteUser { UserHandle = model.UserHandle, UserName = model.Username, Email = model.Email }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { var addedUser = await _userManager.FindByNameAsync(model.Username); if (!string.IsNullOrWhiteSpace(model.Email)) { Claim claim = new Claim(ClaimTypes.Email, model.Email); await _userManager.AddClaimAsync(addedUser, claim); } return(await Login(model)); } } return(View()); }
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { WebsiteUser Op = (WebsiteUser)Session["User"]; GridViewRow linha = GridView1.Rows[e.RowIndex]; UInt32 consultID = Convert.ToUInt32(GridView1.Rows[e.RowIndex].Cells[0].Text); UInt32 newStatus = Convert.ToUInt32(((TextBox)linha.Cells[4].Controls[0]).Text); successMessage.Visible = true; switch (newStatus) { case 1: //Espera Deslocamento Message.Text = (Core.UseVehicle(consultID, Op.ClientID, ref e)); break; case 2: //Espera Progresso Message.Text = (Core.UpdateConsult(consultID, newStatus, ref e)); break; case 3: //Espera Pagamento Message.Text = (Core.UpdateConsult(consultID, newStatus, ref e)); break; case 4: //Completo Message.Text = (Core.UpdateConsult(consultID, newStatus, ref e)); break; default: e.Cancel = true; Message.Text = "Estado de consulta inválido!"; successMessage.Visible = true; break; } }
protected void LogIn(object sender, EventArgs e) { if (Page.IsValid) { if (Account.ValidEmail(Email.Text)) { switch (Account.Login(Email.Text, Password.Text, Response)) { case 0: FailureText.Text = "Dados incorrectos ou conta recentemente eliminada."; ErrorMessage.Visible = true; break; case 1: Session["User"] = new WebsiteUser(Email.Text, 1); if (Request.QueryString["ReturnUrl"] != null) { Response.Redirect("~/" + Request.QueryString["ReturnUrl"].ToString()); } else { Response.Redirect("~/Account/Manage"); } break; case 2: Session["User"] = new WebsiteUser(Email.Text, 2); if (Request.QueryString["ReturnUrl"] != null) { Response.Redirect("~/" + Request.QueryString["ReturnUrl"].ToString()); } else { Response.Redirect("~/Account/Manage"); } break; case 3: Session["User"] = new WebsiteUser(Email.Text, 3); if (Request.QueryString["ReturnUrl"] != null) { Response.Redirect("~/" + Request.QueryString["ReturnUrl"].ToString()); } else { Response.Redirect("~/Account/Manage"); } break; } } else { FailureText.Text = "Conta inexistente."; ErrorMessage.Visible = true; } } }
protected void Page_Load(object sender, EventArgs e) { if (Session["User"] == null) { Response.Redirect("~/Account/Login?ReturnUrl=Account/Consults/New"); } WebsiteUser Op = (WebsiteUser)Session["User"]; if (Op.Level == 2) { Response.Redirect("~/Veterinary/"); } else if (Op.Level == 3) { Response.Redirect("~/Admin/"); } if (Op.HasAnimals()) { Core.LoadAnimals(AnimalList, Op.ClientID); } else { Response.Redirect("~/Account/Consults"); } }
protected void Button1_Click(object sender, EventArgs e) { if (Page.IsValid && Urgente.SelectedValue != "-1") { DateTime dt = DateTime.Now; if (dt > DateTime.Parse(Dia.Text + " " + Horas.Text)) { SuccessMessage = "Impossível fazer marcações para essa data."; successMessage.Visible = true; return; } if (DateTime.Parse(Dia.Text + " " + Horas.Text).Hour < DateTime.Parse(Dia.Text + " 09:00 AM").Hour || DateTime.Parse(Dia.Text + " " + Horas.Text).Hour > DateTime.Parse(Dia.Text + " 5:00 PM").Hour) { SuccessMessage = "Impossível fazer marcações para essa horas. As consultas sao efectuadas das 9 da manhã às 5 da tarde."; successMessage.Visible = true; return; } WebsiteUser Op = (WebsiteUser)Session["User"]; SuccessMessage = Core.RegisterConsult(Dia.Text + " " + Horas.Text, Convert.ToUInt32(AnimalList.SelectedValue), Convert.ToUInt32(Urgente.SelectedValue), Op.Address, Op.ClientID, Obs.Text); successMessage.Visible = true; } else { SuccessMessage = "Occorreu um erro ao tentar validar a marcação."; successMessage.Visible = true; } }
protected void Page_Load(object sender, EventArgs e) { if (Session["User"] == null) { Response.Redirect("~/Account/Login?ReturnUrl=Account/EditAccount"); } if (!IsPostBack) { WebsiteUser Op = (WebsiteUser)Session["User"]; if (Op.Level == 2) { Response.Redirect("~/Veterinary/"); } else if (Op.Level == 3) { Response.Redirect("~/Admin/"); } Nome.Text = Op.Username; Contacto.Text = Convert.ToString(Op.Contact); Email.Text = Op.Email; Morada.Text = Op.Address; BI.Text = Convert.ToString(Op.CC); Contribuinte.Text = Convert.ToString(Op.FiscalNumber); } }
public ActionResult Login(LoginViewModel model) { if (ModelState.IsValid) { var logon = new ActiveDirectory(model.Username); var response = logon.Logon(model.Password); if (response == WindowsLogonResponse.Successful || response == WindowsLogonResponse.PasswordChangeRequired) { WebsiteUser.Login(model.Username); } if (response == WindowsLogonResponse.Successful) { return(RedirectToAction("Index", "Home")); } if (response == WindowsLogonResponse.PasswordChangeRequired) { TempData["Notice"] = "You are required to change your password."; return(RedirectToAction("ChangePassword", "Home")); } ModelState.AddModelError( "Invalid", response == WindowsLogonResponse.LockedOut ? "Take a chill pill. Stop trying for a while." : "Invalid username and/or password"); return(View()); } return(View()); }
public async Task <ActionResult> IndexClientAsync() { WebsiteUser currentUser = await _userManager.FindByNameAsync(User.Identity.Name); string userMail = await _userManager.GetEmailAsync(currentUser); var liste = _depotCommandes.GetList().Where(c => c.IdClientNavigation.Mail == userMail); return(View("IndexClient", liste)); }
public async Task <ActionResult> ValidateAsync(decimal total) { // Test si le User existe en tant que client, par l'adresse mail (requise comme unique) //TODO : identity : unicité de l'adresse mail WebsiteUser currentUser = await _userManager.FindByNameAsync(User.Identity.Name); string userMail = await _userManager.GetEmailAsync(currentUser); Client client = _depotClients.GetList().Where(c => c.Mail == userMail).SingleOrDefault(); //Si nouveau client, on envoie au controller, en stockant le total, dont on aura besoin if (client == null) { string totalSerialized = JsonConvert.SerializeObject(total); HttpContext.Session.SetString("total", totalSerialized); return(RedirectToAction("Create", "Client", new { mail = userMail })); } else if (!client.Actif) { return(RedirectToAction("Warning", "Client")); } else { Commande commande = new Commande() { IdClient = client.Id, DateCommande = DateTime.Now, IdStatut = 1, Total = total, IdAdresse = client.IdAdresse }; // TODO : gestion d'exception (ici et dans toute cette méthode) commande = _depotCommandes.Create(commande); //TODO : factoriser (ou TempData ?). Mais peut-être est-on obligés de repasser par là. string currentCartSerialized = HttpContext.Session.GetString("Cart"); Dictionary <int, int> currentCart = JsonConvert.DeserializeObject <Dictionary <int, int> >(currentCartSerialized); foreach (KeyValuePair <int, int> infosProduit in currentCart) { Produit produit = _depotProduits.GetById(infosProduit.Key); DetailCommande detailCommande = new DetailCommande() { IdCommande = commande.Id, IdProduit = produit.Id, PrixUnitaire = produit.PrixUnitaire, Quantite = infosProduit.Value }; _depotDetail.Create(detailCommande); produit.Stock -= infosProduit.Value; _depotProduits.Update(produit); } } // Pour vider le panier après la commande. Ou mieux vaut SetString("Cart", """) ? HttpContext.Session.Remove("Cart"); return(RedirectToAction("Index", "Tirelires")); }
public void Service_RegistersUserCorrectly() { var websiteUser = new WebsiteUser() { Id = 1, Name = "Bahari Zaharov", IdentityUser = user }; var result = service.RegisterWebsiteUser(websiteUser); var userFromDb = uow.WebsiteUsers.FirstOrDefault(p => p.Name == "Bahari Zaharov"); Assert.IsNotNull(userFromDb); }
public static async Task CreateAdminAndUserRoles(IServiceProvider serviceProvider) { // create the database if it doesn't exist var context = serviceProvider.GetRequiredService <ApplicationDbContext>(); context.Database.Migrate(); var RoleManager = serviceProvider.GetRequiredService <RoleManager <IdentityRole> >(); var UserManager = serviceProvider.GetRequiredService <UserManager <WebsiteUser> >(); var newRole = new IdentityRole(); bool isAdminCreated = await RoleManager.RoleExistsAsync("Admin"); var isAdminExists = await UserManager.FindByNameAsync("*****@*****.**"); if (!isAdminCreated) { await RoleManager.CreateAsync(new IdentityRole("Admin")); newRole.Name = "Admin"; await RoleManager.CreateAsync(newRole); } if (isAdminExists == null) { var adminUser = new WebsiteUser { UserName = "******", Email = "*****@*****.**", FirstName = "Michael", LastName = "Admin", BirthDate = DateTime.Parse("1990/05/03"), Height = 191, Weight = 100, Gender = "M", ShoeSize = 29.5, PantSize = 40, HelmetSize = "M", GloveSize = "M", Level = "Beginner", EmailConfirmed = true }; IdentityResult userCheck = await UserManager.CreateAsync(adminUser, appSecrets.adminPsw); if (userCheck.Succeeded) { await UserManager.AddToRoleAsync(adminUser, "Admin"); } } }
public ActionResult DoubleAuth(string code) { WebsiteUser user = (WebsiteUser)Session["AuthenticatedUser"]; var auth = new TwoStepsAuthenticator.TimeAuthenticator(usedCodeManager: usedCodesManager); if (auth.CheckCode(user.DoubleAuthKey, code, user)) { FormsAuthentication.SetAuthCookie(user.Login, true); return(RedirectToAction("Welcome")); } return(RedirectToAction("Index")); }
protected void Page_Load(object sender, EventArgs e) { if (Session["User"] == null) { Response.Redirect("~/Account/Login"); } WebsiteUser Op = (WebsiteUser)Session["User"]; InfoLabel.Text = "Logout efectuado com exito. Até à proxima " + Op.Username; Session.Abandon(); Session.Clear(); Response.AddHeader("REFRESH", "5;URL=Login"); }
protected void Page_Load(object sender, EventArgs e) { if (Session["User"] == null) { Response.Redirect("~/Account/Login?ReturnUrl=Admin/Vehicles"); } WebsiteUser Op = (WebsiteUser)Session["User"]; if (Op.Level != 3) { Response.Redirect("~/Default"); } }
public WebsiteUser CreateWebsiteUser(ApplicationUser appuser) { if (appuser != null) { var user = new WebsiteUser { Name = appuser.UserName, IdentityUser = appuser }; return(user); } throw new ArgumentNullException(Consts.NullApplicationUserError); }
protected void Delete_Click(object sender, EventArgs e) { String confirmValue = Request.Form["confirm_value"]; if (confirmValue == "Sim") { WebsiteUser Op = (WebsiteUser)Session["User"]; Account.Deactivate(Op.Email); Session.Abandon(); Session.Clear(); SuccessMessage = "Conta eliminada com sucesso. Vai ser redirecionado dentro de 5 segundos."; successMessage.Visible = true; Response.AddHeader("REFRESH", "5;URL=Login"); } }
public static Boolean isValidOwner(WebsiteUser obj, UInt32 AnimalID) { db = new SQLDatabaseManager(); String query = "SELECT * FROM dbo.ANIMAL WHERE IDCLIENTE='" + obj.ClientID + "' AND IDANIMAL='" + AnimalID + "'"; DataTable temp; temp = db.GetDataTable(query); if (temp.Rows.Count > 0) { return(true); } return(false); }
public static void LoadPayments(WebsiteUser Obj, HttpResponse Response) { String query = String.Format("SELECT * FROM dbo.PAGAMENTO WHERE IDCLIENTE='{0}'", Obj.ClientID); DataTable temp; temp = db.GetDataTable(query); foreach (DataRow r in temp.Rows) { Response.Write("<div class='col-md-4'>"); Response.Write("<h4><u>Data: </u> " + r["DATA_LIMITE"].ToString().Remove(11) + "</h4>"); Response.Write("<p><a class='btn btn-default' href='\\Account\\Payments\\Payment?PaymentID=" + r["IDPAGAMENTO"].ToString() + "'>Detalhes »</a></p>"); Response.Write("</div>"); } }
public async Task <IActionResult> Register(RegisterViewModel model) { var user = new WebsiteUser { UserName = model.Email }; IdentityResult result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { return(RedirectToAction("Index")); } else { return(View()); } }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList(); if (ModelState.IsValid) { var user = new WebsiteUser { UserName = Input.Email, Email = Input.Email, FirstName = Input.FirstName, LastName = Input.LastName, BirthDate = Input.BirthDate, Height = Input.Height, Weight = Input.Weight, Gender = Input.Gender, ShoeSize = Input.ShoeSize, PantSize = Input.PantSize, HelmetSize = (Input.HelmetSize).ToString(), GloveSize = (Input.GloveSize).ToString(), Level = Input.Level }; var result = await _userManager.CreateAsync(user, Input.Password); if (result.Succeeded) { _logger.LogInformation("User created a new account with password."); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code)); var callbackUrl = Url.Page( "/Account/ConfirmEmail", pageHandler: null, values: new { area = "Identity", userId = user.Id, code = code, returnUrl = returnUrl }, protocol: Request.Scheme); await _emailSender.SendEmailAsync(Input.Email, "Confirm your email", $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); if (_userManager.Options.SignIn.RequireConfirmedAccount) { return(RedirectToPage("RegisterConfirmation", new { email = Input.Email, returnUrl = returnUrl })); } else { await _signInManager.SignInAsync(user, isPersistent : false); return(LocalRedirect(returnUrl)); } } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } // If we got this far, something failed, redisplay form return(Page()); }
public async Task <IActionResult> Index() { WebsiteUser user = await _userManager.FindByNameAsync(User.Identity.Name); if (user != null) { UserDisplayViewModel model = new UserDisplayViewModel { UserHandle = user.UserHandle, UserName = user.UserName }; return(View(model)); } return(View()); }
protected void CreateAnimal(object sender, EventArgs e) { WebsiteUser Op = (WebsiteUser)Session["User"]; WebImage photo = null; var newFileName = ""; var imagePath = ""; if (IsValid) { photo = WebImage.GetImageFromRequest(); if (photo != null) { newFileName = Guid.NewGuid().ToString() + "_" + Path.GetFileName(photo.FileName); imagePath = @"Images\" + newFileName; photo.Resize(width: 250, height: 300, preserveAspectRatio: true, preventEnlarge: true); photo.Save(@"~\" + imagePath); ErrorMessage.Visible = true; Animal subject = new Animal(Nome.Text, Espécie.Text, Raca.Text, Convert.ToUInt32(Idade.Text.ToString()), Convert.ToUInt32(Peso.Text.ToString()), Convert.ToUInt32(Temperatura.Text.ToString()), imagePath, Op.ClientID, Convert.ToUInt32(DropDownTipo.Text)); switch (Animal.Add(subject)) { case 0: ErrorMessage.Text = "Erro ao registar novo animal. Por favor verifique se os dados que inseriu são válidos."; break; case 1: ErrorMessage.Text = "O animal foi registdo com sucesso mas houve um problema ao enviar a foto."; break; case 2: ErrorMessage.Text = "Registo efectuado com sucesso."; break; default: ErrorMessage.Text = "Erro desconhecido."; break; } } else { ErrorMessage.Text = "Foto inválida."; } } }
public bool RegisterWebsiteUser(WebsiteUser websiteUser) { if (websiteUser != null && websiteUser.Name != null) { var id = websiteUser.IdentityUser.Id; var identityUser = this.context.Users.FirstOrDefault(p => p.Id == id); this.context.WebsiteUsers.Add(new WebsiteUser { Name = websiteUser.Name, IdentityUser = identityUser }); if (this.context.SaveChanges() > 0) { return(true); } } return(false); }
private async Task LoadAsync(WebsiteUser user) { var userName = await _userManager.GetUserNameAsync(user); var phoneNumber = await _userManager.GetPhoneNumberAsync(user); var firstName = user.FirstName; var lastName = user.LastName; Username = userName; Input = new InputModel { PhoneNumber = phoneNumber, FirstName = firstName, LastName = lastName }; }
protected void Page_Load(object sender, EventArgs e) { if (Session["User"] == null) { Response.Redirect("~/Account/Login?ReturnUrl=Veterinary/"); } WebsiteUser Op = (WebsiteUser)Session["User"]; if (Op.Level == 1) { Response.Redirect("~/Account/"); } else if (Op.Level == 3) { Response.Redirect("~/Admin/"); } }
protected void Page_Load(object sender, EventArgs e) { if (Session["User"] == null) { Response.Redirect("~/Account/Login?ReturnUrl=Admin/Vets"); } WebsiteUser Op = (WebsiteUser)Session["User"]; if (Op.Level != 3) { Response.Redirect("~/Default"); } if (!IsPostBack) { successMessage.Visible = false; } }