Esempio n. 1
0
        public async Task <HabilidadesCandidatosDTO> BuscarHabilidadCandidatoPorIdioma(HabilidadesCandidatos habilidadCandidatoParaBuscar)
        {
            using (SportsGoEntities context = new SportsGoEntities(false))
            {
                HabilidadesRepository    habilidadesRepo           = new HabilidadesRepository(context);
                HabilidadesCandidatosDTO habilidadCandidatoBuscada = await habilidadesRepo.BuscarHabilidadCandidatoPorIdioma(habilidadCandidatoParaBuscar);

                return(habilidadCandidatoBuscada);
            }
        }
        public async Task <WrapperSimpleTypesDTO> EliminarHabilidadCandidato(HabilidadesCandidatosDTO habilidadCandidatoParaBorrar)
        {
            if (habilidadCandidatoParaBorrar == null)
            {
                throw new ArgumentNullException("No puedes eliminar una habilidadCandidato si habilidadCandidatoParaBorrar es nulo!.");
            }
            if (habilidadCandidatoParaBorrar.Consecutivo <= 0)
            {
                throw new ArgumentException("habilidadCandidatoParaBorrar para buscar vacio y/o invalido!.");
            }

            IHttpClient client = ConfigurarHttpClient();

            WrapperSimpleTypesDTO wrapperEliminarHabilidadCandidato = await client.PostAsync <HabilidadesCandidatosDTO, WrapperSimpleTypesDTO>("Habilidades/EliminarHabilidadCandidato", habilidadCandidatoParaBorrar);

            return(wrapperEliminarHabilidadCandidato);
        }
        public async Task <HabilidadesCandidatosDTO> BuscarHabilidadCandidatoPorIdioma(HabilidadesCandidatosDTO habilidadCandidatoParaBuscar)
        {
            if (habilidadCandidatoParaBuscar == null)
            {
                throw new ArgumentNullException("No puedes buscar una habilidadCandidato si habilidadCandidatoParaBuscar es nulo!.");
            }
            if (habilidadCandidatoParaBuscar.Consecutivo <= 0 || habilidadCandidatoParaBuscar.IdiomaBase == Idioma.SinIdioma)
            {
                throw new ArgumentException("habilidadCandidatoParaBuscar vacio y/o invalido!.");
            }

            IHttpClient client = ConfigurarHttpClient();

            HabilidadesCandidatosDTO habilidadCandidatoBuscada = await client.PostAsync("Habilidades/BuscarHabilidadCandidatoPorIdioma", habilidadCandidatoParaBuscar);

            return(habilidadCandidatoBuscada);
        }
        public async Task <IHttpActionResult> BuscarHabilidadCandidatoPorIdioma(HabilidadesCandidatos habilidadCandidatoParaBuscar)
        {
            if (habilidadCandidatoParaBuscar == null || habilidadCandidatoParaBuscar.Consecutivo <= 0 || habilidadCandidatoParaBuscar.IdiomaBase == Idioma.SinIdioma)
            {
                return(BadRequest("habilidadCandidatoParaBuscar vacio y/o invalido!."));
            }

            try
            {
                HabilidadesCandidatosDTO habilidadCandidatoBuscada = await _habilidadesBusiness.BuscarHabilidadCandidatoPorIdioma(habilidadCandidatoParaBuscar);

                return(Ok(habilidadCandidatoBuscada));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
        public async Task <JsonResult> GetListAbilitiesByCandidate(HabilidadesCandidatosDTO ability)
        {
            Result <HabilidadesCandidatosDTO> result = new Result <HabilidadesCandidatosDTO>();

            try
            {
                HabilidadesServices categoryService = new HabilidadesServices();
                ability.CodigoIdiomaUsuarioBase = UserLoggedIn().PersonaDelUsuario.CodigoIdioma;
                result.list = await categoryService.ListarHabilidadesCandidatoPorCategoriaCandidatoAndIdioma(ability);

                if (result.list == null || result.list.Count == 0)
                {
                    return(Json(Helper.returnErrorList(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet));
                }

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json(Helper.returnErrorList(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet));
            }
        }
Esempio n. 6
0
        public async Task <HabilidadesCandidatosDTO> BuscarHabilidadCandidatoPorIdioma(HabilidadesCandidatos habilidadCandidatoParaBuscar)
        {
            IQueryable <HabilidadesCandidatos> queryHabilidadesCandidatos = _context.HabilidadesCandidatos.Where(x => x.Consecutivo == habilidadCandidatoParaBuscar.Consecutivo).AsQueryable();

            HabilidadesCandidatosDTO habilidadesCandidatos = await queryHabilidadesCandidatos
                                                             .Select(x => new HabilidadesCandidatosDTO
            {
                Consecutivo              = x.Consecutivo,
                CodigoHabilidad          = x.CodigoHabilidad,
                CodigoCategoriaCandidato = x.CodigoCategoriaCandidato,
                NumeroEstrellas          = x.NumeroEstrellas,
                Habilidades              = new HabilidadesDTO
                {
                    Consecutivo              = x.Habilidades.Consecutivo,
                    CodigoCategoria          = x.Habilidades.CodigoCategoria,
                    CodigoTipoHabilidad      = x.Habilidades.CodigoTipoHabilidad,
                    DescripcionIdiomaBuscado = x.Habilidades.HabilidadesContenidos.Where(y => y.CodigoIdioma == habilidadCandidatoParaBuscar.CodigoIdiomaUsuarioBase).Select(z => z.Descripcion).FirstOrDefault()
                }
            })
                                                             .AsNoTracking()
                                                             .FirstOrDefaultAsync();

            return(habilidadesCandidatos);
        }
        public async Task <List <HabilidadesCandidatosDTO> > ListarHabilidadesCandidatoPorCategoriaCandidatoAndIdioma(HabilidadesCandidatosDTO habilidadCandidatoParaListar)
        {
            if (habilidadCandidatoParaListar == null)
            {
                throw new ArgumentNullException("No puedes listar las habilidadesCandidato si el habilidadCandidatoParaListar es nulo!.");
            }
            if (habilidadCandidatoParaListar.CodigoCategoriaCandidato <= 0 || habilidadCandidatoParaListar.IdiomaBase == Idioma.SinIdioma)
            {
                throw new ArgumentNullException("habilidadCandidatoParaListar para listar vacio y/o invalido!.");
            }

            IHttpClient client = ConfigurarHttpClient();

            List <HabilidadesCandidatosDTO> listaHabilidadesCandidato = await client.PostAsync <HabilidadesCandidatosDTO, List <HabilidadesCandidatosDTO> >("Habilidades/ListarHabilidadesCandidatoPorCategoriaCandidatoAndIdioma", habilidadCandidatoParaListar);

            return(listaHabilidadesCandidato);
        }
        public override async void Init(object initData)
        {
            base.Init(initData);

            ControlPerfil control = initData as ControlPerfil;

            // La persona que estoy viendo, puede ser yo, otra persona o un primer registro
            _persona = control.PersonaParaVer;

            // La categoria que seleccione para ver, si es una nueva, el codigo de categoria es <= 0
            // Si es registro de categoria esto es nulo y no hay problema
            _categoriaParaVer = control.CategoriaSeleccionada;

            // Marco esa categoria como seleccionada
            // Si es registro de categoria esto es nulo y no hay problema
            _categoriaSeleccionada = control.CategoriaSeleccionada;

            // Si voy a registrar una nueva categoria, soy yo o es un nuevo registro
            if (EsMiPersonaYNoPrimerRegistro || EsPrimerRegistro)
            {
                CategoriasDTO categoria = new CategoriasDTO
                {
                    IdiomaBase = App.IdiomaPersona
                };

                try
                {
                    if (IsNotConnected)
                    {
                        return;
                    }
                    List <CategoriasModel> listaCategorias = CategoriasModel.CrearListaCategorias(await _categoriaService.ListarCategoriasPorIdioma(categoria));

                    // Filtro las categorias que ya estan agregadas y que no es la que seleccione, asi evito repetir categorias
                    listaCategorias = listaCategorias.Where(x => x.CodigoCategoria == _categoriaParaVer.CodigoCategoria || !control.CategoriasQueYaEstanAgregadas.Contains(x.CodigoCategoria)).ToList();

                    if (!EsRegistroCategoria || EsPrimerRegistroEdicionCategoria)
                    {
                        // Si no estoy registrando una categoria, selecciono la categoria que estoy editando
                        CategoriasModel categoriaModel = listaCategorias.Where(x => x.CodigoCategoria == _categoriaParaVer.CodigoCategoria).FirstOrDefault();

                        categoriaModel.EstaSeleccionado      = true;
                        categoriaModel.CodigoCategoriaPerfil = _categoriaParaVer.CodigoCategoriaPerfil;

                        listaCategorias.Remove(categoriaModel);
                        listaCategorias.Insert(0, categoriaModel);

                        categoriaModel.PosicionJugador = control.CategoriaSeleccionada.PosicionJugador;

                        _categoriaParaVer      = categoriaModel;
                        _categoriaSeleccionada = categoriaModel;
                    }

                    Categorias = new ObservableCollection <CategoriasModel>(listaCategorias);
                }
                catch (Exception)
                {
                    await CoreMethods.DisplayAlert(SportsGoResources.Error, SportsGoResources.ErrorListarDeportes, "OK");

                    return;
                }
            }
            else
            {
                // Si no soy yo o no es un primer registro, cargo la categoria que estoy viendo nada mas
                Categorias = new ObservableCollection <CategoriasModel> {
                    _categoriaParaVer
                };
            }

            // Si soy candidato, no estoy registrando una categoria y no es un primer registro,
            // Listo las habilidades del candidato, sin importar si soy yo u otra persona viendo mi perfil
            if (EsCandidato && !EsRegistroCategoria && !EsPrimerRegistro)
            {
                HabilidadesCandidatosDTO habilidadesCandidatoParaBuscar = new HabilidadesCandidatosDTO
                {
                    CodigoCategoriaCandidato = _categoriaParaVer.CodigoCategoriaPerfil,
                    IdiomaBase = App.IdiomaPersona
                };

                try
                {
                    if (IsNotConnected)
                    {
                        return;
                    }
                    HabilidadesCandidato = new ObservableRangeCollection <HabilidadesCandidatosDTO>(await _habilidadesService.ListarHabilidadesCandidatoPorCategoriaCandidatoAndIdioma(habilidadesCandidatoParaBuscar) ?? new List <HabilidadesCandidatosDTO>());
                }
                catch (Exception)
                {
                    await CoreMethods.DisplayAlert(SportsGoResources.Error, SportsGoResources.ErrorListarHabilidades, "OK");
                }
            }
            else if (EsCandidato && EsPrimerRegistroEdicionCategoria)
            {
                CategoriasCandidatosDTO categoriaParaVer = _persona.CandidatoDeLaPersona.CategoriasCandidatos.Where(x => x.CodigoCategoria == _categoriaParaVer.CodigoCategoria).FirstOrDefault();
                HabilidadesCandidato = new ObservableRangeCollection <HabilidadesCandidatosDTO>(categoriaParaVer.HabilidadesCandidatos);
            }
        }