public async Task CandidatosBusiness_ListarCandidatos_ShouldList()
        {
            CandidatosBusiness candidatoBusiness = new CandidatosBusiness();

            SecureMessagesHelper secure = new SecureMessagesHelper();

            BuscadorDTO buscador = await secure.DecryptMessageToEntity <BuscadorDTO>(@"oAIAXYdlaJ0I31jsI23+qC95TsouHJoSKRTHoqgeDBuMhKIWNRWLE94nB3JtcW1AAOh351KWtQhYAVUXNKC2440xASx6LlP0FTAo7gAhL8FnEwsYmJvWj0VErgYaKIH+ArSzAqjIdPn7JbxNcNLGawbR5+yRA2m0bG+m8AZL2pct4v3Yu+uQ+1Rqvp9RTL1QLNFWE1VqpOdRAwkHDLfilvGZwUpj9sCNfOZlf1sUf+mpKqkKvWorNkdueEeDj8sY5V39D0Qy1om0rnBk2H+aKECFeIii8/XA8fkqcD0oHKBqolv32YcVs718XTvTA0TYQK8aXLuXNofH/s4I7s/cOxoGvIERIzX/F31yT7CcH7Ibf+tFgAyV7cckGluMa8iCTo46T3Vl2eKA38JcHjadO57Waf5ZOyQREY99h6sLN6zPQdhEEm+gwJosZV4b/4EiSjsPNLSgKT+wU8ZlRlxIr1iLzD+qvp0FfuAILl/DyJ7PQXpltr6mQ6J5Ov6zrcILEjFb5zT6pugURNCDWAKRJt0pA4O+TYW1FYNV9kYrGrJbdcXUbefhzbU+6wy0Q7Lyp0JyBy7LO5owBsuqeywKmWSV7EbmEOo8jkmLHJuk6yM=");

            List <CandidatosDTO> listaCandidatos = await candidatoBusiness.ListarCandidatos(buscador);

            Assert.IsNotNull(listaCandidatos);
        }
        public async Task CandidatosBusiness_CrearCandidato_ShouldCreate()
        {
            CandidatosBusiness candidatoBusiness = new CandidatosBusiness();

            SecureMessagesHelper secure = new SecureMessagesHelper();

            Candidatos candidatoParaCrear = await secure.DecryptMessageToEntity <Candidatos>(@"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");

            WrapperSimpleTypesDTO wrapperCrearCandidato = await candidatoBusiness.CrearCandidato(candidatoParaCrear, null, null);

            Assert.IsTrue(wrapperCrearCandidato.Exitoso);
            Assert.AreNotEqual(wrapperCrearCandidato.NumeroRegistrosAfectados, 0);
        }
        public async Task CandidatosBusiness_ModificarCandidatoVideo_ShouldModify()
        {
            CandidatosBusiness candidatoBusiness = new CandidatosBusiness();

            CandidatosVideos candidatoVideo = new CandidatosVideos
            {
                Consecutivo     = 3,
                CodigoCandidato = 5,
                Descripcion     = @"Si esto no guarda Bryan renuncia, el me dió su palabra y tengo pruebas",
                Titulo          = @"Bryan se queda sin trabajo",
                CodigoArchivo   = 97
            };

            WrapperSimpleTypesDTO wrapperModificarCandidatoVideo = await candidatoBusiness.ModificarCandidatoVideo(candidatoVideo);

            Assert.IsTrue(wrapperModificarCandidatoVideo.Exitoso);
            Assert.AreNotEqual(wrapperModificarCandidatoVideo.NumeroRegistrosAfectados, 0);
        }
        public async Task CandidatosBusiness_AsignarCandidatoResponsable_ShouldAssign()
        {
            CandidatosBusiness candidatoBusiness = new CandidatosBusiness();

            CandidatosResponsables candidatoResponsable = new CandidatosResponsables
            {
                Consecutivo     = 0,
                CodigoCandidato = 5,
                Nombres         = "responsable",
                Apellidos       = "Apellido",
                Email           = "*****@*****.**",
                TelefonoFijo    = "131",
                TelefonoMovil   = "4141",
                Skype           = "miskype"
            };

            WrapperSimpleTypesDTO wrapperAsignarCandidatoResponsable = await candidatoBusiness.AsignarCandidatoResponsable(candidatoResponsable);

            Assert.IsTrue(wrapperAsignarCandidatoResponsable.Exitoso);
            Assert.AreNotEqual(wrapperAsignarCandidatoResponsable.NumeroRegistrosAfectados, 0);
        }
示例#5
0
        public async Task <IHttpActionResult> ModificarArchivoCandidatoVideos(int codigoTipoArchivo, int codigoCandidatoVideo, int codigoArchivo)
        {
            if (codigoCandidatoVideo <= 0 && codigoTipoArchivo <= 0)
            {
                return(BadRequest("codigoCandidatoVideo nulo o invalido!."));
            }

            try
            {
                using (Stream sourceStream = await Request.Content.ReadAsStreamAsync())
                {
                    if (sourceStream == null)
                    {
                        return(BadRequest("Stream del archivo nulo o invalido!."));
                    }

                    if (codigoTipoArchivo == (int)TipoArchivo.Video)
                    {
                        CandidatosBusiness candidatosBuss             = new CandidatosBusiness();
                        int duracionVideoPermitidaParaEstaPublicacion = await candidatosBuss.CalcularDuracionPermitidaVideoParaUnaPublicacionCandidato(codigoCandidatoVideo);

                        string fileNameToVerify     = Guid.NewGuid().ToString();
                        string fullFileNameToVerify = HttpContext.Current.Server.MapPath(string.Format("~/App_Data/{0}.mp4", fileNameToVerify));

                        string fileNameToCopy     = Guid.NewGuid().ToString();
                        string fullFileNameToCopy = HttpContext.Current.Server.MapPath(string.Format("~/App_Data/{0}.mp4", fileNameToCopy));

                        using (FileStream fileToVerify = new FileStream(fullFileNameToVerify, FileMode.Create))
                        {
                            await sourceStream.CopyToAsync(fileToVerify);
                        }

                        sourceStream.Dispose();

                        FFMpegConverter ffMpeg = new FFMpegConverter();

                        ConvertSettings outputSettings = new ConvertSettings
                        {
                            MaxDuration = duracionVideoPermitidaParaEstaPublicacion
                        };

                        ffMpeg.ConvertMedia(fullFileNameToVerify, null, fullFileNameToCopy, Format.mp4, outputSettings);

                        using (FileStream fileToCopy = new FileStream(fullFileNameToCopy, FileMode.Open, FileAccess.Read))
                        {
                            WrapperSimpleTypesDTO wrapperModificarArchivoCandidatoVideos = await _archivoBusiness.ModificarArchivoCandidatoVideos(codigoTipoArchivo, codigoCandidatoVideo, codigoArchivo, fileToCopy);

                            fileToCopy.Dispose();
                            fileToCopy.Close();

                            if (File.Exists(fullFileNameToVerify))
                            {
                                File.Delete(fullFileNameToVerify);
                            }
                            if (File.Exists(fullFileNameToCopy))
                            {
                                File.Delete(fullFileNameToCopy);
                            }

                            return(Ok(wrapperModificarArchivoCandidatoVideos));
                        }
                    }
                    else
                    {
                        WrapperSimpleTypesDTO wrapperModificarArchivoCandidatoVideos = await _archivoBusiness.ModificarArchivoCandidatoVideos(codigoTipoArchivo, codigoCandidatoVideo, codigoArchivo, sourceStream);

                        return(Ok(wrapperModificarArchivoCandidatoVideos));
                    }
                }
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
示例#6
0
 public CandidatosController()
 {
     _candidatosBusiness = new CandidatosBusiness();
 }