/// <summary> /// Initializes a new instance of the <see cref="user"/> class. /// </summary> /// <param name="model">The model<see cref="web_db.TblUser"/>.</param> /// <param name="db">The db<see cref="web_db.sardweb_Context"/>.</param> public user(web_db.TblUser model, web_db.sardweb_Context db) { Id = model.Id; Mob = model.Mob; Password = model.Password; Roles = model.Roles.Split(","); Title = model.Title; Username = model.Username; this.isActive = model.IsActive; Permis = db.TblUserPermis.Where(a => a.FkUser == model.Id).ToArray(); }
internal async Task _loginAsync(web_db.TblUser x, web_db.sardweb_Context db) { var claims = new List <Claim> { new Claim(ClaimTypes.NameIdentifier, x.Id.ToString()), new Claim(ClaimTypes.Name, x.Username ?? ""), new Claim(ClaimTypes.Role, x.Roles ?? ""), new Claim(ClaimTypes.GivenName, x.Title ?? ""), new Claim("Years", db.TblUserSals.Where(a => a.FkUser == x.Id).Select(a => a.FkSal).ToArray().ToJson()), new Claim(ClaimTypes.Dsa, x.Salmalidef.ToString()), new Claim("Permis", Newtonsoft.Json.JsonConvert.SerializeObject(db.TblUserPermis.Where(a => a.FkUser == x.Id)).ToString()), new Claim("userBalanceCode", x.BalanceCode.ToString()), }; ClaimsIdentity userIdentity = new ClaimsIdentity(claims, "login"); ClaimsPrincipal principal = new ClaimsPrincipal(userIdentity); await HttpContext.SignInAsync(principal); }
public IActionResult Create(Models.tbls.user.user model) { var x = db.TblUsers.Find(model.Id); if (x != null) { ModelState.Remove("Password"); } if (!ModelState.IsValid) { ViewBag.error = "ثبت انجام نشد"; return(View(model)); } if (x == null) { x = new web_db.TblUser { Id = model.Id, IsDel = false, Salmalidef = User._getuserSalMaliDef() }; db.TblUsers.Add(x); } try { x.Mob = model.Mob; if (model.Password.IsEmpty() == false) { x.Password = model.Password; } x.Roles = string.Join(',', model.Roles); x.Title = model.Title; x.Username = model.Username; x.IsActive = model.isActive; foreach (var item in model.Permis) { var z = db.TblUserPermis.SingleOrDefault(a => a.FkUser == x.Id && a.FkPortageType == item.FkPortageType); if (z == null) { z = new web_db.TblUserPermi { FkPortageType = item.FkPortageType, FkUser = x.Id }; db.TblUserPermis.Add(z); } z.IsIn = item.IsIn; z.IsInBack = item.IsInBack; z.IsOut = item.IsOut; z.IsOutBack = item.IsOutBack; z.IsReport = item.IsReport; z.IsType = z.IsIn || z.IsInBack || z.IsOut || z.IsOutBack; } try { db.SaveChanges(); ViewBag.txt = "ثبت انجام شد"; return(RedirectToAction(nameof(ListUser))); } catch (Exception e) { ViewBag.error = e.Message; } } catch { } return(View(model)); }