public string deleteRecord(AbstractConnection cxn, string ien, string parentIen) { DdrFiler query = buildRemoveSubrecordQuery(cxn, ien, parentIen); string response = query.execute(); return(response); }
internal static DdrFiler buildAddRecordQuery(AbstractConnection cxn, RemoteApplicationRecord rec, CallBackFileRecord subrec) { DdrFiler query = new DdrFiler(cxn); query.Operation = "ADD"; ArrayList lst = new ArrayList(7); VistaField f = rec.Fields["NAME"]; lst.Add(FILE_NUMBER + "^" + f.VistaNumber + "^+1,^" + f.VistaValue); f = rec.Fields["CONTEXTOPTION"]; VistaUserDao dao = new VistaUserDao(cxn); lst.Add(FILE_NUMBER + "^" + f.VistaNumber + "^+1,^" + dao.getOptionIen(f.VistaValue)); f = rec.Fields["APPLICATIONCODE"]; lst.Add(FILE_NUMBER + "^" + f.VistaNumber + "^+1,^" + f.VistaValue); f = subrec.Fields["CALLBACKTYPE"]; lst.Add(CALLBACK_FILE_NUMBER + "^" + f.VistaNumber + "^+2,+1^" + f.VistaValue); f = subrec.Fields["CALLBACKPORT"]; lst.Add(CALLBACK_FILE_NUMBER + "^" + f.VistaNumber + "^+2,+1^" + f.VistaValue); f = subrec.Fields["CALLBACKSERVER"]; lst.Add(CALLBACK_FILE_NUMBER + "^" + f.VistaNumber + "^+2,+1^" + f.VistaValue); f = subrec.Fields["URLSTRING"]; lst.Add(CALLBACK_FILE_NUMBER + "^" + f.VistaNumber + "^+2,+1^" + f.VistaValue); query.Args = (string[])lst.ToArray(typeof(string)); return(query); }
public static string addRecord(AbstractConnection cxn, RemoteApplicationRecord rec, CallBackFileRecord subrec) { DdrFiler query = buildAddRecordQuery(cxn, rec, subrec); string response = query.execute(); return(response); }
/// <summary> /// Create a new record entry in a Vista file /// </summary> /// <param name="fieldsAndValues">The field number and value dictionary</param> /// <param name="vistaFile">The Vista file number</param> /// <param name="iens">If creating a record in a subfile, the IENS string of the parent record</param> /// <returns>The IEN of the new record</returns> public CrudOperation create(Dictionary <String, String> fieldsAndValues, String vistaFile, String iens = null) { Dictionary <String, String> wpFieldsAndValues = findWpFields(fieldsAndValues); DdrFiler request = buildCreateRequest(fieldsAndValues, vistaFile, iens); DateTime startRequest = DateTime.Now; String response = request.execute(); DateTime endRequest = DateTime.Now; String parsed = toCreateUpdateDeleteRecordResponse(response); // if we get this far, create succeeded! to make the API easier to use, enable user to pass WP fields in dictionary foreach (String key in wpFieldsAndValues.Keys) { addWordProcessing(vistaFile, key, String.Concat(parsed, ",", iens), wpFieldsAndValues[key]); } //return result; CrudOperation result = new CrudOperation() { RPC = new RPC() { Name = request.buildRequest().RpcName, RequestString = request.buildRequest().buildMessage(), ResponseString = response, RequestTime = startRequest, ResponseTime = endRequest }, Result = parsed, Type = CrudOperationType.CREATE }; return(result); }
public void delete(String recordIen, String vistaFile) { DdrFiler request = buildDeleteRequest(recordIen, vistaFile); String response = request.execute(); toCreateUpdateDeleteRecordResponse(response); }
public static string deleteRecord(AbstractConnection cxn, string ien) { CallBackFile callBackFile = new CallBackFile(); string result = callBackFile.deleteRecord(cxn, "1", ien); DdrFiler query = buildDeleteRecordQuery(cxn, ien); result = query.execute(); return(result); }
/// <summary> /// Query to delete a record from a file /// </summary> /// <param name="recordIen">The entry IEN. Can be a subfile (IENS string needs to be built correctly)</param> /// <param name="vistaFile">The Vista file from which to delete a record</param> /// <returns></returns> internal DdrFiler buildDeleteRequest(String recordIen, String vistaFile) { DdrFiler query = new DdrFiler(_cxn); query.Operation = "EDIT"; query.Args = new string[] { vistaFile + "^.01^" + recordIen + "^@" // per API docs, setting .01 field to "@" deletes record }; return(query); }
internal DdrFiler buildRemoveSubrecordQuery(AbstractConnection cxn, string ien, string parentIen) { DdrFiler query = new DdrFiler(cxn); query.Operation = "EDIT"; query.Args = new string[] { FILE_NUMBER + "^.01^" + ien + ',' + parentIen + ",^@" }; return(query); }
internal static DdrFiler buildDeleteRecordQuery(AbstractConnection cxn, string ien) { DdrFiler query = new DdrFiler(cxn); query.Operation = "EDIT"; query.Args = new string[] { FILE_NUMBER + "^.01^" + ien + ",^@" }; return(query); }
/// <summary> /// Create a new record entry in a Vista file /// </summary> /// <param name="fieldsAndValues">The field number and value dictionary</param> /// <param name="vistaFile">The Vista file number</param> /// <param name="iens">If creating a record in a subfile, the IENS string of the parent record</param> /// <returns>The IEN of the new record</returns> public String create(Dictionary <String, String> fieldsAndValues, String vistaFile, String iens = null) { Dictionary <String, String> wpFieldsAndValues = findWpFields(fieldsAndValues); DdrFiler request = buildCreateRequest(fieldsAndValues, vistaFile, iens); String response = request.execute(); String result = toCreateUpdateDeleteRecordResponse(response); // if we get this far, create succeeded! to make the API easier to use, enable user to pass WP fields in dictionary foreach (String key in wpFieldsAndValues.Keys) { addWordProcessing(vistaFile, key, String.Concat(result, ",", iens), wpFieldsAndValues[key]); } return(result); }
internal DdrFiler buildUpdateRequest(Dictionary <String, String> fieldsAndValues, String ien, String vistaFile) { DdrFiler ddr = new DdrFiler(_cxn); ddr.Operation = "UPDATE"; int index = 0; ddr.Args = new String[fieldsAndValues.Count]; foreach (String key in fieldsAndValues.Keys) { ddr.Args[index++] = vistaFile + "^" + key + "^" + ien + "^" + fieldsAndValues[key]; // e.g. [0]: 2^.01^5,^PATIENT,NEW [1]: 2^.09^5,^222113333 } return(ddr); }
public void update(Dictionary <String, String> fieldsAndValues, String ien, String vistaFile) { Dictionary <String, String> wpFieldsAndValues = findWpFields(fieldsAndValues); if (fieldsAndValues.Count > 0) // need to check this in case we were only updating WP fields { DdrFiler request = buildUpdateRequest(fieldsAndValues, ien, vistaFile); String response = request.execute(); toCreateUpdateDeleteRecordResponse(response); // should throw exception on failure } // if we get this far, create succeeded! to make the API easier to use, enable user to pass WP fields in dictionary foreach (String key in wpFieldsAndValues.Keys) { addWordProcessing(vistaFile, key, ien, wpFieldsAndValues[key]); fieldsAndValues.Add(key, wpFieldsAndValues[key]); // want to add this back to original dict so that we don't permanently change it's state } }
public CrudOperation update(Dictionary <String, String> fieldsAndValues, String ien, String vistaFile) { CrudOperation result = null; Dictionary <String, String> wpFieldsAndValues = findWpFields(fieldsAndValues); if (fieldsAndValues.Count > 0) // need to check this in case we were only updating WP fields { DdrFiler request = buildUpdateRequest(fieldsAndValues, ien, vistaFile); DateTime startRequest = DateTime.Now; String response = request.execute(); DateTime endRequest = DateTime.Now; String parsed = toCreateUpdateDeleteRecordResponse(response); // should throw exception on failure result = new CrudOperation() { RPC = new RPC() { Name = request.buildRequest().RpcName, RequestString = request.buildRequest().buildMessage(), ResponseString = response, RequestTime = startRequest, ResponseTime = endRequest }, Result = parsed, Type = CrudOperationType.UPDATE }; } // if we get this far, create succeeded! to make the API easier to use, enable user to pass WP fields in dictionary foreach (String key in wpFieldsAndValues.Keys) { addWordProcessing(vistaFile, key, ien, wpFieldsAndValues[key]); fieldsAndValues.Add(key, wpFieldsAndValues[key]); // want to add this back to original dict so that we don't permanently change it's state } return(result); }
internal DdrFiler buildCreateRequest(Dictionary <String, String> fieldsAndValues, String vistaFile, String iens = null) { DdrFiler ddr = new DdrFiler(_cxn); ddr.Operation = "ADD"; int index = 0; ddr.Args = new String[fieldsAndValues.Count]; foreach (String key in fieldsAndValues.Keys) { if (String.IsNullOrEmpty(iens)) { ddr.Args[index++] = vistaFile + "^" + key + "^+1,^" + fieldsAndValues[key]; // e.g. [0]: 2^.01^+1,PATIENT,NEW^DDROOT(1) [1]: 2^.09^+1,^222113333 } else { ddr.Args[index++] = vistaFile + "^" + key + "^+1," + iens + "^" + fieldsAndValues[key]; // e.g. [0]: 2^.01^+1,PATIENT,NEW [1]: 2^.09^+1,^222113333 } } return(ddr); }
public CrudOperation delete(String recordIen, String vistaFile) { DdrFiler request = buildDeleteRequest(recordIen, vistaFile); DateTime startRequest = DateTime.Now; String response = request.execute(); DateTime endRequest = DateTime.Now; String parsed = toCreateUpdateDeleteRecordResponse(response); CrudOperation result = new CrudOperation() { RPC = new RPC() { Name = request.buildRequest().RpcName, RequestString = request.buildRequest().buildMessage(), ResponseString = response, RequestTime = startRequest, ResponseTime = endRequest }, Result = parsed, Type = CrudOperationType.DELETE }; return(result); }
internal static DdrFiler buildAddRecordQuery(AbstractConnection cxn, RemoteApplicationRecord rec, CallBackFileRecord subrec) { DdrFiler query = new DdrFiler(cxn); query.Operation = "ADD"; ArrayList lst = new ArrayList(7); VistaField f = rec.Fields["NAME"]; lst.Add(FILE_NUMBER + "^" + f.VistaNumber + "^+1,^" + f.VistaValue); f = rec.Fields["CONTEXTOPTION"]; VistaUserDao dao = new VistaUserDao(cxn); lst.Add(FILE_NUMBER + "^" + f.VistaNumber + "^+1,^" + dao.getOptionIen(f.VistaValue)); f = rec.Fields["APPLICATIONCODE"]; lst.Add(FILE_NUMBER + "^" + f.VistaNumber + "^+1,^" + f.VistaValue); f = subrec.Fields["CALLBACKTYPE"]; lst.Add(CALLBACK_FILE_NUMBER + "^" + f.VistaNumber + "^+2,+1^" + f.VistaValue); f = subrec.Fields["CALLBACKPORT"]; lst.Add(CALLBACK_FILE_NUMBER + "^" + f.VistaNumber + "^+2,+1^" + f.VistaValue); f = subrec.Fields["CALLBACKSERVER"]; lst.Add(CALLBACK_FILE_NUMBER + "^" + f.VistaNumber + "^+2,+1^" + f.VistaValue); f = subrec.Fields["URLSTRING"]; lst.Add(CALLBACK_FILE_NUMBER + "^" + f.VistaNumber + "^+2,+1^" + f.VistaValue); query.Args = (string[])lst.ToArray(typeof(string)); return query; }
internal DdrFiler buildRemoveSecurityKeyByIenQuery(string securityKeyIen, string duz) { DdrFiler query = new DdrFiler(cxn); query.Operation = "EDIT"; query.Args = new string[] { "200.051^.01^" + securityKeyIen + "," + duz + ",^@" }; return query; }
internal static DdrFiler buildDeleteRecordQuery(AbstractConnection cxn, string ien) { DdrFiler query = new DdrFiler(cxn); query.Operation = "EDIT"; query.Args = new string[] { FILE_NUMBER + "^.01^" + ien + ",^@" }; return query; }
internal DdrFiler buildRemoveOptionQuery(string file, string optNum, string duz) { DdrFiler query = new DdrFiler(cxn); query.Operation = "EDIT"; query.Args = new string[] { file + "^.01^" + optNum + "," + duz + ",^@" }; return query; }
internal DdrFiler buildRemoveSubrecordQuery(AbstractConnection cxn, string ien, string parentIen) { DdrFiler query = new DdrFiler(cxn); query.Operation = "EDIT"; query.Args = new string[] { FILE_NUMBER + "^.01^" + ien + ',' + parentIen + ",^@" }; return query; }
internal DdrFiler buildAddOptionQuery(string file, string optionIen, string duz) { DdrFiler query = new DdrFiler(cxn); query.Operation = "ADD"; query.Args = new string[] { file + "^.01^+1," + duz + ",^" + optionIen }; return query; }