Exemple #1
0
        public async Task <int> SaveAsync(BL.User entity)
        {
            try
            {
                if (entity == null)
                {
                    return(0);
                }

                using (var context = _contextFactory.GetProductContext())
                {
                    var entityModel = await context
                                      .Users
                                      .FirstOrDefaultAsync(item => item.Id.Equals(entity.Id));

                    if (entityModel == null)
                    {
                        entityModel = new DA.User();
                        MapForUpdateEntity(entity, entityModel);
                        await context.Users.AddAsync(entityModel);
                    }
                    else
                    {
                        MapForUpdateEntity(entity, entityModel);
                    }

                    context.SaveChanges();
                    return(entityModel.Id);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #2
0
 private void MapForUpdateEntity(BL.User entity, DA.User daEntity)
 {
     daEntity.Id       = entity.Id;
     daEntity.Name     = entity.Name;
     daEntity.Email    = entity.Email;
     daEntity.Password = entity.Password;
     daEntity.RoleId   = entity.RoleId;
 }
        private async Task Authenticate(BL.User user)
        {
            // создаем один claim
            var claims = new List <Claim>
            {
                new Claim(ClaimsIdentity.DefaultNameClaimType, user.Email),
                new Claim(ClaimsIdentity.DefaultRoleClaimType, user.Role?.Name ?? "null")
            };

            // создаем объект ClaimsIdentity
            ClaimsIdentity id = new ClaimsIdentity(claims, "ApplicationCookie", ClaimsIdentity.DefaultNameClaimType, ClaimsIdentity.DefaultRoleClaimType);
            // установка аутентификационных куки
            await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(id));
        }