Exemplo n.º 1
0
        public async Task <ActionResult> Edit(UserPublicInfoModel teacher, int[] subjects)
        {
            try
            {
                var _user = await e.USER.FindAsync(teacher.user_id);

                _user.first_name    = teacher.first_name;
                _user.last_name     = teacher.last_name;
                _user.date_of_birth = DateTime.Parse(teacher.date_of_birth);
                _user.gender_id     = teacher.gender_id;
                _user.joining_date  = DateTime.Parse(teacher.joining_date);
                _user.phone         = teacher.phone;
                _user.address       = teacher.address;
                _user.profile_image = teacher.profile_image == null ? "" : teacher.profile_image;

                foreach (var s in subjects)
                {
                    var _user_subject = await e.USER_SUBJECT.FirstOrDefaultAsync(i => i.user_id == teacher.user_id && i.subject_id == s);

                    if (_user_subject == null)
                    {
                        e.USER_SUBJECT.Add(new USER_SUBJECT()
                        {
                            subject_id = s, user_id = _user.user_id
                        });
                        await e.SaveChangesAsync();
                    }
                }
                return(View("Index"));
            }
            catch (Exception e)
            {
                return(Redirect(Mainfest.Bad));
            }
        }
Exemplo n.º 2
0
        public ClaimsPrincipal GetClaimsPrincipal(UserPublicInfoModel model)
        {
            var user = db.Users.SingleOrDefault(x => x.Id == model.Id);

            if (user == null)
            {
                throw new Exception("User not found.");
            }

            var claims = new List <Claim>()
            {
                new Claim(ClaimTypes.NameIdentifier, model.UrlPart),
                new Claim(ClaimTypes.Name, model.DisplayName),
                new Claim(ClaimTypes.Email, user.EmailAddress)
            };
            var cid = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);

            return(new ClaimsPrincipal(cid));
        }