Ejemplo n.º 1
0
        public IPagedListMetaData <UsuarioDTO> GetList(UsuarioCriteria criteria)
        {
            var _manejadorSP = ServiceLocator.Current.GetInstance <IStoreProcedureRepository <UsuarioDTO> >();

            var parametros = new List <Object>();

            var identificacion = new SqlParameter("@identificacion", SqlDbType.NVarChar)
            {
                Value = string.IsNullOrWhiteSpace(criteria.Identificacion) ? null : criteria.Identificacion
            };

            var apellidos = new SqlParameter("@cuenta", SqlDbType.NVarChar)
            {
                Value = string.IsNullOrWhiteSpace(criteria.Cuenta) ? null : criteria.Cuenta
            };

            var rol = new SqlParameter("@en_rol_id", SqlDbType.Int)
            {
                Value = criteria.RolId
            };

            parametros.Add(apellidos);
            parametros.Add(identificacion);
            parametros.Add(rol);

            var resultadoPaginado = _manejadorSP.SpConResultadosPaginado("pro_obt_usuarios", parametros, criteria.NumeroPagina);

            return(resultadoPaginado);
        }
Ejemplo n.º 2
0
        public ActionResult Authenticate(SimpleLoginDto login)
        {
            try
            {
                var tipoCuenta = _tipoCuentaService.GetByCriteria(TipoCuentaCriteria.Create().EqualNombre(login.TipoCuenta));
                var user       = _service.GetByCriteria(UsuarioCriteria.Create().ByTelefono(login.Telefono));
                var cuentas    = _cuentaService.GetCollectionByCriteria(CuentaUsuarioCriteria.Create().ByIdUsuario(user.Id.Value));

                if (!cuentas.Any(item => item.IdTipoCuenta == tipoCuenta.Id && item.Password == StringHelper.GetSHA1(login.Password)))
                {
                    return(Unauthorized());
                }

                var token = JWTTokenGenerator.GenerateToken(login.Telefono);
                if (string.IsNullOrWhiteSpace(token))
                {
                    var error = new ValidationProblemDetails
                    {
                        Title  = "Error de autenticación",
                        Detail = "No se ha podido generar el token de autorización."
                    };
                    return(ValidationProblem(error));
                }

                return(Ok(new { token }));
            }catch
            {
                return(NoContent());
            }
        }
Ejemplo n.º 3
0
        public JsonResult Index(UsuarioCriteria criteria)
        {
            var resulatdo     = _iUsuarioService.GetList(criteria);
            var personasVista = (from x in resulatdo.Data
                                 let ApellidosYNombres = x.Apellidos + " " + x.Nombres
                                                         let RolIds = string.IsNullOrWhiteSpace(x.RolIds) ? null : getRolIds(x.RolIds)
                                                                      let Clave = string.Empty
                                                                                  orderby x.Nombres
                                                                                  select new
            {
                x.Id,
                x.Nombres,
                x.Apellidos,
                x.Identificacion,
                Clave,
                x.Correo,
                x.Cuenta,
                x.Estado,
                x.PersonaId,
                x.EstadoNombre,
                x.RolNombres,
                RolIds,
                ApellidosYNombres
            });
            var resultado = new
            {
                Data = personasVista,
                resulatdo.TotalRegistros
            };

            return(Json(resultado, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 4
0
        public IActionResult Create(CuentaUsuarioDto cuentaUsuario)
        {
            try
            {
                if (cuentaUsuario.Usuario == null)
                {
                    throw new ArgumentException("La información para la cuenta de usuario está incompleta.");
                }

                var tiposCuenta = _tipoCuentaService.GetAll();
                if (!tiposCuenta.Any(item => item.Nombre.Equals("cliente", StringComparison.InvariantCultureIgnoreCase)))
                {
                    throw new ArgumentException("No se ha encontrado el tipo de cuenta de cliente.");
                }

                if (_usuarioService.GetByCriteria(UsuarioCriteria.Create().ByTelefono(cuentaUsuario.Usuario.Telefono)) != null)
                {
                    throw new Exception("El número telefónico proporcionado ya se encuentra registrado");
                }

                var cuenta = _mapper.Map <CuentaUsuario>(cuentaUsuario);
                cuenta.IdTipoCuenta = tiposCuenta.First(item => item.Nombre.Equals("cliente", StringComparison.InvariantCultureIgnoreCase)).Id;

                var imagen = new Imagen
                {
                    Image        = ImageConvertHelper.Base64ToByteArray(cuentaUsuario.Usuario.Imagen),
                    NombreImagen = cuentaUsuario.Usuario.NombreImagen
                };
                cuenta.Usuario.Imagen = imagen;

                var result = _cuentaUsuarioService.Create(cuenta);
                result.Usuario.Cuentas.Clear();
                return(Created("", result.Id));
            }
            catch (DbUpdateException ex)
            {
                var error = new ValidationProblemDetails
                {
                    Title  = "Error de creacion de cuenta",
                    Detail = (ex.InnerException as PostgresException).Detail
                };
                return(ValidationProblem(error));
            }
            catch (Exception ex)
            {
                var error = new ValidationProblemDetails
                {
                    Title  = "Error de creacion de cuenta",
                    Detail = ex.Message
                };
                return(ValidationProblem(error));
            }
        }
Ejemplo n.º 5
0
        private void Buscar()
        {
            // cargo los filtros
            UsuarioCriteria criteria = new UsuarioCriteria();

            criteria.NombreUsuario = this.txtNombre.Text.Trim();
            criteria.RolId         = this.ddlRoles.SelectedIndex != 0 ? long.Parse(this.ddlRoles.SelectedValue) : default(long?);
            criteria.Cuit          = this.txtCuit.Text.Trim() != string.Empty ? long.Parse(this.txtCuit.Text.Trim()) : default(long?);
            criteria.RazonSocial   = this.txtRazonSocial.Text.Trim();
            List <UsuarioDto> list = ServiceFactory.GetSecurityService().ObtenerUsuarios(criteria);

            this.lblCantReg.Text = string.Format(" ({0})", list.Count);
            this.Grid.DataSource = list;
            this.Grid.DataBind();
        }
Ejemplo n.º 6
0
        public IPagedListMetaData <IUsuario> Buscar(UsuarioCriteria criteria, int Skip, int Take)
        {
            Guard.AgainstLessThanValue(Skip, "Skip", 0);
            Guard.AgainstLessThanValue(Take, "Take", 0);


            var query = GetSet().AsQueryable();

            if (!string.IsNullOrEmpty(criteria.Identificacion))
            {
                query = query.Where(p => p.Identificacion.Trim().StartsWith(criteria.Identificacion.Trim()));
            }

            if (!string.IsNullOrEmpty(criteria.Cuenta))
            {
                query = query.Where(p => p.Cuenta.ToUpper().Trim().Contains(criteria.Cuenta.ToUpper().Trim()));
            }


            query = query.OrderBy(p => p.Apellidos);

            var totalResultSetCount = query.Count();

            query = query.Skip(Skip).Take(Take);


            IEnumerable <IUsuario> resultList;

            if (totalResultSetCount > 0)
            {
                resultList = query.ToList();
            }
            else
            {
                resultList = new List <Usuario>();
            }

            var result = new PagedListMetaData <IUsuario>();

            result.TotalRegistros = totalResultSetCount;
            result.Data           = resultList.ToList();


            return(result);
        }
Ejemplo n.º 7
0
        public IActionResult GetByTelefono(string numero)
        {
            try
            {
                var usuario = _usuarioService.GetByCriteria(UsuarioCriteria.Create().ByTelefono(numero));
                if (usuario == null)
                {
                    return(NoContent());
                }

                var cuentas = _cuentaUsuarioService.GetCollectionByCriteria(CuentaUsuarioCriteria.Create().ByIdUsuario(usuario.Id.Value));
                if (cuentas == null)
                {
                    return(NoContent());
                }

                var tiposCuenta   = _tipoCuentaService.GetAll();
                var tipoConductor = tiposCuenta.FirstOrDefault(tc => tc.Nombre.Equals("conductor", StringComparison.InvariantCultureIgnoreCase));

                if (tipoConductor == null)
                {
                    return(NoContent());
                }

                var cuenta = cuentas.FirstOrDefault(c => c.IdTipoCuenta == tipoConductor.Id);
                if (cuenta == null)
                {
                    return(NoContent());
                }

                return(Ok(new { cuenta.Id }));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Ejemplo n.º 8
0
 public List <UsuarioDto> ObtenerUsuarios(UsuarioCriteria criteria)
 {
     using (var ctx = new FacturaElectronicaEntities())
     {
         IQueryable <Usuario> query = ctx.Usuarios;
         if (!string.IsNullOrEmpty(criteria.NombreUsuario))
         {
             query = query.Where(u => u.NombreUsuario.Contains(criteria.NombreUsuario));
         }
         if (criteria.RolId.HasValue)
         {
             query = query.Where(u => u.Roles.Count > 0 && u.Roles.FirstOrDefault().Id == criteria.RolId);
         }
         if (!string.IsNullOrEmpty(criteria.RazonSocial))
         {
             query = query.Where(u => u.Cliente != null && u.Cliente.RazonSocial.Contains(criteria.RazonSocial));
         }
         if (criteria.Cuit.HasValue)
         {
             query = query.Where(u => u.Cliente.CUIT == criteria.Cuit.Value);
         }
         return(ToUsuarioDtoList(query.ToList()));
     }
 }