예제 #1
0
 public virtual void ShouldDecodeLongString()
 {
     var stringType = new StringType();
     var longString = "MonkeyVeryLongStringmljalkdjflksjf lkdfjlsfjalkfjlsflskfjlsflsfjasdfjlsjflksfjlskjf fjlskfjlsjfs fkj lakdflsjfsa fafd sa";
     var result = stringType.Encode(longString);
     Assert.Equal(longString, stringType.Decode<string>(result));
 }
예제 #2
0
		public StringData(string name, uint offset, uint address, StringType type, string value, int size, uint pluginLine)
			: base(name, offset, address, pluginLine)
		{
			_value = value;
			_size = size;
			_type = type;
		}
 public CommentsFrame(string description, string language, StringType encoding) : base(FrameType.COMM, 4)
 {
     this.encoding = TagLib.Id3v2.Tag.DefaultEncoding;
     this.encoding = encoding;
     this.language = language;
     this.description = description;
 }
 internal extern static bool CertStrToName(CertEncodingType dwCertEncodingType,
                                             [MarshalAs(UnmanagedType.LPWStr)]string pszX500,
                                             StringType dwStrType,
                                             IntPtr pvReserved,
                                             byte[] pbEncoded,
                                             [In, Out]ref int pcbEncoded,
                                             [MarshalAs(UnmanagedType.LPWStr)]ref StringBuilder ppszError);
예제 #5
0
        /// <summary>
        ///   Validates given string for the given type.
        /// </summary>
        /// <param name="stringToValidate"> string to be validated. </param>
        /// <param name="type"> Type of the string. </param>
        /// <returns> True if string validates the required parameter </returns>
        public static bool Validate(string stringToValidate, StringType type)
        {
            if (null == stringToValidate)
            {
                ExceptionManager.Throw(new ArgumentNullException("stringToValidate"));
            }

            bool result = false;
            switch (type)
            {
                case StringType.Name:
                    result = ValidateName(stringToValidate);
                    break;
                case StringType.EmailAddress:
                    result = ValidateEmailAddress(stringToValidate);
                    break;
                case StringType.Address:
                    break;
                case StringType.Password:
                    result = ValidatePassword(stringToValidate);
                    break;
                default:
                    ExceptionManager.Throw(new ArgumentOutOfRangeException("type"));
                    break;
            }
            return result;
        }
 public SynchronisedLyricsFrame (string description, string language, SynchedTextType type, StringType encoding) : base (FrameType.SYLT, 4)
 {
    this.text_encoding = encoding;
    this.language      = language;
    this.description   = description;
    this.lyrics_type   = type;
 }
        /// <summary>
        /// Generate a random string of characters
        /// </summary>
        /// <param name="length">length of string</param>
        /// <param name="type">type of string to be generated</param>
        /// <returns></returns>
        public static string GenerateRandomString(int length, StringType type)
        {
            switch (type)
            {
                case StringType.AlphaNumeric:
                    string allowedChars = "abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789";
                    char[] chars = new char[length];
                    Random rd = new Random();

                    for (int i = 0; i < length; i++)
                    {
                        chars[i] = allowedChars[rd.Next(0, allowedChars.Length)];
                    }

                    return new string(chars);
                    break;

                case StringType.AlphaNumericSymbol:
                    //Generate a cryptographic random number.
                    var rng = new RNGCryptoServiceProvider();
                    var buff = new byte[length];
                    rng.GetBytes(buff);

                    rng.Dispose();

                    // Return a Base64 string representation of the random number.
                    return Convert.ToBase64String(buff);
                    break;
                default:
                    throw new ArgumentException("Type not supported");
            }
        }
예제 #8
0
 public IEnumerable<ProgramAddress> FindStrings(StringType stringType, int minLength)
 {
     foreach (var segment in program.ImageMap.Segments.Values)
     {
         Address segEnd = segment.Address + segment.Size;
         var rdr = program.Architecture.CreateImageReader(program.Image, segment.Address);
         Address addrStartRun = null;
         int cValid = 0;
         while (rdr.Address < segEnd)
         {
             byte ch = rdr.ReadByte();
             if (!IsValid((char)ch))
             {
                 if (ch == 0 && cValid >= minLength)
                 {
                     yield return new ProgramAddress(program, addrStartRun);
                 }
                 addrStartRun = null;
                 cValid = 0;
             }
             else
             {
                 if (addrStartRun == null)
                     addrStartRun = rdr.Address - 1;
                 ++cValid;
             }
         }
     }
 }
		private void ParseCommentsFields(ByteVector data)
		{
			if (data.Count < 5)
			{
				TagLibDebugger.Debug("A comment frame must contain at least 5 bytes.");
				return;
			}

			textEncoding = (StringType)data[0];
			language = data.Mid(1, 3);

			int byte_align = textEncoding == StringType.Latin1 || textEncoding == StringType.UTF8 ? 1 : 2;

			ByteVectorCollection l = ByteVectorCollection.Split(data.Mid(4), TextDelimiter(textEncoding), byte_align, 2);

			if (l.Count == 2)
			{
				if (l[0].Data != null && l[0].Data.Count > 0)
					description = l[0].ToString(textEncoding);
				else description = string.Empty;
				
				if (l[1].Data != null && l[1].Data.Count > 0)
					text = l[1].ToString(textEncoding);
				else text = string.Empty;
			}
		}
		public Id3v2CommentsFrame(StringType encoding) : base("COMM")
		{
			textEncoding = encoding;
			//language = null;
			//fields = null;
			//type = null;
		}
 public UnsynchronisedLyricsFrame(string description, string language, StringType encoding) : base(FrameType.USLT, 4)
 {
     this.encoding = TagLib.Id3v2.Tag.DefaultEncoding;
     this.encoding = encoding;
     this.language = language;
     this.description = description;
 }
예제 #12
0
        public void WriteTomlStrings(StringType s, string expected)
        {
            // Act
            var written = Toml.WriteString(s);

            // Assert
            Assert.Equal(expected, written.Trim());
        }
예제 #13
0
        public StringFeatureAttribute(StringType splitType, string separator = " ", string exclusions = null)
        {
            SplitType = splitType;
            Separator = separator;
            ExclusionFile = exclusions;

            CalculateExclusions();
        }
예제 #14
0
 protected static StringType CorrectEncoding(StringType type, byte version)
 {
     if (TagLib.Id3v2.Tag.ForceDefaultEncoding)
     {
         type = TagLib.Id3v2.Tag.DefaultEncoding;
     }
     return (((version >= 4) || (type != StringType.UTF8)) ? type : StringType.UTF16);
 }
예제 #15
0
        public StringContentTokenizer(StringType properties, char terminator, char openingParenthesis) {
            Debug.Assert(!Tokenizer.IsLetterOrDigit(terminator));

            _properties = properties;
            _terminator = terminator;
            _openingParenthesis = openingParenthesis;
            _nestingLevel = 0;
        }
 public SynchronisedLyricsFrame(string description, string language, SynchedTextType type, StringType encoding) : base(FrameType.SYLT, 4)
 {
     this.encoding = TagLib.Id3v2.Tag.DefaultEncoding;
     this.text = new SynchedText[0];
     this.encoding = encoding;
     this.language = language;
     this.description = description;
     this.lyrics_type = type;
 }
예제 #17
0
        public string GetRandomString(StringType type, int length)
        {
            string result = string.Empty;
            if ((!type.Equals(StringType.None)) && (length > 0))
            {
                int charcode = 0;

                char[] chars = new char[length];

                for (int i = 0; i < length; i++)
                {
                    switch (type)
                    {
                        case StringType.Unicode:
                            charcode = GetUnicodeCharacterValue();
                            break;
                        case StringType.Alpha:
                            charcode = 65 + valueGen.Next(0, 26);
                            break;
                        case StringType.AlphaNumeric:
                            charcode = valueGen.Next(0, 36);
                            if (charcode < 10)
                            {
                                charcode += 48;
                            }
                            else
                            {
                                charcode += 55;
                            }
                            break;
                        case StringType.Numeric:
                            charcode = 48 + valueGen.Next(0, 10);
                            break;
                        case StringType.Cased:
                            charcode = valueGen.Next(0, 52);
                            if (charcode < 26)
                            {
                                charcode += 65;
                            }
                            else
                            {
                                charcode += 71;
                            }
                            break;
                    }
                    chars[i] = (char)charcode;
                }
                for (int i = 0; i < chars.Length; i++)
                {
                    result += chars[i].ToString();
                }
                chars = null;
            }

            return result;
        }
예제 #18
0
        public void StringTypeNames()
        {
            var expected = new[]
            {
                "System.String", "System.Char"
            };

            var actual = new StringType().TypeNames;
            TestHelper.AreEqual(expected, actual);
        }
예제 #19
0
        public virtual void ShouldEncodeString()
        {
            var monkeyEncoded =
                "00000000000000000000000000000000000000000000000000000000000000064d6f6e6b65790000000000000000000000000000000000000000000000000000";

            //0000000000000000000000000000000000000000000000000000000000000006 is the bytes length
            //4d6f6e6b65790000000000000000000000000000000000000000000000000000 Monkey byte array utf8 encoded
            
            var stringType = new StringType();
            var result = stringType.Encode("Monkey").ToHex();
            Assert.Equal(monkeyEncoded, result);
        }
 public AttachedPictureFrame(IPicture picture) : base(FrameType.APIC, 4)
 {
     this.text_encoding = TagLib.Id3v2.Tag.DefaultEncoding;
     if (picture == null)
     {
         throw new ArgumentNullException("picture");
     }
     this.mime_type = picture.MimeType;
     this.type = picture.Type;
     this.description = picture.Description;
     this.data = picture.Data;
 }
        public string Get(string url, WebProxy proxy, string publicKey, string secretKey, string projectId, StringType type, int rate, string remarks = "")
        {
            using (var client = new WebClient())
            {
                if (proxy != null)
                    client.Proxy = proxy;
                client.Encoding = Encoding.UTF8;
                var web = url + String.Format("/projects/" + projectId + "/rating?public_key={0}&secret_key={1}&type={2}&rate={3}&remarks={4}", publicKey, secretKey, type.GetStringValue(), rate, remarks);

                return client.DownloadString(web);
            }
        }
 /// <summary>
 /// Submit the rating for the quality of the translation and service
 /// </summary>
 /// <param name="projectId">Unique id of the newly project created</param>
 /// <param name="type">Customer|Service</param>
 /// <param name="rate">Rating of project (1 - being the lowest; 10 - being the highest)</param>
 /// <param name="remarks">Remark left with the rating</param>
 /// <returns></returns>
 public PostProjectRatingsResult PostProjectRatings(string projectId, StringType type,int rate, string remarks="")
 {
     var r = new PostProjectRatingsResult();
     try
     {
         if (PostProjectRatingsProvider == null)
             PostProjectRatingsProvider = new PostProjectRatingsProvider();
         var json = PostProjectRatingsProvider.Get(Url, _proxy, KeyPublic, KeySecret, projectId, type, rate, remarks);
         r = JsonConvert.DeserializeObject<PostProjectRatingsResult>(json);
     }
     catch (Exception err)
     {
         r.Status.Code = -1;
         r.Status.Msg = err.Message;
     }
     return r;
 }
 public static UserTextInformationFrame Get(TagLib.Id3v2.Tag tag, string description, StringType type, bool create)
 {
     if (tag == null)
     {
         throw new ArgumentNullException("tag");
     }
     if (description == null)
     {
         throw new ArgumentNullException("description");
     }
     if (description.Length == 0)
     {
         throw new ArgumentException("Description must not be empty.", "description");
     }
     IEnumerator<UserTextInformationFrame> enumerator = tag.GetFrames<UserTextInformationFrame>(FrameType.TXXX).GetEnumerator();
     try
     {
         while (enumerator.MoveNext())
         {
             UserTextInformationFrame current = enumerator.Current;
             if (description.Equals(current.Description))
             {
                 return current;
             }
         }
     }
     finally
     {
         if (enumerator == null)
         {
         }
         enumerator.Dispose();
     }
     if (!create)
     {
         return null;
     }
     UserTextInformationFrame frame2 = new UserTextInformationFrame(description, type);
     tag.AddFrame(frame2);
     return frame2;
 }
		private void ParseTextIdentifierFields(ByteVector data)
		{
			// read the string data type (the first byte of the field data)

			textEncoding = (StringType)data[0];

			// split the byte numbers into chunks based on the string type (two byte delimiter
			// for unicode encodings)

			int byteAlign = textEncoding == StringType.Latin1 || textEncoding == StringType.UTF8 ? 1 : 2;

			ByteVectorCollection list = ByteVectorCollection.Split(data.Mid(1), TextDelimiter(textEncoding), byteAlign);

			fieldList.Clear();

			// append those split values to the text and make sure that the new string'field
			// type is the same specified for this frame

			foreach (ByteVector vector in list)
				fieldList.Add(vector.ToString(textEncoding));
		}
 public static TextInformationFrame Get(TagLib.Id3v2.Tag tag, ByteVector ident, StringType encoding, bool create)
 {
     if (tag == null)
     {
         throw new ArgumentNullException("tag");
     }
     if (ident == null)
     {
         throw new ArgumentNullException("ident");
     }
     if (ident.Count != 4)
     {
         throw new ArgumentException("Identifier must be four bytes long.", "ident");
     }
     IEnumerator<TextInformationFrame> enumerator = tag.GetFrames<TextInformationFrame>(ident).GetEnumerator();
     try
     {
         while (enumerator.MoveNext())
         {
             return enumerator.Current;
         }
     }
     finally
     {
         if (enumerator == null)
         {
         }
         enumerator.Dispose();
     }
     if (!create)
     {
         return null;
     }
     TextInformationFrame frame = new TextInformationFrame(ident, encoding);
     tag.AddFrame(frame);
     return frame;
 }
		protected void ParseRawData ()
		{
			if (raw_data == null)
				return;
			
			ByteVector data = raw_data;
			raw_data = null;
			
			// read the string data type (the first byte of the
			// field data)
			encoding = (StringType) data [0];
			List<string> field_list = new List<string> ();
			
			ByteVector delim = ByteVector.TextDelimiter (encoding);
			
			if (raw_version > 3 || FrameId == FrameType.TXXX) {
				field_list.AddRange (data.ToStrings (encoding, 1));
			} else if (data.Count > 1 && !data.Mid (1,
				delim.Count).Equals (delim)) {
				string value = data.ToString (encoding, 1,
					data.Count - 1);
				
				// Do a fast removal of end bytes.
				if (value.Length > 1 &&
					value [value.Length - 1] == 0)
					for (int i = value.Length - 1; i >= 0; i --)
						if (value [i] != 0) {
							value = value.Substring (0, i + 1);
							break;
						}
				
				if (FrameId == FrameType.TCOM ||
					FrameId == FrameType.TEXT ||
					FrameId == FrameType.TOLY ||
					FrameId == FrameType.TOPE ||
					FrameId == FrameType.TPE1 ||
					FrameId == FrameType.TPE2 ||
					FrameId == FrameType.TPE3 ||
					FrameId == FrameType.TPE4) {
					field_list.AddRange (value.Split ('/'));
				} else if (FrameId == FrameType.TCON) {
					while (value.Length > 1 && value [0] == '(') {
						int closing = value.IndexOf (')');
						if (closing < 0)
							break;
						
						field_list.Add (
							value.Substring (1,
								closing - 1));
						
						value = value.Substring (
							closing + 1);
					}
					
					if (value.Length > 0)
						field_list.AddRange (value.Split (new char [] {'/'}));
				} else {
					field_list.Add (value);
				}
			}
			
			// Bad tags may have one or more nul characters at the
			// end of a string, resulting in empty strings at the
			// end of the FieldList. Strip them off.
			while (field_list.Count != 0 &&
				string.IsNullOrEmpty (field_list [
					field_list.Count - 1]))
				field_list.RemoveAt (field_list.Count - 1);
			
			text_fields = field_list.ToArray ();
		}
		/// <summary>
		///    Populates the values in the current instance by parsing
		///    its field data in a specified version.
		/// </summary>
		/// <param name="data">
		///    A <see cref="ByteVector" /> object containing the
		///    extracted field data.
		/// </param>
		/// <param name="version">
		///    A <see cref="byte" /> indicating the ID3v2 version the
		///    field data is encoded in.
		/// </param>
		protected override void ParseFields (ByteVector data,
		                                     byte version)
		{
			if (data.Count < 4)
				throw new CorruptFileException (
					"Not enough bytes in field.");
			
			encoding = (StringType) data [0];
			language = data.ToString (StringType.Latin1, 1, 3);
			
			string [] split = data.ToStrings (encoding, 4, 2);
			
			if (split.Length == 1) {
				// Bad lyrics frame. Assume that it lacks a
				// description.
				description = String.Empty;
				text = split [0];
			} else {
				description = split [0];
				text = split [1];
			}
		}
예제 #28
0
 public void MidStmtStr(string str, int start, int length, string insert, string expected)
 {
     StringType.MidStmtStr(ref str, start, length, insert);
     Assert.Equal(expected, str);
 }
		/// <summary>
		///    Constructs and initializes a new instance of <see
		///    cref="TextInformationFrame" /> with a specified
		///    identifier and text encoding.
		/// </summary>
		/// <param name="ident">
		///    A <see cref="ByteVector" /> object containing an ID3v2.4
		///    frame identifier.
		/// </param>
		/// <param name="encoding">
		///    A <see cref="StringType" /> value specifying the encoding
		///    to use for the new instance.
		/// </param>
		public TextInformationFrame (ByteVector ident,
		                             StringType encoding)
			: base (ident, 4)
		{
			this.encoding = encoding;
		}
예제 #30
0
 private static Constant Sz(string str)
 {
     return(Constant.String(str, StringType.NullTerminated(PrimitiveType.Char)));
 }
예제 #31
0
 public void FromByte(byte value, string expected)
 {
     Assert.Equal(expected, StringType.FromByte(value));
 }
예제 #32
0
 public void FromInteger(int value, string expected)
 {
     Assert.Equal(expected, StringType.FromInteger(value));
 }
예제 #33
0
 public StringArgument(StringType type = StringType.WORD)
 {
     Type = type;
 }
예제 #34
0
 public void FromChar(char value, string expected)
 {
     Assert.Equal(expected, StringType.FromChar(value));
 }
예제 #35
0
 public void FromDouble(double value, NumberFormatInfo format, string expected)
 {
     Assert.Equal(expected, StringType.FromDouble(value, format));
 }
예제 #36
0
 public void FromDecimal(decimal value, NumberFormatInfo format, string expected)
 {
     Assert.Equal(expected, StringType.FromDecimal(value, format));
 }
예제 #37
0
 public void StrCmp(string left, string right, int expectedBinaryCompare, int expectedTextCompare)
 {
     Assert.Equal(expectedBinaryCompare, StringType.StrCmp(left, right, TextCompare: false));
     Assert.Equal(expectedTextCompare, StringType.StrCmp(left, right, TextCompare: true));
 }
예제 #38
0
 public void MidStmtStr_ArgumentException(string str, int start, int length, string insert)
 {
     Assert.Throws <ArgumentException>(() => StringType.MidStmtStr(ref str, start, length, insert));
 }
예제 #39
0
 public void FromBoolean(bool value, string expected)
 {
     Assert.Equal(expected, StringType.FromBoolean(value));
 }
예제 #40
0
 public void FromLong(long value, string expected)
 {
     Assert.Equal(expected, StringType.FromLong(value));
 }
예제 #41
0
 public void FromObject_Unexpected(object value, string expected)
 {
     Assert.Throws <InvalidCastException>(() => StringType.FromObject(value));
 }
        public string Get(string url, WebProxy proxy, string publicKey, string secretKey, string projectId, StringType type, int rate, string remarks = "")
        {
            using (var client = new WebClient())
            {
                if (proxy != null)
                {
                    client.Proxy = proxy;
                }
                client.Encoding = Encoding.UTF8;
                var web = url + String.Format("/projects/" + projectId + "/rating?public_key={0}&secret_key={1}&type={2}&rate={3}&remarks={4}", publicKey, secretKey, type.GetStringValue(), rate, remarks);

                return(client.DownloadString(web));
            }
        }
예제 #43
0
 public Formatter VisitString(StringType str)
 {
     return(VisitArray(str));
 }
        /// <summary>
        ///    Performs the actual parsing of the raw data.
        /// </summary>
        /// <remarks>
        ///    Because of the high parsing cost and relatively low usage
        ///    of the class, <see cref="ParseFields" /> only stores the
        ///    field data so it can be parsed on demand. Whenever a
        ///    property or method is called which requires the data,
        ///    this method is called, and only on the first call does it
        ///    actually parse the data.
        /// </remarks>
        protected void ParseRawData()
        {
            if (raw_data == null)
            {
                return;
            }

            int pos = 0;
            int offset;

            text_encoding = (StringType)raw_data [pos++];

            if (raw_version > 2)
            {
                offset = raw_data.Find(ByteVector.TextDelimiter(
                                           StringType.Latin1), pos);

                if (offset < pos)
                {
                    return;
                }

                mime_type = raw_data.ToString(
                    StringType.Latin1, pos, offset - pos);
                pos = offset + 1;
            }
            else
            {
                ByteVector ext = raw_data.Mid(pos, 3);

                if (ext == "JPG")
                {
                    mime_type = "image/jpeg";
                }
                else if (ext == "PNG")
                {
                    mime_type = "image/png";
                }
                else
                {
                    mime_type = "image/unknown";
                }

                pos += 3;
            }

            ByteVector delim = ByteVector.TextDelimiter(
                text_encoding);

            type = (PictureType)raw_data [pos++];

            offset = raw_data.Find(delim, pos, delim.Count);

            if (offset < pos)
            {
                return;
            }

            description = raw_data.ToString(text_encoding, pos,
                                            offset - pos);
            pos = offset + delim.Count;
            raw_data.RemoveRange(0, pos);
            this.data = raw_data;

            this.raw_data = null;
        }
예제 #45
0
 public StringAllocer(int len, StringType stringType)
 {
     StrType = stringType;
     Length  = len;
     Ptr     = Marshal.AllocHGlobal(Length);
 }
예제 #46
0
        private static KnowledgebasesSectionsArticlesData GetDataObjectFromReader(SqlDataReader dataReader)
        {
            KnowledgebasesSectionsArticlesData data = new KnowledgebasesSectionsArticlesData();

            if (dataReader.IsDBNull(dataReader.GetOrdinal("KnowledgebasesSectionsArticlesID")))
            {
                data.KnowledgebasesSectionsArticlesID = IdType.UNSET;
            }
            else
            {
                data.KnowledgebasesSectionsArticlesID = new IdType(dataReader.GetInt32(dataReader.GetOrdinal("KnowledgebasesSectionsArticlesID")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("Title")))
            {
                data.Title = StringType.UNSET;
            }
            else
            {
                data.Title = StringType.Parse(dataReader.GetString(dataReader.GetOrdinal("Title")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("DateStart")))
            {
                data.DateStart = DateType.UNSET;
            }
            else
            {
                data.DateStart = new DateType(dataReader.GetDateTime(dataReader.GetOrdinal("DateStart")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("DateEnd")))
            {
                data.DateEnd = DateType.UNSET;
            }
            else
            {
                data.DateEnd = new DateType(dataReader.GetDateTime(dataReader.GetOrdinal("DateEnd")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("ParentID")))
            {
                data.ParentID = IntegerType.UNSET;
            }
            else
            {
                data.ParentID = new IntegerType(dataReader.GetInt32(dataReader.GetOrdinal("ParentID")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("KnowledgebasesID")))
            {
                data.KnowledgebasesID = IntegerType.UNSET;
            }
            else
            {
                data.KnowledgebasesID = new IntegerType(dataReader.GetInt32(dataReader.GetOrdinal("KnowledgebasesID")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("HasChild")))
            {
                data.HasChild = BooleanType.UNSET;
            }
            else
            {
                data.HasChild = BooleanType.GetInstance(dataReader.GetBoolean(dataReader.GetOrdinal("HasChild")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("PrevKnowledgebasesSectionsID")))
            {
                data.PrevKnowledgebasesSectionsID = IntegerType.UNSET;
            }
            else
            {
                data.PrevKnowledgebasesSectionsID = new IntegerType(dataReader.GetInt32(dataReader.GetOrdinal("PrevKnowledgebasesSectionsID")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("NextKnowledgebasesSectionsID")))
            {
                data.NextKnowledgebasesSectionsID = IntegerType.UNSET;
            }
            else
            {
                data.NextKnowledgebasesSectionsID = new IntegerType(dataReader.GetInt32(dataReader.GetOrdinal("NextKnowledgebasesSectionsID")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("ListInParentArticle")))
            {
                data.ListInParentArticle = BooleanType.UNSET;
            }
            else
            {
                data.ListInParentArticle = BooleanType.GetInstance(dataReader.GetBoolean(dataReader.GetOrdinal("ListInParentArticle")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("IncludeSummaryinParent")))
            {
                data.IncludeSummaryinParent = BooleanType.UNSET;
            }
            else
            {
                data.IncludeSummaryinParent = BooleanType.GetInstance(dataReader.GetBoolean(dataReader.GetOrdinal("IncludeSummaryinParent")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("Sort")))
            {
                data.Sort = IntegerType.UNSET;
            }
            else
            {
                data.Sort = new IntegerType(dataReader.GetInt32(dataReader.GetOrdinal("Sort")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("IsSection")))
            {
                data.IsSection = BooleanType.UNSET;
            }
            else
            {
                data.IsSection = BooleanType.GetInstance(dataReader.GetBoolean(dataReader.GetOrdinal("IsSection")));
            }
            if (dataReader.IsDBNull(dataReader.GetOrdinal("IsTemp")))
            {
                data.IsTemp = BooleanType.UNSET;
            }
            else
            {
                data.IsTemp = BooleanType.GetInstance(dataReader.GetBoolean(dataReader.GetOrdinal("IsTemp")));
            }

            return(data);
        }
예제 #47
0
 public DataType VisitString(StringType str)
 {
     return(str);
 }
예제 #48
0
 public void FromDate(DateTime value, string expected)
 {
     Assert.Equal(expected, StringType.FromDate(value));
 }
예제 #49
0
        private string GetString(StringType type, int id, string field = "name")
        {
            int inv = id / 1000000;

            if (type == StringType.Item && inv == 1)
            {
                // Oh boy, this one is a bit harder.
                // Eqp.img/Eqp/categoryname/id ...
                // Lets just iterate over each category and try to find it

                foreach (var eqpCategory in MainScriptNode.GetNode("String/Eqp.img/Eqp"))
                {
                    var eqpNode = eqpCategory.GetNode(id.ToString());
                    if (eqpNode != null)
                    {
                        return(eqpNode.GetString(field));
                    }
                }

                return("??? Unknown equip " + id + " ???");
            }

            if (type == StringType.Map)
            {
                // Maps have about the same as equips. There's a category....
                foreach (var mapCategory in MainScriptNode.GetNode("String/Map.img"))
                {
                    var mapNode = mapCategory.GetNode(id.ToString());
                    if (mapNode != null)
                    {
                        return(mapNode.GetString(field));
                    }
                }
                return("??? Unknown map " + id + " ???");
            }


            string mainNode = ".";
            string idStr    = null;

            switch (type)
            {
            case StringType.Mob: mainNode = "Mob.img"; break;

            case StringType.Skill:
                mainNode = "Skill.img";
                idStr    = id.ToString("D7");
                break;

            case StringType.Npc: mainNode = "Npc.img"; break;

            case StringType.Item:
            {
                switch (inv)
                {
                case 2: mainNode = "Consume.img"; break;

                case 3: mainNode = "Ins.img"; break;

                case 4: mainNode = "Etc.img/Etc"; break;

                case 5: mainNode = "Cash.img"; break;
                }
                break;
            }
            }

            return(GetString(string.Format("String/{0}/{1}/{2}", mainNode, idStr ?? id.ToString(), field)));
        }
예제 #50
0
            public SkillState(Dictionary <string, AbstractStoragePool> poolByName, StringPool strings, StringType stringType,
                              Annotation annotationType, List <AbstractStoragePool> types, FileInputStream @in, Mode mode) : base(strings, @in.Path, mode, types, poolByName, stringType, annotationType)
            {
                try {
                    AbstractStoragePool p = null;
                    poolByName.TryGetValue("constant", out p);
                    ConstantsField = (null == p) ? (P0)Parser.newPool("constant", null, types) : (P0)p;
                } catch (System.InvalidCastException e) {
                    throw new ParseException(@in, -1, e,
                                             "A super type does not match the specification; see cause for details.");
                }
                foreach (AbstractStoragePool t in types)
                {
                    poolByName[t.Name] = t;
                }

                finalizePools(@in);
                @in.close();
            }
예제 #51
0
 public Expression VisitString(StringType str)
 {
     throw new NotImplementedException();
 }
예제 #52
0
        private void ActTmp()
        {
            DataRow       row;
            long          num;
            SqlDataReader reader;
            DateTime      time2;
            DateTime      time3;
            string        str4;
            DataSet       dataSet = new DataSet();
            DataSet       set2    = new DataSet();

            this.cmbSalir.Enabled = false;
            SqlConnection connection = new SqlConnection("data source=" + Variables.gServer + ";user id=scala;password=scala;initial catalog=scalaDB;persist security info=False;packet size=4096");

            connection.Open();
            SqlConnection connection2 = new SqlConnection("data source=" + Variables.gServer + ";user id=teleprinter;password=tele;initial catalog=Colector;persist security info=False;packet size=4096");

            connection2.Open();
            int        num4     = new SqlCommand("delete " + Variables.gTermi + "TmpCalendario", connection2).ExecuteNonQuery();
            SqlCommand command4 = new SqlCommand("delete " + Variables.gTermi + "TmpCalendarioStkComp", connection2);

            num4 = command4.ExecuteNonQuery();
            string str = "SELECT OR01001,OR01004,OR01016,OR01050,OR03002,OR03005,OR03006,OR03007,OR03011,OR03012,OR03051,OR04002,OR04003,OR04004,OR04005,OR04008 FROM dbo.OR010100 inner join OR030100 on OR010100.OR01001=OR030100.OR03001 inner join OR040100 on OR010100.OR01001=OR040100.OR04001 where OR010100.OR01002=6 and OR010100.OR01091=0 and OR03011-OR03012<>0 and OR03034=1 and (";

            if (Variables.gIntr01)
            {
                str = str + "OR01004='INTR01' ";
                if (Variables.gIntr02)
                {
                    str = str + "or OR01004='INTR02' ";
                }
                if (Variables.gIntr03)
                {
                    str = str + "or OR01004='INTR03' ";
                }
                if (Variables.gIntr04)
                {
                    str = str + "or OR01004='INTR04' ";
                }
            }
            else if (Variables.gIntr02)
            {
                str = str + "OR01004='INTR02' ";
                if (Variables.gIntr03)
                {
                    str = str + "or OR01004='INTR03' ";
                }
                if (Variables.gIntr04)
                {
                    str = str + "or OR01004='INTR04' ";
                }
            }
            else if (Variables.gIntr03)
            {
                str = str + "OR01004='INTR03' ";
                if (Variables.gIntr04)
                {
                    str = str + "or OR01004='INTR04' ";
                }
            }
            else if (Variables.gIntr04)
            {
                str = str + "OR01004='INTR04' ";
            }
            SqlCommand command3 = new SqlCommand(str + ") order by OR010100.OR01016", connection);

            command3.CommandTimeout = 900;
            dataSet.Clear();
            SqlDataAdapter adapter = new SqlDataAdapter();

            adapter.SelectCommand = command3;
            adapter.Fill(dataSet, "OR010100");
            long num9 = dataSet.Tables["OR010100"].Rows.Count - 1;

            for (num = 0L; num <= num9; num += 1L)
            {
                row  = dataSet.Tables["OR010100"].Rows[(int)num];
                str4 = "insert into " + Variables.gTermi + "TmpCalendario (FechaEnt,Cliente,ListaRec,NroOA,NroLinea,Codigo,Descripcion,Almacen,Cantidad,AsignadoA,Observaciones,ReqEsp,Horas,SinStock,Obs) values (";
                CalcDates dates        = new CalcDatesClass();
                short     daysToDue    = 0;
                DataRow   row3         = row;
                string    str9         = "OR01016";
                DateTime  currentDate  = DateType.FromObject(row3[str9]);
                string    dayCountType = "H";
                string    company      = "01";
                dates.WeekDate(ref daysToDue, ref currentDate, ref dayCountType, ref company);
                row3[str9] = currentDate;
                str4       = StringType.FromObject(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj((str4 + "'" + Strings.Format(dates.MidDate, "MM/dd/yyyy")) + "','", row["OR01004"]), "','"), row["OR03051"]), "','"), row["OR01001"]), "','"), row["OR03002"]), "','"), row["OR03005"]), "','"), row["OR03006"]), " "), row["OR03007"]), "','"), row["OR01050"]), "',"), ObjectType.SubObj(row["OR03011"], row["OR03012"])), ","));
                if (StringType.StrCmp(Strings.Trim(StringType.FromObject(row["OR04002"])), "0", false) == 0)
                {
                    str4 = str4 + "'',";
                }
                else
                {
                    str4 = StringType.FromObject(ObjectType.StrCatObj(ObjectType.StrCatObj(str4 + "'", row["OR04002"]), "',"));
                }
                if (StringType.StrCmp(Strings.Trim(StringType.FromObject(row["OR04003"])), "0", false) == 0)
                {
                    if (StringType.StrCmp(Strings.Trim(StringType.FromObject(row["OR04004"])), "0", false) == 0)
                    {
                        str4 = str4 + "'',";
                    }
                    else
                    {
                        str4 = StringType.FromObject(ObjectType.StrCatObj(ObjectType.StrCatObj(str4 + "'", row["OR04004"]), "',"));
                    }
                }
                else if (StringType.StrCmp(Strings.Trim(StringType.FromObject(row["OR04004"])), "0", false) == 0)
                {
                    str4 = StringType.FromObject(ObjectType.StrCatObj(ObjectType.StrCatObj(str4 + "'", row["OR04003"]), "',"));
                }
                else
                {
                    str4 = StringType.FromObject(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(str4 + "'", row["OR04003"]), " "), row["OR04004"]), "',"));
                }
                if (StringType.StrCmp(Strings.Trim(StringType.FromObject(row["OR04005"])), "0", false) == 0)
                {
                    str4 = str4 + "'',";
                }
                else
                {
                    str4 = StringType.FromObject(ObjectType.StrCatObj(ObjectType.StrCatObj(str4 + "'", row["OR04005"]), "',"));
                }
                command4 = new SqlCommand(StringType.FromObject(ObjectType.StrCatObj(ObjectType.StrCatObj(str4 + "'", row["OR04008"]), "',0,0)")), connection2);
                try
                {
                    num4 = command4.ExecuteNonQuery();
                }
                catch (Exception exception1)
                {
                    ProjectData.SetProjectError(exception1);
                    Exception exception = exception1;
                    Interaction.MsgBox("Se ha producido el siguiente error:" + exception.Message, 0, null);
                    connection.Close();
                    connection2.Close();
                    this.cmbSalir.Enabled = true;
                    ProjectData.ClearProjectError();
                    return;

                    ProjectData.ClearProjectError();
                }
            }
            command3 = new SqlCommand("SELECT distinct NroOA from " + Variables.gTermi + "TmpCalendario", connection2);
            command3.CommandTimeout = 900;
            dataSet.Clear();
            adapter = new SqlDataAdapter();
            adapter.SelectCommand = command3;
            adapter.Fill(dataSet, Variables.gTermi + "TmpCalendario");
            long num7 = dataSet.Tables[Variables.gTermi + "TmpCalendario"].Rows.Count - 1;

            for (num = 0L; num <= num7; num += 1L)
            {
                row = dataSet.Tables[Variables.gTermi + "TmpCalendario"].Rows[(int)num];
                SqlCommand command = new SqlCommand(StringType.FromObject(ObjectType.StrCatObj(ObjectType.StrCatObj("SELECT * from GesEnsObs where NroOE='", row["NroOA"]), "'")), connection2);
                reader = command.ExecuteReader();
                if (reader.Read())
                {
                    reader.Close();
                    command4 = new SqlCommand(StringType.FromObject(ObjectType.StrCatObj(ObjectType.StrCatObj("update " + Variables.gTermi + "TmpCalendario set Obs=1 where NroOA='", row["NroOA"]), "'")), connection2);
                    try
                    {
                        num4 = command4.ExecuteNonQuery();
                    }
                    catch (Exception exception8)
                    {
                        ProjectData.SetProjectError(exception8);
                        Exception exception2 = exception8;
                        Interaction.MsgBox("Se ha producido el siguiente error:" + exception2.Message, 0, null);
                        connection.Close();
                        connection2.Close();
                        this.cmbSalir.Enabled = true;
                        ProjectData.ClearProjectError();
                        return;

                        ProjectData.ClearProjectError();
                    }
                }
                else
                {
                    reader.Close();
                }
            }
            command3 = new SqlCommand("SELECT * from " + Variables.gTermi + "TmpCalendario order by FechaEnt", connection2);
            command3.CommandTimeout = 900;
            dataSet.Clear();
            adapter = new SqlDataAdapter();
            adapter.SelectCommand = command3;
            adapter.Fill(dataSet, Variables.gTermi + "TmpCalendario");
            if (dataSet.Tables[Variables.gTermi + "TmpCalendario"].Rows.Count != 0)
            {
                row = dataSet.Tables[Variables.gTermi + "TmpCalendario"].Rows[0];
                if (DateAndTime.Weekday(DateType.FromObject(row["FechaEnt"]), 1) > 1)
                {
                    time3 = DateAndTime.DateAdd(4, (double)((DateAndTime.Weekday(DateType.FromObject(row["FechaEnt"]), 1) - 1) * -1), DateType.FromObject(row["FechaEnt"]));
                }
                else
                {
                    time3 = DateType.FromObject(row["FechaEnt"]);
                }
            }
            command3 = new SqlCommand("SELECT * from " + Variables.gTermi + "TmpCalendario order by FechaEnt desc", connection2);
            command3.CommandTimeout = 900;
            dataSet.Clear();
            adapter = new SqlDataAdapter();
            adapter.SelectCommand = command3;
            adapter.Fill(dataSet, Variables.gTermi + "TmpCalendario");
            if (dataSet.Tables[Variables.gTermi + "TmpCalendario"].Rows.Count != 0)
            {
                row = dataSet.Tables[Variables.gTermi + "TmpCalendario"].Rows[0];
                if (DateAndTime.Weekday(DateType.FromObject(row["FechaEnt"]), 1) < 7)
                {
                    time2 = DateAndTime.DateAdd(4, (double)(7 - DateAndTime.Weekday(DateType.FromObject(row["FechaEnt"]), 1)), DateType.FromObject(row["FechaEnt"]));
                }
                else
                {
                    time2 = DateType.FromObject(row["FechaEnt"]);
                }
            }
            while (DateTime.Compare(time3, time2) <= 0)
            {
                SqlCommand command2 = new SqlCommand("SELECT * FROM " + Variables.gTermi + "TmpCalendario where FechaEnt='" + Strings.Format(time3, "MM/dd/yyyy") + "'", connection2);
                reader = command2.ExecuteReader();
                if (reader.Read())
                {
                    reader.Close();
                }
                else
                {
                    reader.Close();
                    reader = new SqlCommand("SELECT * FROM dbo.SYHO0100 where SYHO001='" + Strings.Format(time3, "MM/dd/yyyy") + "'", connection).ExecuteReader();
                    if (reader.Read())
                    {
                        command4 = new SqlCommand(StringType.FromObject(ObjectType.StrCatObj(ObjectType.StrCatObj((("insert into " + Variables.gTermi + "TmpCalendario (FechaEnt,Observaciones) values (") + "'" + Strings.Format(time3, "MM/dd/yyyy") + "',") + "'", reader["SYHO002"]), "')")), connection2);
                        reader.Close();
                    }
                    else
                    {
                        command4 = new SqlCommand(("insert into " + Variables.gTermi + "TmpCalendario (FechaEnt) values (") + "'" + Strings.Format(time3, "MM/dd/yyyy") + "')", connection2);
                        reader.Close();
                    }
                    try
                    {
                        num4 = command4.ExecuteNonQuery();
                    }
                    catch (Exception exception9)
                    {
                        ProjectData.SetProjectError(exception9);
                        Exception exception3 = exception9;
                        Interaction.MsgBox("Se ha producido el siguiente error:" + exception3.Message, 0, null);
                        connection.Close();
                        connection2.Close();
                        this.cmbSalir.Enabled = true;
                        ProjectData.ClearProjectError();
                        return;

                        ProjectData.ClearProjectError();
                    }
                }
                time3 = DateAndTime.DateAdd(4, 1.0, time3);
            }
            command3 = new SqlCommand("SELECT * from " + Variables.gTermi + "TmpCalendario where not Codigo is null order by NroOA,NroLinea", connection2);
            command3.CommandTimeout = 900;
            dataSet.Clear();
            adapter = new SqlDataAdapter();
            adapter.SelectCommand = command3;
            adapter.Fill(dataSet, Variables.gTermi + "TmpCalendario");
            long num6 = dataSet.Tables[Variables.gTermi + "TmpCalendario"].Rows.Count - 1;

            for (num = 0L; num <= num6; num += 1L)
            {
                row      = dataSet.Tables[Variables.gTermi + "TmpCalendario"].Rows[(int)num];
                command3 = new SqlCommand(StringType.FromObject(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj("SELECT OR03005,OR03006,OR03007,OR03011,OR03012,SC03003,SC03004,SC03005 FROM dbo.OR030100 inner join SC030100 on OR030100.OR03005=SC030100.SC03001 where OR03001='", row["NroOA"]), "' and OR03002='"), row["NroLinea"]), "' and OR03003<>'000' and SC03002='"), row["Almacen"]), "'")), connection);
                command3.CommandTimeout = 900;
                set2.Clear();
                SqlDataAdapter adapter2 = new SqlDataAdapter();
                adapter2.SelectCommand = command3;
                adapter2.Fill(set2, "OR030100");
                bool flag = false;
                long num5 = set2.Tables["OR030100"].Rows.Count - 1;
                for (long i = 0L; i <= num5; i += 1L)
                {
                    DataRow row2 = set2.Tables["OR030100"].Rows[(int)i];
                    if (BooleanType.FromObject(ObjectType.BitOrObj(ObjectType.ObjTst(row2["SC03003"], 0, false) <= 0, ObjectType.ObjTst(ObjectType.AddObj(row2["SC03004"], row2["SC03005"]), row2["SC03003"], false) > 0)))
                    {
                        flag = true;
                    }
                    if (ObjectType.ObjTst(ObjectType.AddObj(row2["SC03004"], row2["SC03005"]), row2["SC03003"], false) > 0)
                    {
                        reader = new SqlCommand(StringType.FromObject(ObjectType.StrCatObj(ObjectType.StrCatObj(StringType.FromObject(ObjectType.StrCatObj(ObjectType.StrCatObj("SELECT PC03043,PC03044,PC03016 FROM dbo.PC030100 where PC03005='", row2["OR03005"]), "' and PC03043<PC03044 and PC03029=1 ")) + "and PC03035='", row["Almacen"]), "' order by PC03016")), connection).ExecuteReader();
                        if (reader.Read())
                        {
                            str4 = StringType.FromObject(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj("insert into " + Variables.gTermi + "TmpCalendarioStkComp (NroOA,NroLinea,CodComp,DescComp,Cantidad,StkFisico,StkComprometido,FechaOC,CantOC) values ('", row["NroOA"]), "','"), row["NroLinea"]), "','"), row2["OR03005"]), "','"), row2["OR03006"]), " "), row2["OR03007"]), "',"), ObjectType.SubObj(row2["OR03011"], row2["OR03012"])), ","), row2["SC03003"]), ","), ObjectType.AddObj(row2["SC03004"], row2["SC03005"])), ",'"), Strings.Format(RuntimeHelpers.GetObjectValue(reader["PC03016"]), "MM/dd/yyyy")), "',"), ObjectType.SubObj(reader["PC03044"], reader["PC03043"])), ")"));
                            reader.Close();
                            command4 = new SqlCommand(str4, connection2);
                            try
                            {
                                num4 = command4.ExecuteNonQuery();
                            }
                            catch (Exception exception10)
                            {
                                ProjectData.SetProjectError(exception10);
                                Exception exception4 = exception10;
                                Interaction.MsgBox("Se ha producido el siguiente error:" + exception4.Message, 0, null);
                                connection.Close();
                                connection2.Close();
                                this.cmbSalir.Enabled = true;
                                ProjectData.ClearProjectError();
                                return;

                                ProjectData.ClearProjectError();
                            }
                        }
                        else
                        {
                            reader.Close();
                            command4 = new SqlCommand(StringType.FromObject(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj("insert into " + Variables.gTermi + "TmpCalendarioStkComp (NroOA,NroLinea,CodComp,DescComp,Cantidad,StkFisico,StkComprometido) values ('", row["NroOA"]), "','"), row["NroLinea"]), "','"), row2["OR03005"]), "','"), row2["OR03006"]), " "), row2["OR03007"]), "',"), ObjectType.SubObj(row2["OR03011"], row2["OR03012"])), ","), row2["SC03003"]), ","), ObjectType.AddObj(row2["SC03004"], row2["SC03005"])), ")")), connection2);
                            try
                            {
                                num4 = command4.ExecuteNonQuery();
                            }
                            catch (Exception exception11)
                            {
                                ProjectData.SetProjectError(exception11);
                                Exception exception5 = exception11;
                                Interaction.MsgBox("Se ha producido el siguiente error:" + exception5.Message, 0, null);
                                connection.Close();
                                connection2.Close();
                                this.cmbSalir.Enabled = true;
                                ProjectData.ClearProjectError();
                                return;

                                ProjectData.ClearProjectError();
                            }
                        }
                    }
                    else
                    {
                        command4 = new SqlCommand(StringType.FromObject(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj(ObjectType.StrCatObj("insert into " + Variables.gTermi + "TmpCalendarioStkComp (NroOA,NroLinea,CodComp,DescComp,Cantidad,StkFisico,StkComprometido) values ('", row["NroOA"]), "','"), row["NroLinea"]), "','"), row2["OR03005"]), "','"), row2["OR03006"]), " "), row2["OR03007"]), "',"), ObjectType.SubObj(row2["OR03011"], row2["OR03012"])), ","), row2["SC03003"]), ","), ObjectType.AddObj(row2["SC03004"], row2["SC03005"])), ")")), connection2);
                        try
                        {
                            num4 = command4.ExecuteNonQuery();
                        }
                        catch (Exception exception12)
                        {
                            ProjectData.SetProjectError(exception12);
                            Exception exception6 = exception12;
                            Interaction.MsgBox("Se ha producido el siguiente error:" + exception6.Message, 0, null);
                            connection.Close();
                            connection2.Close();
                            this.cmbSalir.Enabled = true;
                            ProjectData.ClearProjectError();
                            return;

                            ProjectData.ClearProjectError();
                        }
                    }
                }
                if (flag)
                {
                    command4 = new SqlCommand(StringType.FromObject(ObjectType.StrCatObj(ObjectType.StrCatObj("update " + Variables.gTermi + "TmpCalendario set SinStock=1 where NroOA='", row["NroOA"]), "'")), connection2);
                    try
                    {
                        num4 = command4.ExecuteNonQuery();
                    }
                    catch (Exception exception13)
                    {
                        ProjectData.SetProjectError(exception13);
                        Exception exception7 = exception13;
                        Interaction.MsgBox("Se ha producido el siguiente error:" + exception7.Message, 0, null);
                        connection.Close();
                        connection2.Close();
                        this.cmbSalir.Enabled = true;
                        ProjectData.ClearProjectError();
                        return;

                        ProjectData.ClearProjectError();
                    }
                }
            }
            connection.Close();
            connection2.Close();
        }
예제 #53
0
 /// <summary>
 /// Constructs a new object variable.
 /// </summary>
 /// <param name="id">The current variable id.</param>
 /// <param name="type">The object type.</param>
 internal StringVariable(int id, StringType type)
     : base(id, type)
 {
 }
예제 #54
0
 public void FromObject(object value, string expected)
 {
     Assert.Equal(expected, StringType.FromObject(value));
 }
		/// <summary>
		///    Gets a <see cref="TextInformationFrame" /> object of a
		///    specified type from a specified tag, optionally creating
		///    and adding one with a specified encoding if none is
		///    found.
		/// </summary>
		/// <param name="tag">
		///    A <see cref="Tag" /> object to search for the specified
		///    tag in.
		/// </param>
		/// <param name="ident">
		///    A <see cref="ByteVector" /> object containing the frame
		///    identifer to search for.
		/// </param>
		/// <param name="encoding">
		///    A <see cref="StringType" /> value specifying the encoding
		///    to use if a new frame is created.
		/// </param>
		/// <param name="create">
		///    A <see cref="bool" /> value specifying whether or not to
		///    create a new frame if an existing frame was not found.
		/// </param>
		/// <returns>
		///    A <see cref="TextInformationFrame" /> object containing
		///    the frame found in or added to <paramref name="tag" /> or
		///    <see langref="null" /> if no value was found <paramref
		///    name="create" /> is <see langref="false" />.
		/// </returns>
		/// <remarks>
		///    To create a frame without having to specify the encoding,
		///    use <see cref="Get(Tag,ByteVector,bool)" />.
		/// </remarks>
		/// <exception cref="ArgumentNullException">
		///    <paramref name="tag" /> or <paramref name="type" /> is
		///    <see langref="null" />.
		/// </exception>
		/// <exception cref="ArgumentException">
		///    <paramref name="type" /> is not exactly four bytes long.
		/// </exception>
		public static TextInformationFrame Get (Tag tag,
		                                        ByteVector ident,
		                                        StringType encoding,
		                                        bool create)
		{
			if (tag == null)
				throw new ArgumentNullException ("tag");
			
			if (ident == null)
				throw new ArgumentNullException ("ident");
			
			if (ident.Count != 4)
				throw new ArgumentException (
					"Identifier must be four bytes long.",
					"ident");
			
			foreach (TextInformationFrame frame in
				tag.GetFrames<TextInformationFrame> (ident))
				return frame;
			
			if (!create)
				return null;
			
			TextInformationFrame new_frame =
				new TextInformationFrame (ident, encoding);
			tag.AddFrame (new_frame);
			return new_frame;
		}
예제 #56
0
 public void FromShort(short value, string expected)
 {
     Assert.Equal(expected, StringType.FromShort(value));
 }
		public UserTextInformationFrame (string description,
		                                 StringType encoding)
			: base (FrameType.TXXX, encoding)
		{
			base.Text = new string [] {description};
		}
예제 #58
0
 public void FromObject_InvalidCastException(object value)
 {
     Assert.Throws <InvalidCastException>(() => StringType.FromObject(value));
 }
예제 #59
0
 public void FromDouble(double value, string expected)
 {
     Assert.Equal(expected, StringType.FromDouble(value));
     Assert.Equal(expected, StringType.FromDouble(value, default(NumberFormatInfo)));
 }
예제 #60
0
 public void FromSingle(float value, NumberFormatInfo format, string expected)
 {
     Assert.Equal(expected, StringType.FromSingle(value, format));
 }