public async Task <JsonResult> GetListPostsByCandidate(CandidatosVideosDTO posts)
        {
            if (posts.CodigoCandidato == 0)
            {
                return(Json(Helper.returnNoDataList(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet));
            }

            Result <CandidatosVideosDTO> result = new Result <CandidatosVideosDTO>();

            try
            {
                CandidatosServices categoryService = new CandidatosServices();
                result.list = await categoryService.ListarCandidatosVideosDeUnCandidato(posts);

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

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json(Helper.returnErrorObj(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet));
            }
        }
        public async Task <JsonResult> CreatePostsCandidate(CandidatosVideosDTO post)
        {
            if (!await ValidateIfOperationIsSupportedByPlan(TipoOperacion.VideosPerfil))
            {
                return(Json(Helper.returnErrorUnauthorizedByPlan(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet));
            }

            Result <WrapperSimpleTypesDTO> result = new Result <WrapperSimpleTypesDTO>();

            try
            {
                CandidatosServices categoryService = new CandidatosServices();
                if (post.Consecutivo != 0)
                {
                    post.ArchivoContenido = null;
                    result.obj            = await categoryService.ModificarCandidatoVideo(post);
                }

                else
                {
                    result.obj = await categoryService.CrearCandidatoVideo(post);
                }

                if (result.obj == null)
                {
                    return(Json(Helper.returnErrorObj(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet));
                }

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json(Helper.returnErrorObj(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet));
            }
        }
        public BiografiaTimeLineModel(CandidatosVideosDTO candidatoVideo)
        {
            Titulo              = candidatoVideo.Titulo;
            Descripcion         = candidatoVideo.Descripcion;
            DateTimeCreacion    = candidatoVideo.Creacion;
            FechaCreacion       = candidatoVideo.Creacion.ToString("d");
            UrlArchivo          = candidatoVideo.UrlArchivo;
            CodigoArchivo       = candidatoVideo.CodigoArchivo;
            CodigoPublicacion   = candidatoVideo.Consecutivo;
            TipoArchivoTimeLine = TipoArchivo.Video;

            TipoTimeLine = TipoItemTimeLine.Publicacion;
        }
        public async Task CandidatosServices_ListarCandidatosVideos_ShouldList()
        {
            CandidatosServices candidatoService = new CandidatosServices();

            CandidatosVideosDTO buscador = new CandidatosVideosDTO
            {
                SkipIndexBase           = 0,
                TakeIndexBase           = 20,
                IdentificadorParaBuscar = "Bryan",
                CodigoCandidato         = 5
            };

            List <CandidatosVideosDTO> listaCandidatos = await candidatoService.ListarCandidatosVideosDeUnCandidato(buscador);

            Assert.IsNotNull(listaCandidatos);
        }
        public async Task <WrapperSimpleTypesDTO> EliminarCandidatoVideo(CandidatosVideosDTO candidatoVideoParaEliminar)
        {
            if (candidatoVideoParaEliminar == null)
            {
                throw new ArgumentNullException("No puedes modificar un candidatoVideo si candidatoVideoParaEliminar es nulo!.");
            }
            if (candidatoVideoParaEliminar.Consecutivo <= 0 || candidatoVideoParaEliminar.CodigoArchivo <= 0)
            {
                throw new ArgumentException("candidatoVideoParaEliminar vacio y/o invalido!.");
            }

            IHttpClient client = ConfigurarHttpClient();

            WrapperSimpleTypesDTO wrapperEliminarCandidatoVideo = await client.PostAsync <CandidatosVideosDTO, WrapperSimpleTypesDTO>("Candidatos/EliminarCandidatoVideo", candidatoVideoParaEliminar);

            return(wrapperEliminarCandidatoVideo);
        }
        public async Task <CandidatosVideosDTO> BuscarCandidatoVideo(CandidatosVideosDTO candidatoVideoParaBuscar)
        {
            if (candidatoVideoParaBuscar == null)
            {
                throw new ArgumentNullException("No puedes buscar un candidatoVideo si candidatoVideoParaBuscar es nulo!.");
            }
            if (candidatoVideoParaBuscar.Consecutivo <= 0)
            {
                throw new ArgumentException("candidatoVideoParaBuscar vacio y/o invalido!.");
            }

            IHttpClient client = ConfigurarHttpClient();

            CandidatosVideosDTO candidatoVideoBuscado = await client.PostAsync("Candidatos/BuscarCandidatoVideo", candidatoVideoParaBuscar);

            return(candidatoVideoBuscado);
        }
        public async Task <JsonResult> DeletePostsCandidate(CandidatosVideosDTO post)
        {
            Result <WrapperSimpleTypesDTO> result = new Result <WrapperSimpleTypesDTO>();

            try
            {
                CandidatosServices categoryService = new CandidatosServices();
                result.obj = await categoryService.EliminarCandidatoVideo(post);

                if (result.obj == null)
                {
                    return(Json(Helper.returnErrorObj(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet));
                }

                return(Json(Helper.returnSuccessDeleteObj(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json(Helper.returnErrorObj(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet));
            }
        }
        public async Task <WrapperSimpleTypesDTO> ModificarCandidatoVideo(CandidatosVideosDTO candidatoVideoParaModificar)
        {
            if (candidatoVideoParaModificar == null)
            {
                throw new ArgumentNullException("No puedes modificar un candidatoVideo si candidatoVideoParaModificar es nulo!.");
            }
            if (candidatoVideoParaModificar.Consecutivo <= 0 || string.IsNullOrWhiteSpace(candidatoVideoParaModificar.Titulo))
            {
                throw new ArgumentException("candidatoVideoParaModificar vacio y/o invalido!.");
            }
            if (candidatoVideoParaModificar.ArchivoContenido != null)
            {
                throw new ArgumentException("El archivo debe modificarse por su controller!.");
            }

            IHttpClient client = ConfigurarHttpClient();

            WrapperSimpleTypesDTO wrapperModificarCandidatoVideo = await client.PostAsync <CandidatosVideosDTO, WrapperSimpleTypesDTO>("Candidatos/ModificarCandidatoVideo", candidatoVideoParaModificar);

            return(wrapperModificarCandidatoVideo);
        }
        public async Task <WrapperSimpleTypesDTO> CrearCandidatoVideo(CandidatosVideosDTO candidatoVideoParaCrear)
        {
            if (candidatoVideoParaCrear == null)
            {
                throw new ArgumentNullException("No puedes crear un candidatoVideo si candidatoVideoParaCrear es nulo!.");
            }
            if (string.IsNullOrWhiteSpace(candidatoVideoParaCrear.Titulo) || candidatoVideoParaCrear.CodigoCandidato <= 0 || candidatoVideoParaCrear.CodigoArchivo <= 0)
            {
                throw new ArgumentException("candidatoVideoParaCrear vacia y/o invalida!.");
            }
            else if (candidatoVideoParaCrear.Archivos != null)
            {
                throw new ArgumentException("Usa CrearArchivoStream en ArchivosService para crear el archivo o mataras la memoria del servidor!.");
            }

            IHttpClient client = ConfigurarHttpClient();

            WrapperSimpleTypesDTO wrapperCrearCandidatoVideo = await client.PostAsync <CandidatosVideosDTO, WrapperSimpleTypesDTO>("Candidatos/CrearCandidatoVideo", candidatoVideoParaCrear);

            return(wrapperCrearCandidatoVideo);
        }
Ejemplo n.º 10
0
        async Task CargarItemsEnTimeLineSegunPerfil(int skipIndex, int takeIndex, bool isRefresh = false)
        {
            if (Persona != null && !NoHayNadaMasParaCargarPublicacion)
            {
                List <BiografiaTimeLineModel> listaTimeLine = new List <BiografiaTimeLineModel>();

                if (Persona.TipoPerfil == TipoPerfil.Candidato && Persona.CandidatoDeLaPersona != null)
                {
                    CandidatosVideosDTO candidatoVideo = new CandidatosVideosDTO
                    {
                        CodigoCandidato    = Persona.CandidatoDeLaPersona.Consecutivo,
                        SkipIndexBase      = skipIndex,
                        TakeIndexBase      = takeIndex,
                        ZonaHorariaGMTBase = _dateTimeHelper.DifferenceBetweenGMTAndLocalTimeZone
                    };

                    if (isRefresh && LastRefresh != DateTime.MinValue)
                    {
                        candidatoVideo.FechaFiltroBase = LastRefresh;
                        LastRefresh = DateTime.Now;
                    }

                    if (IsNotConnected)
                    {
                        return;
                    }
                    listaTimeLine = BiografiaTimeLineModel.CrearListaBiografiaTimeLine(await _candidatosServices.ListarCandidatosVideosDeUnCandidato(candidatoVideo));
                }
                else if (Persona.TipoPerfil == TipoPerfil.Grupo && Persona.GrupoDeLaPersona != null)
                {
                    BuscadorDTO grupoEvento = new BuscadorDTO
                    {
                        ConsecutivoPerfil  = Persona.GrupoDeLaPersona.Consecutivo,
                        SkipIndexBase      = skipIndex,
                        TakeIndexBase      = takeIndex,
                        ZonaHorariaGMTBase = _dateTimeHelper.DifferenceBetweenGMTAndLocalTimeZone
                    };

                    if (isRefresh && LastRefresh != DateTime.MinValue)
                    {
                        grupoEvento.FechaFiltroBase = LastRefresh;
                        LastRefresh = DateTime.Now;
                    }

                    if (IsNotConnected)
                    {
                        return;
                    }
                    listaTimeLine = BiografiaTimeLineModel.CrearListaBiografiaTimeLine(await _gruposServices.ListarEventosDeUnGrupo(grupoEvento));
                }

                if (listaTimeLine != null)
                {
                    if (listaTimeLine.Count > 0)
                    {
                        if (_timeLine == null)
                        {
                            _timeLine = new ObservableRangeCollection <BiografiaTimeLineModel>(listaTimeLine);
                        }
                        else
                        {
                            // Filtro para evitar tener publicaciones repetidas
                            listaTimeLine = listaTimeLine.Where(x => !_timeLine.Any(y => y.CodigoPublicacion == x.CodigoPublicacion && y.TipoTimeLine == TipoItemTimeLine.Publicacion)).ToList();

                            if (isRefresh)
                            {
                                // Reverso la lista para mantener el orden
                                listaTimeLine.Reverse();

                                foreach (var timeLine in listaTimeLine)
                                {
                                    _timeLine.Insert(0, timeLine);
                                }
                            }
                            else
                            {
                                _timeLine.AddRange(listaTimeLine);
                            }
                        }

                        RaisePropertyChanged(nameof(TimeLine));
                    }
                    else
                    {
                        NoHayNadaMasParaCargarPublicacion = listaTimeLine.Count <= 0 && !isRefresh;
                    }
                }
            }
        }
Ejemplo n.º 11
0
        async Task <WrapperSimpleTypesDTO> AsignarPublicacionServicio(WrapperSimpleTypesDTO wrapperArchivo)
        {
            WrapperSimpleTypesDTO wrapperPublicacion = null;

            if (EsCandidato)
            {
                CandidatosVideosDTO candidatoVideo = new CandidatosVideosDTO
                {
                    Consecutivo     = PublicacionSeleccionada.CodigoPublicacion,
                    CodigoCandidato = PublicacionSeleccionada.CodigoPerfil,
                    Titulo          = PublicacionSeleccionada.Titulo,
                    Descripcion     = PublicacionSeleccionada.Descripcion
                };

                if (wrapperArchivo != null && wrapperArchivo.Exitoso)
                {
                    candidatoVideo.CodigoArchivo = (int)wrapperArchivo.ConsecutivoArchivoCreado;
                }
                else
                {
                    candidatoVideo.CodigoArchivo = PublicacionSeleccionada.CodigoArchivo.Value;
                }

                if (EsRegistroPublicacion)
                {
                    if (IsNotConnected)
                    {
                        return(null);
                    }
                    wrapperPublicacion = await _candidatoService.CrearCandidatoVideo(candidatoVideo);
                }
                else
                {
                    if (IsNotConnected)
                    {
                        return(null);
                    }
                    wrapperPublicacion = await _candidatoService.ModificarCandidatoVideo(candidatoVideo);
                }
            }
            if (EsGrupo)
            {
                var añoInicio     = PublicacionSeleccionada.FechaInicio.Year;
                var mesInicio     = PublicacionSeleccionada.FechaInicio.Month;
                var diaInicio     = PublicacionSeleccionada.FechaInicio.Day;
                var horaInicio    = HoraInicio.Hours;
                var minutosInicio = HoraInicio.Minutes;

                PublicacionSeleccionada.FechaInicio = new DateTime(añoInicio, mesInicio, diaInicio, horaInicio, minutosInicio, 0);

                var añoFinal     = PublicacionSeleccionada.FechaTerminacion.Year;
                var mesFinal     = PublicacionSeleccionada.FechaTerminacion.Month;
                var diaFinal     = PublicacionSeleccionada.FechaTerminacion.Day;
                var horaFinal    = HoraFinal.Hours;
                var minutosFinal = HoraFinal.Minutes;

                PublicacionSeleccionada.FechaTerminacion = new DateTime(añoFinal, mesFinal, diaFinal, horaFinal, minutosFinal, 0);

                GruposEventosDTO grupoEvento = new GruposEventosDTO
                {
                    Idioma            = PublicacionSeleccionada.IdiomaDelEvento.Idioma,
                    CodigoPais        = PaisSeleccionado.Consecutivo,
                    Titulo            = PublicacionSeleccionada.Titulo,
                    Descripcion       = PublicacionSeleccionada.Descripcion,
                    CodigoGrupo       = PublicacionSeleccionada.CodigoPerfil,
                    CategoriasEventos = new List <CategoriasEventosDTO> {
                        new CategoriasEventosDTO {
                            CodigoCategoria = CategoriaSeleccionada.Consecutivo
                        }
                    },
                    FechaInicio      = PublicacionSeleccionada.FechaInicio,
                    FechaTerminacion = PublicacionSeleccionada.FechaTerminacion,
                    Consecutivo      = PublicacionSeleccionada.CodigoPublicacion,
                    Ubicacion        = PublicacionSeleccionada.Ubicacion,
                    CodigoArchivo    = PublicacionSeleccionada.CodigoArchivo
                };

                if (wrapperArchivo != null && wrapperArchivo.Exitoso && wrapperArchivo.ConsecutivoArchivoCreado > 0)
                {
                    grupoEvento.CodigoArchivo = (int)wrapperArchivo.ConsecutivoArchivoCreado;
                }

                if (EsRegistroPublicacion)
                {
                    if (IsNotConnected)
                    {
                        return(null);
                    }
                    wrapperPublicacion = await _gruposService.CrearGrupoEvento(grupoEvento);
                }
                else
                {
                    if (IsNotConnected)
                    {
                        return(null);
                    }
                    wrapperPublicacion = await _gruposService.ModificarInformacionGrupoEvento(grupoEvento);
                }
            }

            return(wrapperPublicacion);
        }
        public async Task <List <CandidatosVideosDTO> > ListarCandidatosVideosDeUnCandidato(CandidatosVideosDTO candidatoVideoParaListar)
        {
            if (candidatoVideoParaListar == null)
            {
                throw new ArgumentNullException("No puedes buscar un candidatoVideo si candidatoVideoParaListar es nulo!.");
            }
            if (candidatoVideoParaListar.CodigoCandidato <= 0 || candidatoVideoParaListar.SkipIndexBase < 0 || candidatoVideoParaListar.TakeIndexBase <= 0)
            {
                throw new ArgumentException("candidatoVideoParaListar vacio y/o invalido!.");
            }

            IHttpClient client = ConfigurarHttpClient();

            List <CandidatosVideosDTO> listaInformacionCandidatos = await client.PostAsync <CandidatosVideosDTO, List <CandidatosVideosDTO> >("Candidatos/ListarCandidatosVideosDeUnCandidato", candidatoVideoParaListar);

            return(listaInformacionCandidatos);
        }