Esempio n. 1
0
        public async Task <ActionResult> Create(UsuarioVm usuarioVm)
        {
            try
            {
                ValidarUsuario(usuarioVm);
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex.Message));
            }

            Permiso permiso = await _repositorioPermisos.ObtenerPorId(usuarioVm.IdPermiso);

            if (permiso is null)
            {
                return(NotFound($"No existe el permiso con id {usuarioVm.IdPermiso}"));
            }

            Usuario usuario = new Usuario()
            {
                Nombre      = usuarioVm.Nombre,
                Contrasenia = usuarioVm.HashContrasenia,
                Permiso     = permiso
            };

            if (_repositorioPermisos.EsPeritoNoResponsable(permiso.Id))
            {
                usuario.ImpRepacionDanios = usuarioVm.ImpReparacionDanios;
            }
            else
            {
                usuario.ImpRepacionDanios = 0;
            }

            try
            {
                await _repositorioUsuarios.Guardar(usuario);
            }
            catch (Exception)
            {
                return(StatusCode(500, "Ha habido un error al crear el usuario"));
            }

            return(Ok(true));
        }
        protected void GuadarButton_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                bool paso = false;
                RepositorioUsuarios repositorio   = new RepositorioUsuarios();
                Usuarios            usuarios      = LLenaClase();
                TipoTitulo          tipoTitulo    = TipoTitulo.OperacionFallida;
                TiposMensajes       tiposMensajes = TiposMensajes.RegistroNoGuardado;
                IconType            iconType      = IconType.error;
                if (!RepositorioUsuarios.ValidarUsuario(usuarios))
                {
                    Utils.Alerta(this, TipoTitulo.OperacionFallida, TiposMensajes.UsuarioExistente, IconType.error);
                    return;
                }
                if (!RepositorioUsuarios.ValidarCorreo(usuarios))
                {
                    Utils.Alerta(this, TipoTitulo.OperacionFallida, TiposMensajes.CorreExistente, IconType.error);
                    return;
                }
                if (usuarios.UsuarioId == 0)
                {
                    paso = repositorio.Guardar(usuarios);
                }
                else
                {
                    if (!ExisteEnLaBaseDeDatos())
                    {
                        Utils.ToastSweet(this, IconType.info, TiposMensajes.RegistroNoEncontrado);
                        return;
                    }
                    paso = repositorio.Modificar(usuarios);
                }

                if (paso)
                {
                    Limpiar();
                    tipoTitulo    = TipoTitulo.OperacionExitosa;
                    tiposMensajes = TiposMensajes.RegistroGuardado;
                    iconType      = IconType.success;
                }
                Utils.Alerta(this, tipoTitulo, tiposMensajes, iconType);
            }
        }
Esempio n. 3
0
        private void GuardarUsuario(Usuarios usuarios)
        {
            if (Page.IsValid)
            {
                if (!ValidarClave())
                {
                    return;
                }
                if (!RepositorioUsuarios.ValidarUsuario(usuarios))
                {
                    Utils.Alerta(this, Enums.TipoTitulo.OperacionFallida, Enums.TiposMensajes.UsuarioExistente, Enums.IconType.error);
                    return;
                }
                if (!RepositorioUsuarios.ValidarCorreo(usuarios))
                {
                    Utils.Alerta(this, Enums.TipoTitulo.OperacionFallida, Enums.TiposMensajes.CorreExistente, Enums.IconType.error);
                    return;
                }
                RepositorioUsuarios        repositorio        = new RepositorioUsuarios();
                RepositorioBase <Empresas> repositorioEmpresa = new RepositorioBase <Empresas>();
                Empresas      empresas      = new Empresas();
                TipoTitulo    tipoTitulo    = TipoTitulo.OperacionFallida;
                TiposMensajes tiposMensajes = TiposMensajes.RegistroNoGuardado;
                IconType      iconType      = IconType.error;

                if (repositorio.Guardar(usuarios))
                {
                    tipoTitulo    = TipoTitulo.OperacionExitosa;
                    tiposMensajes = TiposMensajes.RegistroGuardado;
                    iconType      = IconType.success;
                    if (usuarios.EsPropietarioEmpresa)
                    {
                        empresas.UsuarioId     = usuarios.UsuarioId;
                        empresas.NombreEmpresa = NombreEmpresaTxt.Text;
                        repositorioEmpresa.Guardar(empresas);
                        usuarios.Empresa = empresas.EmpresaID;
                        repositorio.Modificar(usuarios);
                        repositorio.Dispose();
                    }
                    else
                    {
                        if (!ExisteEmpresa())
                        {
                            Utils.Alerta(this, TipoTitulo.OperacionFallida, TiposMensajes.EmpresaNoExiste, IconType.error);
                            return;
                        }
                        RepositorioBase <SolicitudUsuarios> repositorioBase = new RepositorioBase <SolicitudUsuarios>();
                        SolicitudUsuarios solicitud = new SolicitudUsuarios
                        {
                            SolicitudId = 0,
                            UsuarioId   = usuarios.UsuarioId,
                            EmpresaId   = usuarios.Empresa,
                            Estado      = EstadoSolicitud.Pendiente
                        };
                        if (repositorioBase.Guardar(solicitud))
                        {
                            Utils.Alerta(this, TipoTitulo.Informacion, TiposMensajes.EsperarConfirmacion, IconType.info);
                        }
                        else
                        {
                            Utils.ToastSweet(this, IconType.error, TiposMensajes.ComunicarseConAdmi);
                        }
                        repositorioBase.Dispose();
                    }
                }
                else
                {
                    Utils.Alerta(this, TipoTitulo.OperacionFallida, TiposMensajes.RegistroNoGuardado, IconType.error);
                }
                if (usuarios.EsPropietarioEmpresa)
                {
                    UserNameTextBox.Text = usuarios.UserName;
                    PasswordTextBox.Text = PasswordComoEmpresa.Text;
                    LoginButton_Click(null, null);
                }
                Utils.Alerta(this, tipoTitulo, tiposMensajes, iconType);
                repositorio.Dispose();
                repositorioEmpresa.Dispose();
            }
        }