Пример #1
0
        public ServiceResult <Usuario> Create(CreateUsuarioDto createUsuario)
        {
            ServiceResult <Usuario> result;

            try
            {
                IdentityResult idenityResult = null;
                Usuario        usuario       = null;
                var            user          = new BitUser {
                    UserName = createUsuario.Email, Email = createUsuario.Email, EmailConfirmed = createUsuario.EmailConfirmed
                };
                //adding roles
                if (createUsuario.RolesIds.Length > 0)
                {
                    foreach (var roleId in createUsuario.RolesIds)
                    {
                        user.Roles.Add(new BitUserRole {
                            RoleId = roleId
                        });
                    }
                }
                var            securityContext = new BitSecurityContext();
                BitUserManager userManager     = new BitUserManager(new BitUserStore(securityContext));
                using (var scope = new TransactionScope(TransactionScopeOption.Required))
                {
                    idenityResult = userManager.Create(user, createUsuario.Password);
                    if (idenityResult.Succeeded)
                    {
                        usuario = new Usuario {
                            Id = user.Id, Email = user.Email
                        };
                        _usuarioRepository.Insert(usuario);
                        _context.SaveChanges();
                    }
                    else
                    {
                        result = new ServiceErrorResult <Usuario>(new OperationError(ErrorType.Validation, string.Join(",", idenityResult.Errors)));
                    }
                    scope.Complete();
                }

                result = new ServiceSucceedResult <Usuario>(usuario);
            }
            catch (Exception ex)
            {
                OperationError error = new OperationError(ErrorType.Exception, "No se realizó la inserción", ex);
                result = new ServiceErrorResult <Usuario>(ErrorType.Exception, "No se insertó", ex);
            }
            return(result);
        }
        public ConfiguracionSistema Update(string key, string value)
        {
            var conf = _confRepository.Find(key);

            conf.Valor = value;
            _confRepository.Update(conf);
            _context.SaveChanges();
            return(conf);
        }