Ejemplo n.º 1
0
        protected void SetMessages(msglist messages)
        {
            StringBuilder header = new StringBuilder();
            bool          emptyHeader = true, encoded = false;
            const string  EncodedFlag = "Encoded:";
            const string  SystemMsg   = "System";
            const string  UserMsg     = "User";
            string        typeMsg;

            foreach (msglistItem msg in messages)
            {
                if (msg.gxTpr_Type == 0)
                {
                    string value = msg.gxTpr_Description;
                    encoded = false;
                    if (GXUtil.ContainsNoAsciiCharacter(value))
                    {
                        value   = GXUtil.UrlEncode(value);
                        encoded = true;
                    }
                    typeMsg = msg.IsGxMessage ? SystemMsg : UserMsg;

                    header.AppendFormat("{0}299 {1} \"{2}{3}:{4}\"", emptyHeader ? string.Empty : ",", _httpContext.Request.GetHost(), encoded ? EncodedFlag : string.Empty, typeMsg, value);
                    if (emptyHeader)
                    {
                        emptyHeader = false;
                    }
                }
            }
            if (!emptyHeader)
            {
                AddHeader(HttpHeader.WARNING_HEADER, header.ToString());
            }
        }
Ejemplo n.º 2
0
 public Task ErrorCheck(IGxSilentTrn trn)
 {
     if (trn.Errors() == 1)
     {
         msglist msg = trn.GetMessages();
         if (msg.Count > 0)
         {
             msglistItem msgItem = (msglistItem)msg[0];
             if (msgItem.gxTpr_Id.Contains("NotFound"))
             {
                 return(SetError("404", msgItem.gxTpr_Description));
             }
             else if (msgItem.gxTpr_Id.Contains("WasChanged"))
             {
                 return(SetError("409", msgItem.gxTpr_Description));
             }
             else
             {
                 return(SetError("400", msgItem.gxTpr_Description));
             }
         }
     }
     return(Task.CompletedTask);
 }