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" ); }