/// <summary> /// Производит запись ответа от сервера в вызывающий объект /// </summary> /// <param name="xDoc">Документ от которого будет сохранятся объект</param> /// <param name="request">Запрос</param> internal static void WriteResponce(xmlDocument xDoc, Request request) { string XQuryOneObj = request.SourceElement.GetAttribute("XquryXML").Replace("[#OBJXML#]", request.TargetObject.XML); string NewXML = xDoc.XQuery(XQuryOneObj); request.TargetObject.Save(NewXML); string AfterSaveXQ = request.SourceElement.GetAttribute("AfterSaveXQ"); if (!string.IsNullOrEmpty(AfterSaveXQ)) { xDoc.XQuery(AfterSaveXQ.Replace("[#OBJXML#]", request.TargetObject.XML)); } }
/// <summary> /// Производит запись ответа от сервера в вызывающий объект /// </summary> /// <param name="xDoc">Документ от которого будет сохранятся объект</param> /// <param name="request">Запрос</param> internal static void WriteResponse(xmlDocument xDoc, Request request) { string XQuryOneObj = request.TemplateElement.GetAttribute("XquryXML").Replace("[#OBJXML#]", request.SourceXmlDocument.Root.XML); string NewXML = xDoc.XQuery(XQuryOneObj); request.SourceXmlDocument.ReplaceChild(new xmlDocument(NewXML).Root, request.SourceXmlDocument.Root); string AfterSaveXQ = request.TemplateElement.GetAttribute("AfterSaveXQ"); if (!string.IsNullOrEmpty(AfterSaveXQ)) { xDoc.XQuery(AfterSaveXQ.Replace("[#OBJXML#]", request.SourceXmlDocument.Root.XML)); } }
/// <summary> /// Запись Лога об успешном выполнении /// </summary> /// <param name="SourceObj">Объект ApiConnector`a c параметрами REST запроса</param> /// <param name="SourceElement">Елемент объекта ApiConnector`a c параметрами REST запроса</param> /// <param name="xDoc">xmlDocument ответа</param> /// <param name="RequestURL">URL Запроса</param> /// <param name="RequestData">Данные Запроса</param> internal static void Log(Object SourceObj, xmlElement SourceElement, xmlDocument xDoc, string RequestURL, string RequestData) { // Выполняем поиск объекта для ведения логов Class cls = SourceObj.Class.Domain.FindClass(SourceObj.Root.XQuery("string(LogClass/@link)")); string Xqury = SourceElement.GetAttribute("LogXqury"); string LogXml = xDoc.XQuery(Xqury); if (cls != null) { if (!String.IsNullOrEmpty(LogXml)) { CreateLog(cls, RequestURL, RequestData, LogXml); } else { CreateLog(cls, RequestURL, RequestData, xDoc); } } }