示例#1
0
        public async Task <SystemValidationModel> Edit(string model)
        {
            var viewModel = JsonConvert.DeserializeObject <RolesEditViewModel>(model);

            var result = _roles.Edit(viewModel);

            if (result.Success && RolId == viewModel.Id)
            {
                var usuario        = _usuarios.GetForLogin(Email);
                var claims         = new ClaimsIdentity();
                var aperturaCierre = _cajaAperturaCierre.GetLastAperturaCierreByUser(usuario.Id, SucursalId);
                if (aperturaCierre == null || aperturaCierre.FechaCierre != null)
                {
                    claims = new ClaimsIdentity(SecurityHelper.GetUserClaims(usuario, usuario.Sucursal), "Cookie");
                }
                else
                {
                    claims = new ClaimsIdentity(SecurityHelper.GetUserClaims(usuario, usuario.Sucursal, aperturaCierre.Caja, aperturaCierre.Id), "Cookie");
                }
                //if (CajaId != 0)
                //{
                //	var caja = _cajas.GetById(CajaId);
                //	claims = new ClaimsIdentity(SecurityHelper.GetUserClaims(usuario, usuario.Sucursal, caja), "Cookie");
                //}
                //else
                //{
                //	claims = new ClaimsIdentity(SecurityHelper.GetUserClaims(usuario, usuario.Sucursal), "Cookie");
                //}

                await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);

                await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claims));
            }
            return(result);
        }