Example #1
0
        /// <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();
        }
Example #2
0
        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);
        }
Example #3
0
        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));
        }