async Task <WrapperSimpleTypesDTO> AsignarCategoriaCandidato() { // Guardo la categoria que seleccione para guardar CategoriasCandidatosDTO categoriaCandidatoParaBorrar = new CategoriasCandidatosDTO { CodigoCandidato = _persona.CandidatoDeLaPersona.Consecutivo, CodigoCategoria = _categoriaSeleccionada.CodigoCategoria, PosicionCampo = _categoriaSeleccionada.PosicionJugador, HabilidadesCandidatos = _habilidadesCandidato.Where(x => x.Habilidades.CodigoCategoria == _categoriaSeleccionada.CodigoCategoria).ToList() }; WrapperSimpleTypesDTO wrapper = null; if (!EsRegistroCategoria) { // Jalo el codigo de categoria que estoy viendo, no la que estoy seleccionando categoriaCandidatoParaBorrar.Consecutivo = _categoriaParaVer.CodigoCategoriaPerfil; if (IsNotConnected) { return(null); } wrapper = await _categoriaService.ModificarCategoriaCandidato(categoriaCandidatoParaBorrar); } else { if (IsNotConnected) { return(null); } wrapper = await _categoriaService.CrearCategoriaCandidatos(categoriaCandidatoParaBorrar); } return(wrapper); }
public async Task <JsonResult> CreateCandidateSkills(CategoriasCandidatosDTO category) { Result <WrapperSimpleTypesDTO> result = new Result <WrapperSimpleTypesDTO>(); try { category.Categorias = null; category.HabilidadesCandidatos.ToList().ForEach(c => { c.Habilidades = null; c.Consecutivo = 0; c.CodigoCategoriaCandidato = 0; }); CategoriasServices categoryService = new CategoriasServices(); if (category.Consecutivo != 0) { result.obj = await categoryService.ModificarCategoriaCandidato(category); } else { result.obj = await categoryService.CrearCategoriaCandidatos(category); } if (result.obj == null) { return(Json(Helper.returnErrorSaveObj(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet)); } return(Json(result, JsonRequestBehavior.AllowGet)); } catch (Exception) { return(Json(Helper.returnErrorSaveObj(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet)); } }
public async Task <CategoriasCandidatosDTO> BuscarCategoriaCandidatoPorConsecutivoAndIdioma(CategoriasCandidatos categoriaCandidatoParaBuscar) { IQueryable <CategoriasCandidatos> queryCandidato = _context.CategoriasCandidatos.Where(x => x.Consecutivo == categoriaCandidatoParaBuscar.Consecutivo).AsQueryable(); CategoriasCandidatosDTO categoriaCandidatoBuscada = await queryCandidato .Select(x => new CategoriasCandidatosDTO { Consecutivo = x.Consecutivo, CodigoCandidato = x.CodigoCandidato, CodigoCategoria = x.CodigoCategoria, PosicionCampo = x.PosicionCampo, Categorias = new CategoriasDTO { Consecutivo = x.Categorias.Consecutivo, CodigoArchivo = x.Categorias.CodigoArchivo, DescripcionIdiomaBuscado = x.Categorias.CategoriasContenidos.Where(y => y.CodigoIdioma == categoriaCandidatoParaBuscar.CodigoIdiomaUsuarioBase).Select(y => y.Descripcion).FirstOrDefault(), CategoriasContenidos = x.Categorias.CategoriasContenidos.Where(y => y.CodigoIdioma == categoriaCandidatoParaBuscar.CodigoIdiomaUsuarioBase) .Select(z => new CategoriasContenidosDTO { Consecutivo = z.Consecutivo, Descripcion = z.Descripcion, CodigoIdioma = z.CodigoIdioma }).ToList() } }) .AsNoTracking() .FirstOrDefaultAsync(); return(categoriaCandidatoBuscada); }
void AdicionarCategoriaSeleccionadaEnEntidad(int consecutivoCreado = 0) { switch (_persona.TipoPerfil) { case TipoPerfil.Candidato: CategoriasCandidatosDTO categoriaCandidato = new CategoriasCandidatosDTO { Consecutivo = consecutivoCreado, CodigoCategoria = _categoriaSeleccionada.CodigoCategoria, CodigoCandidato = _persona.CandidatoDeLaPersona.Consecutivo, PosicionCampo = _categoriaSeleccionada.PosicionJugador, HabilidadesCandidatos = _habilidadesCandidato.Where(x => x.Habilidades.CodigoCategoria == _categoriaSeleccionada.CodigoCategoria).ToList(), Categorias = new CategoriasDTO { CodigoArchivo = _categoriaSeleccionada.CodigoArchivo } }; _persona.CandidatoDeLaPersona.CategoriasCandidatos.Add(categoriaCandidato); break; case TipoPerfil.Grupo: CategoriasGruposDTO categoriaGrupo = new CategoriasGruposDTO { Consecutivo = consecutivoCreado, CodigoCategoria = _categoriaSeleccionada.CodigoCategoria, CodigoGrupo = _persona.GrupoDeLaPersona.Consecutivo, Categorias = new CategoriasDTO { CodigoArchivo = _categoriaSeleccionada.CodigoArchivo } }; _persona.GrupoDeLaPersona.CategoriasGrupos.Add(categoriaGrupo); break; case TipoPerfil.Representante: CategoriasRepresentantesDTO categoriaRepresentante = new CategoriasRepresentantesDTO { Consecutivo = consecutivoCreado, CodigoCategoria = _categoriaSeleccionada.CodigoCategoria, CodigoRepresentante = _persona.RepresentanteDeLaPersona.Consecutivo, Categorias = new CategoriasDTO { CodigoArchivo = _categoriaSeleccionada.CodigoArchivo } }; _persona.RepresentanteDeLaPersona.CategoriasRepresentantes.Add(categoriaRepresentante); break; } }
public async Task <CategoriasCandidatosDTO> BuscarCategoriaCandidatoPorConsecutivoAndIdioma(CategoriasCandidatos categoriaCandidatoParaBuscar) { using (SportsGoEntities context = new SportsGoEntities(false)) { CategoriasRepository categoriasRepo = new CategoriasRepository(context); CategoriasCandidatosDTO categoriaCandidatoBuscada = await categoriasRepo.BuscarCategoriaCandidatoPorConsecutivoAndIdioma(categoriaCandidatoParaBuscar); return(categoriaCandidatoBuscada); } }
async Task <WrapperSimpleTypesDTO> BorrarCategoriaCandidato() { CategoriasCandidatosDTO categoriaCandidatoParaBorrar = new CategoriasCandidatosDTO { Consecutivo = _categoriaParaVer.CodigoCategoriaPerfil }; if (IsNotConnected) { return(null); } WrapperSimpleTypesDTO wrapper = await _categoriaService.EliminarCategoriaCandidato(categoriaCandidatoParaBorrar); return(wrapper); }
public async Task <WrapperSimpleTypesDTO> EliminarCategoriaCandidato(CategoriasCandidatosDTO categoriaCandidatoParaBorrar) { if (categoriaCandidatoParaBorrar == null) { throw new ArgumentNullException("No puedes eliminar una categoriaCandidato si categoriaCandidatoParaBorrar es nula!."); } if (categoriaCandidatoParaBorrar.Consecutivo <= 0) { throw new ArgumentException("categoriaCandidatoParaBorrar vacio y/o invalido!."); } IHttpClient client = ConfigurarHttpClient(); WrapperSimpleTypesDTO wrapperEliminarCategoriaCandidato = await client.PostAsync <CategoriasCandidatosDTO, WrapperSimpleTypesDTO>("Categorias/EliminarCategoriaCandidato", categoriaCandidatoParaBorrar); return(wrapperEliminarCategoriaCandidato); }
public async Task <CategoriasCandidatosDTO> BuscarCategoriaCandidatoPorConsecutivoAndIdioma(CategoriasCandidatosDTO categoriaCandidatoParaBuscar) { if (categoriaCandidatoParaBuscar == null) { throw new ArgumentNullException("No puedes buscar una categoriaCandidato si categoriaCandidatoParaBuscar es nulo!."); } if (categoriaCandidatoParaBuscar.Consecutivo <= 0 || categoriaCandidatoParaBuscar.IdiomaBase == Idioma.SinIdioma) { throw new ArgumentException("categoriaCandidatoParaBuscar vacio y/o invalido!."); } IHttpClient client = ConfigurarHttpClient(); CategoriasCandidatosDTO categoriaCandidatoBuscada = await client.PostAsync("Categorias/BuscarCategoriaCandidatoPorConsecutivoAndIdioma", categoriaCandidatoParaBuscar); return(categoriaCandidatoBuscada); }
public async Task <IHttpActionResult> BuscarCategoriaCandidatoPorConsecutivoAndIdioma(CategoriasCandidatos categoriaCandidatoParaBuscar) { if (categoriaCandidatoParaBuscar == null || categoriaCandidatoParaBuscar.Consecutivo <= 0 || categoriaCandidatoParaBuscar.IdiomaBase == Idioma.SinIdioma) { return(BadRequest("categoriaAnuncioParaBuscar vacio y/o invalido!.")); } try { CategoriasCandidatosDTO categoriaCandidatoBuscada = await _categoriasBusiness.BuscarCategoriaCandidatoPorConsecutivoAndIdioma(categoriaCandidatoParaBuscar); return(Ok(categoriaCandidatoBuscada)); } catch (Exception ex) { return(InternalServerError(ex)); } }
public async Task <WrapperSimpleTypesDTO> ModificarCategoriaCandidato(CategoriasCandidatosDTO categoriaCandidatoParaModificar) { if (categoriaCandidatoParaModificar == null || categoriaCandidatoParaModificar.HabilidadesCandidatos == null) { throw new ArgumentNullException("No puedes modificar una categoriaCandidato si categoriaCandidatoParaModificar es nula!."); } if (categoriaCandidatoParaModificar.Consecutivo <= 0 || categoriaCandidatoParaModificar.CodigoCategoria <= 0 || categoriaCandidatoParaModificar.CodigoCandidato <= 0 || categoriaCandidatoParaModificar.HabilidadesCandidatos.Count <= 0 || !categoriaCandidatoParaModificar.HabilidadesCandidatos.All(x => x.CodigoHabilidad > 0 && x.NumeroEstrellas >= 0 && x.NumeroEstrellas <= 5)) { throw new ArgumentException("categoriaCandidatoParaModificar vacio y/o invalido!."); } IHttpClient client = ConfigurarHttpClient(); WrapperSimpleTypesDTO wrapperModificarCategoriaCandidato = await client.PostAsync <CategoriasCandidatosDTO, WrapperSimpleTypesDTO>("Categorias/ModificarCategoriaCandidato", categoriaCandidatoParaModificar); return(wrapperModificarCategoriaCandidato); }
public async Task <JsonResult> DeleteCandidateSkills(CategoriasCandidatosDTO category) { Result <WrapperSimpleTypesDTO> result = new Result <WrapperSimpleTypesDTO>(); try { CategoriasServices categoryService = new CategoriasServices(); result.obj = await categoryService.EliminarCategoriaCandidato(category); if (result.obj == null) { return(Json(Helper.returnErrorDelete(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet)); } return(Json(result, JsonRequestBehavior.AllowGet)); } catch (Exception) { return(Json(Helper.returnErrorDelete(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet)); } }
public async Task CategoriasServices_CrearCategoriaCandidatos_ShouldCreate() { CategoriasServices categoriaService = new CategoriasServices(); CategoriasCandidatosDTO categoriaCandidato = new CategoriasCandidatosDTO { CodigoCandidato = 5, CodigoCategoria = 3, HabilidadesCandidatos = new List <HabilidadesCandidatosDTO> { new HabilidadesCandidatosDTO { CodigoHabilidad = 2, NumeroEstrellas = 3 } } }; WrapperSimpleTypesDTO wrapper = await categoriaService.CrearCategoriaCandidatos(categoriaCandidato); Assert.IsNotNull(wrapper); Assert.IsTrue(wrapper.Exitoso); }
void RemoverCategoriaParaVerDeEntidad() { switch (_persona.TipoPerfil) { case TipoPerfil.Candidato: CategoriasCandidatosDTO categoriaCandidato = _persona.CandidatoDeLaPersona.CategoriasCandidatos.Where(x => x.CodigoCategoria == _categoriaParaVer.CodigoCategoria).FirstOrDefault(); _persona.CandidatoDeLaPersona.CategoriasCandidatos.Remove(categoriaCandidato); break; case TipoPerfil.Grupo: CategoriasGruposDTO categoriaGrupo = _persona.GrupoDeLaPersona.CategoriasGrupos.Where(x => x.CodigoCategoria == _categoriaParaVer.CodigoCategoria).FirstOrDefault(); _persona.GrupoDeLaPersona.CategoriasGrupos.Remove(categoriaGrupo); break; case TipoPerfil.Representante: CategoriasRepresentantesDTO categoriaRepresentante = _persona.RepresentanteDeLaPersona.CategoriasRepresentantes.Where(x => x.CodigoCategoria == _categoriaParaVer.CodigoCategoria).FirstOrDefault(); _persona.RepresentanteDeLaPersona.CategoriasRepresentantes.Remove(categoriaRepresentante); break; } }
public async Task <List <CategoriasCandidatosDTO> > ListarCategoriasDeUnCandidatoPorIdioma(CategoriasCandidatosDTO categoriaCandidatoParaListar) { if (categoriaCandidatoParaListar == null) { throw new ArgumentNullException("No puedes buscar una categoriaCandidato si categoriaCandidatoParaListar es nulo!."); } if (categoriaCandidatoParaListar.CodigoCandidato <= 0 || categoriaCandidatoParaListar.IdiomaBase == Idioma.SinIdioma) { throw new ArgumentException("categoriaCandidatoParaListar vacio y/o invalido!."); } IHttpClient client = ConfigurarHttpClient(); List <CategoriasCandidatosDTO> listaCategoriasCandidatos = await client.PostAsync <CategoriasCandidatosDTO, List <CategoriasCandidatosDTO> >("Categorias/ListarCategoriasDeUnCandidatoPorIdioma", categoriaCandidatoParaListar); return(listaCategoriasCandidatos); }
public CategoriasModel(CategoriasCandidatosDTO categoriaCandidato) : this(categoriaCandidato.CodigoCategoria, categoriaCandidato.Consecutivo, categoriaCandidato.Categorias.CodigoArchivo, categoriaCandidato.Categorias.DescripcionIdiomaBuscado, categoriaCandidato.Categorias.UrlArchivo, categoriaCandidato.PosicionCampo) { }
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); } }