/// <summary> /// /// </summary> /// <param name="couchConnector"></param> /// <param name="document"></param> /// <param name="sErrorCode"></param> /// <param name="sErrorText"></param> /// <returns></returns> public bool SecuredAddDocument( SecuredCouchConnector couchConnector, ref Document document, out string sErrorCode, out string sErrorText) { sErrorCode = "-1"; sErrorText = "Adding document to database failed."; if (document != null) { var documentStorage = (Document_Couch)document; byte[] btDocumentInfo; string sDocumentAttribute; bool bDocumentReplace = false; if (documentStorage.GetPropertyData(Document_Couch.DocumentReplace, out sDocumentAttribute)) { bDocumentReplace = Convert.ToBoolean(sDocumentAttribute); documentStorage.ClearPropertyData(Document_Couch.DocumentReplace); } if (string.IsNullOrEmpty(document.FileId)) { sErrorCode = "-1"; sErrorText = "Unique FileID is missing."; return(false); } if (documentStorage.GetSourceData(out btDocumentInfo)) { if (!couchConnector.Document_Add(bDocumentReplace, btDocumentInfo, documentStorage.FileId, documentStorage.FilePath, documentStorage.FileName, documentStorage.TypeName.ToString(), documentStorage.ChildDocs, documentStorage.MetaData)) { sErrorText = couchConnector.Message; sErrorCode = "-2"; return(false); } if (!couchConnector.Error) { documentStorage.SetPropertyData(Document_Couch.DocumentRevison, couchConnector.RevisionID); sErrorCode = "0"; return(true); } sErrorCode = "-3"; sErrorText = couchConnector.Message; return(false); } } sErrorCode = "-4"; sErrorText = "No data in document to add"; return(false); }
/// <summary> /// <param name="couchConnector"></param> /// <param name="document"></param> /// <param name="sErrorCode"></param> /// <param name="sErrorText"></param> /// <param name="liteFetch"> </param> /// <returns></returns> /// </summary> public bool SecuredGetDocument( SecuredCouchConnector couchConnector, ref Document document, out string sErrorCode, out string sErrorText, bool liteFetch = false) { sErrorCode = "-1"; sErrorText = "Retrieving document failed."; if (document != null) { IDictionary objParms = couchConnector.GetDocument(document.FileId, liteFetch); if (!couchConnector.Error) { foreach (DictionaryEntry objParm in objParms) { string sKey = objParm.Key.ToString(); string sValue = objParm.Value.ToString(); switch (sKey) { case "_id": document.FileId = sValue; break; case "_rev": document.SetPropertyData(Document_Couch.DocumentRevison, sValue); break; case "FileData": document.FileData = sValue; break; case "FileName": document.FileName = sValue; break; case "FilePath": document.FilePath = sValue; break; case "FileType": var typeName = (Document.DocTypeNames)Enum.Parse(typeof(Document.DocTypeNames), sValue); document.TypeName = typeName; break; case "ChildDocuments": var lstChildDocs = new List <string>(); if (!string.IsNullOrEmpty(sValue)) { string[] arChildDocs = sValue.Split(','); if (arChildDocs.Length > 0) { lstChildDocs.AddRange(arChildDocs); } } document.ChildDocs.AddRange(lstChildDocs); break; case Document_Couch.MetaTag: document.AddMetaData(sValue); break; default: document.SetPropertyData(sKey, sValue); break; } } sErrorCode = "0"; } sErrorText = couchConnector.Message; return(true); } return(false); }