public ResultadoAccion actualizaDocumento(string User, string Password, int appId, int doctypeId, int queryId, int DocId, Datos[] data, Contenido[] content, int pos) { ResultadoAccion resultado = new ResultadoAccion(); resultado.Resultado = true; resultado.Mensaje = ""; Interfaces.Collection Documento; int session = 0; Ewsm ePower = null; int RefSize = 0; int lastRef = 0; int idcejilla = 1; try { log = new Bitacorizador(); log.LogInfo("UpdateDocument con los siguientes parámetros:"); log.LogInfo("Con los siguientes Indices: "); log.LogInfo("DocId: " + DocId); log.LogInfo("Con el siguiente Contenido: "); ePower = new Ewsm(); log.LogInfo("Inicia Login hacia ePower"); try { session = ePower.doLogin(User, Password, "eAccess"); } catch (Exception ex) { resultado.Resultado = false; resultado.Mensaje = "Error al autenticarse con ePower: Imposible autenticarse con ePower, verifique sus credenciales y conexión a ePower. " + ex.Message; } log.LogInfo("Se inicia la actualización del documento, Recuperando documento"); Documento = ePower.getFullDocument(session, appId, doctypeId, queryId, DocId); //Actualiza Indices //Rellena los indices del documento for (int i = 0; i < data.Length; i++) { if (Documento.Fields[i].Type == 1) { Documento.Fields[i].ValorString = data[i].ValorString.ToString(); } else if (Documento.Fields[i].Type == 2) { Documento.Fields[i].ValorDec = double.Parse(data[i].ValorString.ToString()); } } ePWS.WS.Type.Tab[] TabName; TabName = ePower.getTabStruct(session, doctypeId, queryId, DocId); /***Referencias a imagenes u otros documentos***/ log.LogInfo("Actualizando Referencias "); RefSize = Documento.References.Length + content.Length; lastRef = Documento.References.Length; Comun.gsiStructRef[] referencias = new Comun.gsiStructRef[RefSize]; for (int i = 0; i < Documento.References.Length; i++) { referencias[i] = Documento.References[i]; } for (int j = 0; j < content.Length; j++) { idcejilla = ePower.getTabId(TabName, content[j].TabName.ToUpper()); gsiFile gsifile1 = new gsiFile(); gsifile1.extension = content[j].ExtensionBinario; log.LogInfo("Se ha capturado el siguiente parametro para gsifile1: extension " + gsifile1.extension.ToString()); gsifile1.Document = System.Convert.FromBase64String(content[j].BinarioBase64); gsifile1.parentId = idcejilla; log.LogInfo("Se ha capturado el siguiente parametro para gsifile1: parentID " + gsifile1.parentId.ToString()); log.LogInfo("Inicia funcion saveRef EWSM"); log.LogInfo("Paramentros de envio para appID " + appId.ToString()); Comun.gsiStructRef rf1 = ePower.saveRef(session, appId, gsifile1); referencias[lastRef] = rf1; referencias[lastRef].DisplayAlias = content[j].NombreBinario; referencias[lastRef].OriginalExtension = content[j].ExtensionBinario; referencias[lastRef].ParentId = idcejilla; lastRef++; } log.LogInfo("Actualizando Documento"); ePower.updateFullDocument(session, appId, doctypeId, queryId, Documento.DocId, Documento.Tabs, Documento.Fields, referencias, null, null); return(resultado); } catch (Exception ex) { log = new Bitacorizador(); log.LogError("Error al ejecutar el método: UpdateDocument, Detalles " + "Mensaje: " + ex.Message + " StackTrace: " + ex.StackTrace); resultado.Resultado = false; resultado.Mensaje = "Error al ejecutar el método: UpdateDocument, Detalles " + "Mensaje: " + ex.Message + " StackTrace: " + ex.StackTrace; return(resultado); } finally { ePower.doLogout(session); } }
public bool ActualizaDocumento(string User, string Password, int DocId, string No_Caso, string Institucion, string Fecha, string No_Correspondencia, string Remitente, string Destinatario, string tab, string Archivo, string OriginalName, string OriginalExtension, bool Imagen) { Interfaces.Collection Documento; int idcejilla = 1; int session = 0; Ewsm ePower = null; int RefSize = 0; int lastRef = 0; try { log = new Bitacorizador(); log.LogInfo("UpdateDocument con los siguientes parámetros:"); //Cargado de los parametros del config. //string epUser = Properties.Settings.Default.epowerUser; //string epPass = Properties.Settings.Default.epowerPassword; int appId = Properties.Settings.Default.appId; int doctype = Properties.Settings.Default.doctype; int query = Properties.Settings.Default.query; log.LogInfo("Usuario: " + User + "appId: " + appId + " Doctype: " + doctype + " Query: " + query); log.LogInfo("Con los siguientes Indices: "); log.LogInfo("DocId: " + DocId); BitacorizaIndices(log, No_Caso, Institucion, Fecha, No_Correspondencia, Remitente, Destinatario); log.LogInfo("Con el siguiente Contenido: "); log.LogInfo("Nombre Archivo: " + OriginalName); log.LogInfo("Extension: " + OriginalExtension); ePower = new Ewsm(); log.LogInfo("Inicia Login hacia ePower"); try { session = ePower.doLogin(User, Password, "eAccess"); } catch (Exception ex) { throw new Exception("Error al autenticarse con ePower: Imposible autenticarse con ePower, verifique sus credenciales y conexión a ePower. " + ex.Message); } log.LogInfo("Se inicia la actualización del documento, Recuperando documento"); Documento = ePower.getFullDocument(session, appId, doctype, query, DocId); //Actualiza Indices //Rellena los indices del documento Documento.Fields[0].ValorDec = int.Parse(No_Caso); Documento.Fields[1].ValorString = Institucion; Documento.Fields[2].ValorString = Fecha; Documento.Fields[3].ValorString = No_Correspondencia; Documento.Fields[4].ValorString = Remitente; Documento.Fields[5].ValorString = Destinatario; //localizacion de la cejilla if (Imagen) { if (tab == "Correspondencia Recibida") { idcejilla = 4; } else if (tab == "Correspondencia Enviada") { idcejilla = 5; } else { idcejilla = 1;//Cejilla de imagenes } } else { idcejilla = 3;//Cejilla de Otros Documentos } /***Referencias a imagenes u otros documentos***/ log.LogInfo("Actualizando Referencias "); RefSize = Documento.References.Length + 1; lastRef = Documento.References.Length; Comun.gsiStructRef[] referencias = new Comun.gsiStructRef[RefSize]; for (int i = 0; i < Documento.References.Length; i++) { referencias[i] = Documento.References[i]; } gsiFile gsifile = new gsiFile(); gsifile.extension = OriginalExtension; gsifile.Document = System.Convert.FromBase64String(Archivo); Comun.gsiStructRef rf = Bridge.getInstance().saveRef(session, appId, gsifile); referencias[lastRef] = rf; referencias[lastRef].DisplayAlias = OriginalName; referencias[lastRef].OriginalExtension = OriginalExtension; referencias[lastRef].ParentId = idcejilla; log.LogInfo("Actualizando Documento"); ePower.updateFullDocument(session, appId, doctype, query, Documento.DocId, Documento.Tabs, Documento.Fields, referencias, null, null); return(true); } catch (Exception ex) { log = new Bitacorizador(); log.LogError("Error al ejecutar el método: UpdateDocument, Detalles " + "Mensaje: " + ex.Message + " StackTrace: " + ex.StackTrace); throw new Exception("Error al ejecutar el método: UpdateDocument, Detalles " + "Mensaje: " + ex.Message + " StackTrace: " + ex.StackTrace); } finally { ePower.doLogout(session); } }