public async Task <bool> SendMessageFromUser(CcRepUser user, Message message) { message.AddTo("*****@*****.**"); message.Body = message.Body + "<br/><br/>" + $"Отправитель: {user.FullName} ({user.Email})."; var sender = SokovApiMail.GetInstance(); var result = await sender.Send(message); return(true); }
public async Task <ActionResult> LoginComplete(string code) { if (code == null) { return(RedirectToAction("Index", "Home")); } SsoAuthProvider provider = GetAuthProvider(StateHashSource.FromRequest); string token = await provider.requestAccessTokenByAuthCode(code); if (token != null) { try { ActiveDirctoryUser userInfo = await provider.RequestUserData(token); CcRepUser user = await UserManager.FindByNameAsync(userInfo.username); if (user == null) { user = new CcRepUser { UserName = userInfo.username, Email = userInfo.email, FullName = userInfo.name }; string userId = await UserManager.CreateWithClaims(user); } ClaimsIdentity claim = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie); AuthenticationManager.SignOut(); AuthenticationManager.SignIn(new AuthenticationProperties { IsPersistent = true }, claim); return(RedirectToAction("Index", "Home")); } catch (CantGetUserInfo exception) { throw new HttpException("Bad access token parameter - " + exception.Message); } catch (DbEntityValidationException exception) { throw new HttpException($"Ошибка! ({exception.Message})"); //return Content(ObjectInfo.Print(exception.EntityValidationErrors).ToString()); } } throw new HttpException("Wrong parameters!"); }
// GET: System/CcRepUsers/Details/5 public ActionResult Details(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CcRepUser ccRepUser = db.Users.Find(id); if (ccRepUser == null) { return(HttpNotFound()); } return(View(ccRepUser)); }
public ActionResult ManageUserAccess(string Id) { using (db) { CcRepUser UserModel = db.Users.Find(Id); if (UserModel != null) { UserAccessAssignment ViewModel = new UserAccessAssignment(UserModel, db); return(View(ViewModel)); } } return(new HttpStatusCodeResult(404)); }
HeaderRep GetHeaderRep() { CcRepUser repUser = new CcRepUser() { FullName = "Петр Иванов", UserName = "******" }; return(new HeaderRep() { BeginDate = DateTime.Now.AddMonths(-1), EndDate = DateTime.Now.AddMonths(1), CreateDate = DateTime.Now, UserLastEditedId = repUser.Id, UserLastEdited = repUser }); }
public static MultiSelectList GetUserRolesList(CcRepUser user, List <CcRepRole> roles) { var defaultSelected = user.Roles.Select(item => item.RoleId.ToString()).ToArray(); List <SelectListItem> allItems = new List <SelectListItem>(); roles.ForEach(Ct => { allItems.Add(new SelectListItem() { Text = Ct.Desc, Value = Ct.Id.ToString(), }); }); return(new MultiSelectList(allItems, "Value", "Text", defaultSelected)); }
public static MultiSelectList GetUserFilialsList(CcRepUser user, List <Filial> Filials) { string[] defaultSelected = user.Filials != null?user.Filials.Select(item => item.Filial.NCFilial.ToString()).ToArray() : Array.Empty <string>(); List <SelectListItem> allItems = new List <SelectListItem>(); Filials.ForEach(Ct => { allItems.Add(new SelectListItem() { Text = $"{Ct.NCFilial}: {Ct.NameFilial}", Value = Ct.NCFilial, }); }); return(new MultiSelectList(allItems, "Value", "Text", defaultSelected)); }
public UserAccessAssignment(CcRepUser user, CcRepContext db) : base() { Branches = MultiSelectHelper.GetUserFilialsList(user, db.Filials.ToList()); Roles = MultiSelectHelper.GetUserRolesList(user, db.Roles.ToList()); UserId = user.Id; UserFullName = user.FullName; UserName = user.UserName; Blocked = user.Locked; FlAccess = user.Claims.Where(c => c.ClaimType == "FlAccess") .Select(c => c.ClaimValue).SingleOrDefault(); PdAccess = user.Claims.Where(c => c.ClaimType == "PdAccess") .Select(c => c.ClaimValue).SingleOrDefault(); AllBranches = user.Claims.Where(c => c.ClaimType == "showAllBranches") .Select(c => Convert.ToBoolean(c.ClaimValue.ToLower())).SingleOrDefault(); }
public async Task <ActionResult> AddUser([Bind(Include = "UserName, Locked")] AddUser modelView) { if (ModelState.IsValid) { CcRepUser ExistingUser = await UserManager.FindByNameAsync(modelView.UserName); if (ExistingUser != null) { TempData["Flash"] = "Данный пользователь уже существует в базе данных"; return(RedirectToAction("AddUser")); } var provider = GetAuthProvider(null); var finded = await provider.RequestUserDataByName(modelView.UserName); if (finded is null) { TempData["Flash"] = "Введенный пользователь не был найден в ActiveDirectory"; return(RedirectToAction("AddUser")); } CcRepUser NewUser = new CcRepUser() { UserName = finded.username, Locked = modelView.Locked, Email = finded.email, FullName = finded.name, SecurityStamp = Guid.NewGuid().ToString() }; string userId = await UserManager.CreateWithClaims(NewUser); return(RedirectToAction("ManageUserAccess", "CcRepUsers", new { id = userId, Area = "System" })); } return(new HttpStatusCodeResult(404)); }
public ActionResult ManageUserAccess([Bind(Include = "SelectedBranches, SelectedRoles, UserId, Blocked, FlAccess, PdAccess, AllBranches")] UserAccessAssignment modelView) { if (modelView.UserId != null) { CcRepUser userModel = db.Users.Find(modelView.UserId); userModel.Locked = modelView.Blocked; foreach (UsersToFilials branch in userModel.Filials.ToList()) { db.UserrsToFilials.Remove(branch); } foreach (CcRepUserClaim claim in userModel.Claims.ToList()) { db.UserClaims.Remove(claim); } foreach (UsersToRoles roleUser in userModel.Roles.ToList()) { db.UserRoles.Remove(roleUser); } UpdateModel(userModel); if (modelView.AllBranches) { var AllBranClaim = new CcRepUserClaim { ClaimType = "showAllBranches", ClaimValue = modelView.AllBranches.ToString() }; userModel.Claims.Add(AllBranClaim); } else if (modelView.SelectedBranches != null) { foreach (var c in db.Filials.Where(co => modelView.SelectedBranches.Contains(co.NCFilial))) { userModel.Filials.Add(new UsersToFilials() { FilialId = c.NCFilial, UserId = userModel.Id }); } } if (modelView.SelectedRoles != null) { foreach (var c in db.Roles.Where(co => modelView.SelectedRoles.Contains(co.Id))) { UsersToRoles model = new UsersToRoles() { RoleId = c.Id, UserId = userModel.Id }; userModel.Roles.Add(model); } } var FlAccessClaim = new CcRepUserClaim { ClaimType = "FlAccess", ClaimValue = modelView.FlAccess }; var PdAccessClaim = new CcRepUserClaim { ClaimType = "PdAccess", ClaimValue = modelView.PdAccess }; userModel.Claims.Add(FlAccessClaim); userModel.Claims.Add(PdAccessClaim); // сохраняем изменения UserManager.UpdateAsync(userModel); db.Entry(userModel).State = EntityState.Modified; db.SaveChanges(); return(Redirect(Request.UrlReferrer.ToString())); } return(new HttpStatusCodeResult(404)); }