Exemple #1
0
        public Maybe<Archivo> Create( Archivo ar )
        {
            using (OracleConnection conn = DB.GetOracleConnection())
            using (OracleCommand cmd = DB.GetFuncionCommand(conn, "WEB_LEGEM.CREATE_AR"))
            {
                var result = DB.AddObjectResult( cmd, UdtTypeName );
                DB.AddObjectParameter( cmd, "archivo", UdtTypeName, ar );

                cmd.ExecuteNonQuery();

                return (Archivo) result.Value;
            } // end using cmd
        }
        public Task<IHttpActionResult> Post()
        {
            var basePath = ConfigurationManager.AppSettings["basePath"].ToString();
            var textPath = ConfigurationManager.AppSettings["textPath"].ToString();

            if (Request.Content.IsMimeMultipartContent())
            {
                var streamProvider = new CustomMultipartFormDataStreamProvider(basePath);
                var file = Request.Content.ReadAsMultipartAsync(streamProvider).ContinueWith<IHttpActionResult>(t =>
                {

                    if (t.IsFaulted || t.IsCanceled)
                    {
                        throw new HttpResponseException(HttpStatusCode.InternalServerError);
                    }

                    var fileInfo = streamProvider.FileData.Select(i =>
                    {
                        var info = new FileInfo(i.LocalFileName);
                        string resultado = pdfToText.Convertir(basePath, info.Name);
                        var posiblesAnotaciones = new AnalizadorAnotaciones(this.tdDao, this.taDao).AnalizarPorPosiblesAnotaciones(resultado);

                        var test = textPath + @"\" + info.Name + ".txt";

                        var archivo = new Archivo() { Ruta = info.Name };
                        var guid = Guid.NewGuid();

                        map.Add(guid, new Archivo() { Ruta = info.Name });

                        string asunto = new AnalizadorAsunto().ObtenerAsunto(resultado);

                        if (asunto.Length > 999)
                        {
                            asunto = asunto.Substring(0, 999);
                        }

                        File.WriteAllText(test, resultado);
                        return new FileDesc(archivo.Id.ToString(), basePath + @"\text" + @"\" + info.Name + ".txt", info.Length / 1024, asunto, guid, posiblesAnotaciones);
                    });

                    return Ok(fileInfo);
                });

                return file;
            }
            else
            {
                throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotAcceptable, "This request is not properly formatted"));
            }
        }
 public virtual void ToCustomObject(OracleConnection con, IntPtr pUdt)
 {
     Id = (int)OracleUdt.GetValue( con, pUdt, "ID" );
     Documento= (Documento)OracleUdt.GetValue( con, pUdt, "DOCUMENTO" );
     archivo = (Archivo)OracleUdt.GetValue( con, pUdt, "ARCHIVO" );
     asunto = (string)OracleUdt.GetValue(con, pUdt, "ASUNTO");
     contenido = (OracleBFile)OracleUdt.GetValue( con, pUdt, "CONTENIDO" );
 }