public async Task <IActionResult> Edit(int id, string message = "", string messageType = "") { var model = new AccountVM(); var entityInDb = _db.Accounts.Find(id); if (entityInDb != null) { model = _mapper.Map <AccountVM>(entityInDb); model.AccountId = entityInDb.AccountId; model.FirstName = entityInDb.FirstName; model.LastName = entityInDb.LastName; model.Email = entityInDb.Email; model.CreatedAt = entityInDb.CreatedAt.ToShortDateString(); // get existing file if (entityInDb.UserImageUrl != null) { var filePath = await _azureBlobService.GetUriByNameAsync(entityInDb.UserImageUrl, "assets"); model.UserImageUrl = filePath.AbsoluteUri; } var accountPermissions = _db.AccountPermissions.Where(ap => ap.AccountId == entityInDb.AccountId).ToList(); if (accountPermissions.Count > 0) { model.PermissionIds = accountPermissions.Select(ap => ap.PermissionId.ToString()).ToList(); } } // set values to be put into the _Layout page if (id == 0) { ViewData["PageHeader"] = "Account Create"; } else { ViewData["PageHeader"] = "Account Edit"; } // SET values for message if (message != null) { ViewData["Message"] = message; ViewData["MessageType"] = messageType.ToLower(); } model.SelectList = this.GenerateSelectLists(); return(View(model)); }
public async Task <IActionResult> Index(string username, string password) { var accountFromService = _auth.Authenticate(username, password); if (accountFromService == null) { return(RedirectToAction("Index", new { message = "Your details were incorrect." })); } var userClaims = new List <Claim>() { new Claim("FirstName", accountFromService.FirstName), new Claim("LastName", accountFromService.LastName), new Claim("Email", accountFromService.Email) }; if (accountFromService.UserImageUrl != null) { var fileUrl = await _azureBlobService.GetUriByNameAsync(accountFromService.UserImageUrl, "assets"); Set("UserImage", fileUrl.AbsoluteUri, null); } //var accountClaims = new List<Claim>() // { // new Claim(ClaimTypes.Name, "Michael"), // new Claim(ClaimTypes.Email, "*****@*****.**") // }; var permissionsClaims = new List <Claim>(); accountFromService.Permissions.ForEach(p => { var claim = new Claim(ClaimTypes.Role, p.Name); permissionsClaims.Add(claim); }); var identity = new ClaimsIdentity(userClaims, "User"); //var account = new ClaimsIdentity(accountClaims, "Account"); var roles = new ClaimsIdentity(permissionsClaims, "Roles"); var accountPrincipal = new ClaimsPrincipal(new[] { identity, roles }); // set cookies here HttpContext.SignInAsync(accountPrincipal); return(RedirectToAction("Index", "Home")); }
public string GetUri(string fileName) { var url = _azureBlobService.GetUriByNameAsync(fileName, imageContainerName); return(url.Result.AbsoluteUri); }
public string GetUri(string fileName) { var url = _azureBlobService.GetUriByNameAsync(fileName, "shopping-app-categories"); return(url.Result.AbsoluteUri); }