public async Task <IActionResult> AceitarConvite([FromBody] AceitarConviteViewModel viewModel)
        {
            try
            {
                var convite = await _conviteServico.RetornarPeloId(viewModel.ConviteId);

                var usuario = await _usuarioServico.RetornarPeloId(viewModel.UsuarioId);

                if (convite == null || usuario == null)
                {
                    return(BadRequest("O convite ou a família não foi encontrado!"));
                }

                _conviteServico.UsarConvite(convite, usuario);

                var usuarioFamilia = new UsuarioFamilia(viewModel.UsuarioId, convite.FamiliaId);
                await _usuarioFamiliaServico.Criar(usuarioFamilia);

                return(new ObjectResult(usuario.UsuarioId));
            }
            catch (ValidacaoEntidadeException ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public UsuarioFamiliaGetDto GetUsuarioFamilia(string Dni)
        {
            UsuarioFamilia usuarioFamilia = _context.UsuarioFamilias.SingleOrDefault(x => x.Dni == Dni);

            if (usuarioFamilia != null)
            {
                UsuarioFamiliaGetDto usuarioFamiliaGetDto = _mapper.Map <UsuarioFamiliaGetDto>(usuarioFamilia);
                return(usuarioFamiliaGetDto);
            }
            throw new UserFamilyNotFoundException();
        }
        public bool AgregarUsuarioSolicitudFamilia(SolicitudUsuarioDto solicitud)
        {
            try
            {
                UsuarioFamilia usuario = _mapper.Map <UsuarioFamilia>(solicitud);
                _context.UsuarioFamilias.Add(usuario);

                var entry = new RolUsuario
                {
                    Dni         = usuario.Dni,
                    RolPerfilId = 2,
                };
                _context.RolUsuarios.Add(entry);
                _context.SaveChanges();
                return(true);
            }catch (Exception)
            {
                return(false);
            }
        }
Beispiel #4
0
        public UsuarioFamiliaDto Remove(string UserDni)
        {
            UsuarioFamiliaDto usuarioFamiliaDto = null;
            // Valida que solo que borren los roles del grupo familiar y no de distribuidora
            RolUsuario RolUsuarioUser = _context.RolUsuarios.SingleOrDefault(x => x.Dni == UserDni && x.RolPerfil.PerfilId == 1);

            UsuarioFamilia usuarioFamilia = _context.UsuarioFamilias.SingleOrDefault(x => x.Dni == UserDni);

            usuarioFamiliaDto = _mapper.Map <UsuarioFamiliaDto>(usuarioFamilia);

            var entityUsuarioFamilia = _context.UsuarioFamilias.Attach(usuarioFamilia);

            entityUsuarioFamilia.State = EntityState.Deleted;
            var entityRolUsuario = _context.RolUsuarios.Attach(RolUsuarioUser);

            entityRolUsuario.State = EntityState.Deleted;
            _context.SaveChanges();

            return(usuarioFamiliaDto);
        }
        public UsuarioDataDto GetDatosUsuario(String Dni, String Contrasena)
        {
            UsuarioAccesoDto         usuario = ValidateLogin(Dni, Contrasena);
            List <RolUsuario>        rolesUsuario;
            List <RolUsuarioDataDto> rolesUsuarioData;
            TiendaDataDto            tiendaData;
            FamiliaDataDto           familiaData;
            UsuarioFamilia           usuarioFamilia = _context.UsuarioFamilias.SingleOrDefault(x => x.Dni == Dni);

            if (usuarioFamilia != null)
            {
                Familia familia = _context.Familias.Single(x => x.FamiliaId == usuarioFamilia.FamiliaId);
                familiaData = _mapper.Map <FamiliaDataDto>(familia);
            }
            else
            {
                familiaData = null;
            }
            UsuarioTienda usuarioTienda = _context.UsuarioTiendas.SingleOrDefault(x => x.Dni == Dni);

            if (usuarioTienda != null)
            {
                Tienda tienda = _context.Tiendas.Single(x => x.TiendaId == usuarioTienda.TiendaId);
                tiendaData = _mapper.Map <TiendaDataDto>(tienda);
            }
            else
            {
                tiendaData = null;
            }
            rolesUsuario     = _context.RolUsuarios.Where(x => x.Dni == Dni).OrderBy(x => x.RolPerfilId).ToList();
            rolesUsuarioData = _mapper.Map <List <RolUsuarioDataDto> >(rolesUsuario);
            Solicitud solicitud = _context.Solicitudes.SingleOrDefault(x => x.Dni == Dni);

            return(new UsuarioDataDto()
            {
                usuario = usuario, familia = familiaData, tienda = tiendaData, roles = rolesUsuarioData, solicitud = solicitud
            });
        }