Exemplo n.º 1
0
        /// <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));
            }
        }
Exemplo n.º 2
0
        /// <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));
            }
        }
Exemplo n.º 3
0
        /// <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);
                }
            }
        }