Esempio n. 1
0
        public void IncrementalAppend()
        {
            IDataFile file = Transaction.GetFile(new Key(0, 0, 1), FileAccess.ReadWrite);
            Assert.IsNotNull(file);

            StringData data = new StringData(file);

            for (int i = 0; i < 500; i++) {
                StringBuilder sb = new StringBuilder();
                for (int j = 0; j < i; j++) {
                    sb.Append(" ");
                }

                data.Append(sb.ToString());
            }

            file.Position = 0;

            int offset = 0;
            for (int i = 0; i < 500; i++) {
                StringBuilder sb = new StringBuilder();
                for (int j = 0; j < i; j++) {
                    sb.Append(" ");
                }

                string s = data.Substring(offset, i);
                Assert.AreEqual(sb.ToString(), s);

                offset += i;
            }
        }
    public override object Unpack(object ob, object Data)
    {
        if (ob is string == false) throw new System.ArgumentException("Invalid Type");

        object obj = new StringData();
        ((StringData)Data).Value = (string)ob.ToString();
        return obj;
    }
 public void ShouldReverseTheCaseOfAString()
 {
     var service = new FlipCaseService();
     var stringData = new StringData();
     stringData.OriginalString = "Robert";
     var result = service.FlipCase(stringData);
     Assert.AreEqual("rOBERT", result.FlippedCaseString);
 }
Esempio n. 4
0
        public void SimpleAppend()
        {
            IDataFile file = Transaction.GetFile(new Key(0, 0, 1), FileAccess.ReadWrite);
            Assert.IsNotNull(file);

            StringData data = new StringData(file);
            data.Append("test");
            Assert.AreNotEqual(0, file.Position);

            file.Position = 0;
            string s = data.Substring(0, 4);
            Assert.AreEqual("test", s);

            Commit();
        }
Esempio n. 5
0
        public bool Execute(params object[] Params)
        {
            if (Params.Length == 0)
            {
                return(false);
            }
            if (string.IsNullOrEmpty(StringData) || StringData == "0;0;0" || SetItems.Count == 0)
            {
                return(false);
            }

            foreach (var item in SetItems.Values.ToList())
            {
                if (item == null)
                {
                    continue;
                }
                if (!Instance.GetRoomItemHandler().GetFloor.Contains(item))
                {
                    continue;
                }

                foreach (var I in ItemsData.Split(';'))
                {
                    if (string.IsNullOrEmpty(I))
                    {
                        continue;
                    }

                    var ii = Instance.GetRoomItemHandler().GetItem(Convert.ToInt32(I.Split(':')[0]));
                    if (ii == null)
                    {
                        continue;
                    }

                    var partsString = I.Split(':');
                    var part        = partsString[1].Split(',');
                    if (int.Parse(StringData.Split(';')[0]) == 1) //State
                    {
                        try
                        {
                            if (ii.ExtraData != part[4])
                            {
                                return(false);
                            }
                        }
                        catch
                        {
                        }
                    }

                    if (int.Parse(StringData.Split(';')[1]) == 1) //Direction
                    {
                        try
                        {
                            if (ii.Rotation != Convert.ToInt32(part[3]))
                            {
                                return(false);
                            }
                        }
                        catch
                        {
                        }
                    }

                    if (int.Parse(StringData.Split(';')[2]) == 1) //Position
                    {
                        try
                        {
                            if (ii.GetX != Convert.ToInt32(part[0]) || ii.GetY != Convert.ToInt32(part[1]) ||
                                ii.GetZ != Convert.ToDouble(part[2]))
                            {
                                return(false);
                            }
                        }
                        catch
                        {
                        }
                    }
                }
            }

            return(true);
        }
Esempio n. 6
0
        /// <summary>
        /// creates new instance of AbstratData derived class from <c>inStream</c>
        /// inStream position should be in the beginning of data of pointer to data
        /// </summary>
        /// <param name="type">type to read</param>
        /// <param name="inStream">strem to read from</param>
        /// <param name="options">null or list of params required to read dat aof type <c>type</c></param>
        /// <returns></returns>
        public static AbstractData CreateData(BaseDataType type, BinaryReader inStream, Dictionary <string, object> options)
        {
            // check if list type
            var listDataType = type as ListDataType;

            if (listDataType != null) // list type data
            {
                return(new ListData(listDataType, inStream, options));
            }

            if (type.Name == "ref|generic")
            {
                return(new Int32Data(type, inStream, options));
            }

            // check if pointer type
            var pointerDataType = type as PointerDataType;

            if (pointerDataType != null) // pointer type data
            {
                return(new PointerData(pointerDataType, inStream, options));
            }

            // value type data
            AbstractData data;

            switch (type.Name)
            {
            case "bool":
                data = new ValueData <bool>(type, inStream, options);
                break;

            case "byte":
                data = new ValueData <byte>(type, inStream, options);
                break;

            case "short":
                data = new ValueData <short>(type, inStream, options);
                break;

            case "int":
                data = new Int32Data(type, inStream, options);
                break;

            case "uint":
                data = new ValueData <uint>(type, inStream, options);
                break;

            case "float":
                data = new ValueData <float>(type, inStream, options);
                break;

            case "long":
                data = new Int64Data(type, inStream, options);
                break;

            case "ulong":
                data = new ValueData <ulong>(type, inStream, options);
                break;

            case "string":
                data = new StringData(type, inStream, options);
                break;

            default:
                throw new Exception("Unknown value type name: " + type.Name);
            }
            return(data);
        }
Esempio n. 7
0
 internal static StringData CreateStringDataBlock(params string[] values)
 {
     return(StringData.NewBlock(NonEmptyCollectionUtil.OfSeq(values).Value));
 }
Esempio n. 8
0
        public bool Execute(params object[] Params)
        {
            var Player = (Habbo)Params[0];

            if (Player == null || Player.CurrentRoom == null || !Player.InRoom)
            {
                return(false);
            }

            var User = Player.CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Player.Username);

            if (User == null)
            {
                return(false);
            }

            if (BoolData && Instance.OwnerId != Player.Id || string.IsNullOrWhiteSpace(StringData))
            {
                return(false);
            }

            IChatCommand ChatCommand = null;

            if (!Program.GameContext.GetChatManager().GetCommands().TryGetCommand(StringData.Replace(":", "").ToLower(), out ChatCommand))
            {
                return(false);
            }

            if (Player.IChatCommand == ChatCommand)
            {
                Player.WiredInteraction = true;
                var Effects    = Instance.GetWired().GetEffects(this);
                var Conditions = Instance.GetWired().GetConditions(this);

                foreach (var Condition in Conditions.ToList())
                {
                    if (!Condition.Execute(Player))
                    {
                        return(false);
                    }

                    Instance.GetWired().OnEvent(Condition.Item);
                }

                Player.GetClient().SendPacket(new WhisperComposer(User.VirtualId, StringData, 0, 0));
                //Check the ICollection to find the random addon effect.
                var HasRandomEffectAddon = Effects.Count(x => x.Type == WiredBoxType.AddonRandomEffect) > 0;
                if (HasRandomEffectAddon)
                {
                    //Okay, so we have a random addon effect, now lets get the IWiredItem and attempt to execute it.
                    var RandomBox = Effects.FirstOrDefault(x => x.Type == WiredBoxType.AddonRandomEffect);
                    if (!RandomBox.Execute())
                    {
                        return(false);
                    }

                    //Success! Let's get our selected box and continue.
                    var SelectedBox = Instance.GetWired().GetRandomEffect(Effects.ToList());
                    if (!SelectedBox.Execute())
                    {
                        return(false);
                    }

                    //Woo! Almost there captain, now lets broadcast the update to the room instance.
                    if (Instance != null)
                    {
                        Instance.GetWired().OnEvent(RandomBox.Item);
                        Instance.GetWired().OnEvent(SelectedBox.Item);
                    }
                }
                else
                {
                    foreach (var Effect in Effects.ToList())
                    {
                        if (!Effect.Execute(Player))
                        {
                            return(false);
                        }

                        Instance.GetWired().OnEvent(Effect.Item);
                    }
                }
                return(true);
            }

            return(false);
        }
        public StringPosition Create(int businessUnitId, int companyId, int orderPositionId, StringData stringData)
        {
            var stringPosition = new StringPosition
            {
                Id                   = 0,                                                // Идентификатор строки
                CompanyId            = companyId,                                        // Идентификатор компании
                OrderPositionId      = orderPositionId,
                AnonymousCompanyName = stringData.AnonymousCompanyName,                  // Название компании для анонимных вакансий
                BusinessUnitId       = businessUnitId,                                   // Идентификатор бизнес еденицы
                Date                 = null,                                             // Дата создания строки
                VacancyName          = stringData.VacancyName,                           // Название вакансии
                VacancyAdditional    = stringData.VacancyAdditional,                     // Дополнение к названию вакансии
                VacancyCode          = null,                                             // Код вакансии
                Responsibility       = stringData.Responsibility,                        // Обязаности
                Requirement          = stringData.RequirementsData.Value,                // Требования
                AgeFrom              = stringData.RequirementsData.AgeData.From,         // Возраст от
                AgeTo                = stringData.RequirementsData.AgeData.To,           // Возраст до
                GenderId             = stringData.RequirementsData.GenderId,             // Идентификатор пола
                EducationId          = stringData.RequirementsData.EducationId,          // Идентификатор образования
                ExperienceId         = stringData.RequirementsData.ExperienceData.Id,    // Идентификатор опыта работы
                ExperienceValue      = stringData.RequirementsData.ExperienceData.Value, // Значение опыта
                CitizenshipId        = stringData.RequirementsData.CitizenshipId,        // Идентификатор гражданства
                Condition            = stringData.ConditionsData.Value,                  // Условия
                SalaryFrom           = stringData.ConditionsData.SalaryData.From,        // Доход от
                SalaryTo             = stringData.ConditionsData.SalaryData.To,          // Доход до
                SalaryDescription    = stringData.ConditionsData.SalaryData.Description, // Примечание к уровню дохода
                CurrencyId           = stringData.ConditionsData.SalaryData.CurrencyId,  // Идентификатор валюты
                WorkGraphicId        = stringData.ConditionsData.WorkGraphicData.Id,     // Идентификатор графика работы
                WorkGraphic          = stringData.ConditionsData.WorkGraphicData.Comment,
                Keywords             = null,                                             // Ключевые слова
                Logo                 = Base64ToBytesConverter.Convert(stringData.LogoData.Base64String),
                LogoFileName         = stringData.LogoData.FileName,
                ContactFirstName     = stringData.ContactData.FirstName,                     // Имя контактного лица
                ContactSecondName    = stringData.ContactData.SecondName,                    // Оотчество контактного лица
                ContactLastName      = stringData.ContactData.LastName,                      // Фамилия контактного лица
                Text                 = null,                                                 // изначальный текст
                IsSalaryPercent      = stringData.ConditionsData.SalaryData.IsSalaryPercent, // Процент с продаж
                IsHousing            = stringData.ConditionsData.IsHousing,                  // Предоставляется общежитие
                IsFood               = stringData.ConditionsData.IsFood,                     // Предоставляются обеды
                BeginDate            = DateTime.Now
            };

            return(stringPosition);
        }
Esempio n. 10
0
        public unsafe static NameData ReadNames(DataReader reader, TableRecord[] tables)
        {
            if (!SeekToTable(reader, tables, FourCC.Name))
            {
                return(default(NameData));
            }

            // read header
            var currentOffset = reader.Position;
            var format        = reader.ReadUInt16BE();
            var count         = reader.ReadUInt16BE();
            var dataOffset    = currentOffset + reader.ReadUInt16BE();

            // read name records, filtering out non-Unicode and platforms we don't know about
            var stringData      = stackalloc StringData[count];
            var stringDataCount = 0;

            for (int i = 0; i < count; i++)
            {
                var platform = reader.ReadUInt16BE();
                var encoding = reader.ReadUInt16BE();
                var language = reader.ReadUInt16BE();
                var name     = reader.ReadUInt16BE();
                var length   = reader.ReadUInt16BE();
                var offset   = reader.ReadUInt16BE();

                // we only support Unicode strings
                if (platform == PlatformID.Microsoft)
                {
                    if (encoding != WindowsEncoding.UnicodeBmp && encoding != WindowsEncoding.UnicodeFull)
                    {
                        continue;
                    }

                    if (language != CultureInfo.CurrentCulture.LCID)
                    {
                        continue;
                    }
                }
                else if (platform != PlatformID.Unicode)
                {
                    continue;
                }

                stringData[stringDataCount++] = new StringData
                {
                    Name   = name,
                    Offset = offset,
                    Length = length
                };
            }

            // find strings we care about and extract them from the blob
            var nameData = new NameData();

            for (int i = 0; i < stringDataCount; i++)
            {
                var data = stringData[i];
                switch (data.Name)
                {
                case NameID.FamilyName: nameData.FamilyName = ExtractString(reader, dataOffset, data); break;

                case NameID.SubfamilyName: nameData.SubfamilyName = ExtractString(reader, dataOffset, data); break;

                case NameID.UniqueID: nameData.UniqueID = ExtractString(reader, dataOffset, data); break;

                case NameID.FullName: nameData.FullName = ExtractString(reader, dataOffset, data); break;

                case NameID.Version: nameData.Version = ExtractString(reader, dataOffset, data); break;

                case NameID.Description: nameData.Description = ExtractString(reader, dataOffset, data); break;

                case NameID.TypographicFamilyName: nameData.TypographicFamilyName = ExtractString(reader, dataOffset, data); break;

                case NameID.TypographicSubfamilyName: nameData.TypographicSubfamilyName = ExtractString(reader, dataOffset, data); break;
                }
            }

            return(nameData);
        }
Esempio n. 11
0
 /// <summary>
 /// Constructs the reader on the given string, given a start
 /// offset within the object.
 /// </summary>
 /// <param name="data">The string to be read.</param>
 /// <param name="start">The start offset of the read.</param>
 public StringDataReader(StringData data, long start)
     : this(data, start, data.Length)
 {
 }
Esempio n. 12
0
 public StringDataControl()
 {
     _stringData = new StringData();
 }
Esempio n. 13
0
        ///// <summary>
        /////     Thư mục lưu ảnh nhận được
        /////     Thư mục này lấy trong SystemParam
        ///// </summary>
        ////private string _destImagePath = string.Empty;

        ///// <summary>
        /////     Thư mục lưu đường dẫn ảnh do máy Xt trả ra
        /////     Thư mục này được lưu trên máy XT và cấu hình qua file
        ///// </summary>
        ////private string _sourceImagePath = string.Empty;

        /// <summary>
        ///     Tên file lưu đường dẫn
        ///     Đường dẫn này lưu vào dòng số 1
        /// </summary>
        //private string _xt4000IconfigFileName = "_Xt-4000iConfig.txt";

        #endregion

        /// <summary>
        ///     Xử lý sau kkhi nhận được dữ liệu
        /// </summary>
        public override void ProcessData()
        {
            try
            {
                // Kiểm tra kết thúc dữ liệu
                if (!StringData.EndsWith(string.Format("L|1|N{0}", DeviceHelper.CR)))
                {
                    Log.Trace("Du lieu nhan dc:\r\n{0}", StringData);
                    Log.Trace("Dek du data, thoat ra lam tiep");
                    return;
                }

                //// Nạp thông tin cấu hình

                //// Kiểm tra file cấu hình có tồn tại hay không?
                //// Nếu không tồn tại thì tạo file mới
                //if (!File.Exists(_xt4000IconfigFileName))
                //{
                //    File.WriteAllText(_xt4000IconfigFileName,
                //        string.Format("\r\nDòng 1: Đường dẫn của thư mục chứa ảnh trên máy XT-400i"));
                //}
                //else
                //{
                //    _sourceImagePath = File.ReadAllLines(_xt4000IconfigFileName)[0];
                //    _destImagePath = DeviceHelper.GetImageFolder();
                //    if (!_destImagePath.EndsWith(Path.DirectorySeparatorChar.ToString()))
                //        _destImagePath = string.Format("{0}{1}", _destImagePath, Path.DirectorySeparatorChar);
                //    if (!_sourceImagePath.EndsWith(Path.DirectorySeparatorChar.ToString()))
                //        _sourceImagePath = string.Format("{0}{1}", _sourceImagePath, Path.DirectorySeparatorChar);
                //}

                Log.Trace("Begin Process Data");
                //Lưu lại Data
                Log.Trace(StringData);

                //Lấy về dữ liệu của các bệnh nhân
                IEnumerable <string> arrPatients = SeparatorData(StringData);

                //Duyệt qua mảng xử lý dữ liệu của từng bệnh nhân
                foreach (string patient in arrPatients)
                {
                    IEnumerable <string> resultArray = null;
                    string[]             records     = patient.Split(DeviceHelper.CR);
                    foreach (string record in records)
                    {
                        string[] temp;
                        if (record.StartsWith("P"))
                        {
                            temp = record.Split('|');
                            if (temp.Length > 4)
                            {
                                TestResult.Barcode = temp[4].Trim();
                                Log.Debug("Barcode:{0}", TestResult.Barcode);
                            }
                        }
                        else if (record.StartsWith("O"))
                        {
                            temp = record.Split('|');
                            //Lấy barcode xét nghiệm
                            resultArray = from s in temp[4].Split("\\".ToCharArray())
                                          select s.Split('^')[4];

                            try
                            {
                                if (TestResult.Barcode.Trim() == "")
                                {
                                    string strTempbarcode = temp[3].Split('^')[2].Trim();
                                    TestResult.Barcode = strTempbarcode == "" ? "0000" : strTempbarcode;
                                    Log.Debug("Barcode:{0}", TestResult.Barcode);
                                }
                            }
                            catch (Exception)
                            {
                                TestResult.Barcode = "0000";
                                Log.Debug("Barcode:{0}", TestResult.Barcode);
                            }
                        }
                        else if (record.StartsWith("R"))
                        {
                            try
                            {
                                temp = record.Split('|');
                                //Lấy về ngày tháng làm xét nghiệm
                                if (String.IsNullOrEmpty(TestResult.TestDate))
                                {
                                    string tempDate = temp[12];
                                    TestResult.TestDate = string.Format("{0}/{1}/{2}", tempDate.Substring(6, 2),
                                                                        tempDate.Substring(4, 2),
                                                                        tempDate.Substring(0, 4));
                                }

                                string strTestName = temp[2].Split('^')[4].Trim();
                                bool   testInclude = (from s in resultArray
                                                      where s == strTestName
                                                      select s).Any();
                                if (!testInclude)
                                {
                                    continue;
                                }


                                string strTestValue = temp[3].Trim();
                                string strTestUnit  = temp[4].Trim();

                                if (strTestName == "HGB")
                                {
                                    try
                                    {
                                        strTestValue = Math.Round(Convert.ToDouble(strTestValue) * 10, 3).ToString();
                                    }
                                    catch
                                    {
                                    }
                                }
                                else if (strTestName == "MCHC")
                                {
                                    try
                                    {
                                        strTestValue = Math.Round(Convert.ToDouble(strTestValue) * 10, 3).ToString();
                                    }
                                    catch (Exception)
                                    {
                                    }
                                }
                                //else if (strTestName == "HCT")
                                //{
                                //    try
                                //    {
                                //        strTestValue = Math.Round(Convert.ToDouble(strTestValue)/100, 3).ToString();
                                //    }
                                //    catch (Exception)
                                //    {
                                //    }
                                //}
                                AddResult(new ResultItem(strTestName, strTestValue, strTestUnit));
                            }
                            catch (Exception ex)
                            {
                                Log.Error("Error while processing data Error: {0}", ex);
                            }
                        }
                    }
                    // Lưu các ảnh thu được:

                    ////// Kiểm tra nếu các thư mục lưu ảnh tồn tại
                    ////if (Directory.Exists(_destImagePath) && Directory.Exists(_sourceImagePath))
                    ////{
                    ////    IEnumerable<string> lstImg = from r in records
                    ////        let header = r.Split('|')[0]
                    ////        where
                    ////            header.StartsWith("R") &&
                    ////            r.Split('|')[3].ToUpper().EndsWith(".PNG")
                    ////        select r;

                    ////    foreach (string s in lstImg)
                    ////    {
                    ////        try
                    ////        {
                    ////            string[] temp = s.Split('|');
                    ////            string strTestName = temp[2].Split('^')[4].Trim();
                    ////            string strTestValue = temp[3].Trim();
                    ////            string[] x = strTestValue.Split('&');
                    ////            strTestValue = x[x.Length - 1];
                    ////            // Copy Image
                    ////            string sourceFileName = string.Format("{0}{2}{1}{3}", _sourceImagePath,
                    ////                Path.DirectorySeparatorChar, x[2], strTestValue);
                    ////            string destFileName = string.Format("{0}{1}", _destImagePath, strTestValue);
                    ////            if (File.Exists(sourceFileName)) File.Copy(sourceFileName, destFileName, true);
                    ////            Log.Debug("Copy file Success: {0} to {1}", sourceFileName, destFileName);
                    ////            AddResult(new ResultItem(strTestName, destFileName));
                    ////        }
                    ////        catch (Exception ex)
                    ////        {
                    ////            Log.Error("Error while copy image to folder - Error:{0}", ex.ToString());
                    ////        }
                    ////    }
                    ////}
                    ////else
                    ////{
                    ////    Log.Error("Image Folder is not available - could not copy Image");
                    ////}


                    Log.Trace("Begin Import Result");
                    Log.Trace(ImportResults() ? "Import Result Success" : "Error While Import result");
                }
                ClearData();
            }
            catch (Exception ex)
            {
                Log.Error("Error while processing data Error: {0}", ex);
                ClearData();
            }
        }
Esempio n. 14
0
        public void Transduce()
        {
            var fst = new Fst <StringData, int>(_operations)
            {
                UseUnification = false
            };

            fst.StartState = fst.CreateAcceptingState();
            fst.StartState.Arcs.Add(FeatureStruct.New(PhoneticFeatSys).Symbol("nas-", "nas?").Value, fst.StartState);
            fst.StartState.Arcs.Add(FeatureStruct.New(PhoneticFeatSys).Symbol("nas+").Symbol("cor+", "cor-").Value, fst.StartState);
            State <StringData, int> s1 = fst.StartState.Arcs.Add(FeatureStruct.New(PhoneticFeatSys).Symbol("cor?").Symbol("nas+").Value, FeatureStruct.New(PhoneticFeatSys).Symbol("cor-").Value, fst.CreateState());

            s1.Arcs.Add(FeatureStruct.New(PhoneticFeatSys).Symbol("cor-").Value, fst.StartState);
            State <StringData, int> s2 = fst.StartState.Arcs.Add(FeatureStruct.New(PhoneticFeatSys).Symbol("cor?").Symbol("nas+").Value, FeatureStruct.New(PhoneticFeatSys).Symbol("cor+").Value, fst.CreateAcceptingState());

            s2.Arcs.Add(FeatureStruct.New(PhoneticFeatSys).Symbol("cor?").Symbol("nas+").Value, FeatureStruct.New(PhoneticFeatSys).Symbol("cor+").Value, s2);
            s2.Arcs.Add(FeatureStruct.New(PhoneticFeatSys).Symbol("nas-", "nas?").Symbol("cor+", "cor?").Value, fst.StartState);
            s2.Arcs.Add(FeatureStruct.New(PhoneticFeatSys).Symbol("nas+").Symbol("cor+").Value, fst.StartState);
            s2.Arcs.Add(FeatureStruct.New(PhoneticFeatSys).Symbol("cor?").Symbol("nas+").Value, FeatureStruct.New(PhoneticFeatSys).Symbol("cor-").Value, s1);

            var writer = new System.IO.StreamWriter(string.Format("c:\\ltor-nfst.dot"));

            fst.ToGraphViz(writer);
            writer.Close();

            Fst <StringData, int> dfst = fst.Determinize();

            writer = new System.IO.StreamWriter(string.Format("c:\\ltor-dfst.dot"));
            fst.ToGraphViz(writer);
            writer.Close();

            StringData data = CreateStringData("caNp");
            FstResult <StringData, int> result;

            Assert.That(dfst.Transduce(data, data.Annotations.First, true, true, true, out result), Is.True);
            Assert.That(result.Output.String, Is.EqualTo("camp"));

            data = CreateStringData("caN");
            Assert.That(dfst.Transduce(data, data.Annotations.First, true, true, true, out result), Is.True);
            Assert.That(result.Output.String, Is.EqualTo("can"));

            data = CreateStringData("carp");
            Assert.That(dfst.Transduce(data, data.Annotations.First, true, true, true, out result), Is.True);
            Assert.That(result.Output.String, Is.EqualTo("carp"));

            fst = new Fst <StringData, int>(_operations)
            {
                UseUnification = false
            };
            fst.StartState = fst.CreateAcceptingState();
            s1             = fst.StartState.Arcs.Add(FeatureStruct.New(PhoneticFeatSys).Symbol("cons+").Value, fst.CreateState())
                             .Arcs.Add(FeatureStruct.New(PhoneticFeatSys).Symbol("cons-").Value, fst.CreateState());
            s2 = s1.Arcs.Add(FeatureStruct.New(PhoneticFeatSys).Symbol("nas+").Value, null, fst.CreateState());
            State <StringData, int> s3 = s1.Arcs.Add(FeatureStruct.New(PhoneticFeatSys).Symbol("voice-").Value, fst.CreateState());

            s3.Arcs.Add(null, FeatureStruct.New(PhoneticFeatSys).Symbol(Bdry).Feature("strRep").EqualTo(".").Value, s2);
            s3.Arcs.Add(null, FeatureStruct.New(PhoneticFeatSys).Symbol(Bdry).Feature("strRep").EqualTo("+").Value, fst.CreateState())
            .Arcs.Add(null, FeatureStruct.New(PhoneticFeatSys).Symbol(Bdry).Feature("strRep").EqualTo(".").Value, s2);
            s2.Arcs.Add(FeatureStruct.New(PhoneticFeatSys).Symbol("cons+").Value, fst.CreateAcceptingState());


            writer = new System.IO.StreamWriter(string.Format("c:\\ltor-nfst.dot"));
            fst.ToGraphViz(writer);
            writer.Close();

            dfst = fst.Determinize();

            writer = new System.IO.StreamWriter(string.Format("c:\\ltor-dfst.dot"));
            dfst.ToGraphViz(writer);
            writer.Close();

            data = CreateStringData("camp");
            Assert.That(dfst.Transduce(data, data.Annotations.First, true, true, true, out result), Is.True);
            Assert.That(result.Output.String, Is.EqualTo("cap"));

            data = CreateStringData("casp");
            IEnumerable <FstResult <StringData, int> > results;

            Assert.That(dfst.Transduce(data, data.Annotations.First, true, true, true, out results), Is.True);
            FstResult <StringData, int>[] resultsArray = results.ToArray();
            Assert.That(resultsArray.Length, Is.EqualTo(2));
            Assert.That(resultsArray.Select(r => r.Output.String), Is.EquivalentTo(new [] { "cas+.p", "cas.p" }));
        }
        public string processNextUtterance()
        {
            string result = null;
            UtteranceMessage msg = nextIncomingMessage ();

            if(msg!=null){

             //   string utternace = Services.toLowerCase(msg.Content);
                string utternace = msg.Content;
                StringData inputUtterance = new StringData(1, utternace, LanguageUtils.getLanguageCodeByLocale("es-US"));
                textAnnotation = hmmComponent.handleData(inputUtterance);
                TemplateData tempData = extractor.handleData(textAnnotation);
                MascaretApplication.Instance.VRComponentFactory.Log("Input::" + utternace+ " " + tempData.Id+ " "+ tempData.ToString()
             );
                result =   	dialogueInterpreter.handleUtternace(tempData);

                MascaretApplication.Instance.VRComponentFactory.Log("NLU::" + result);
                }

            if (result != null) {
                UtteranceMessage reply = new UtteranceMessage();
                reply.Content = result;
                reply.Sender = "Technicien";
                reply.Receiver = "Technicien2";
                msg.UtteranceSemanticForm = result;

                List<string> outputStrings = handleDialogueUtterance(msg);
                foreach(string outputString in outputStrings)
                {
                    MascaretApplication.Instance.VRComponentFactory.Log("DM::" + outputString);
                    reply.Content = outputString;

                   // StringData outputUtterance = new StringData(1, Services.toLowerCase(outputString), LanguageUtils.getLanguageCodeByLocale("es-US"));

                    StringData outputUtterance = new StringData(1, outputString, LanguageUtils.getLanguageCodeByLocale("es-US"));

                    textAnnotation = hmmComponent.handleData(outputUtterance);
                    TemplateData tempData = extractor.handleData(textAnnotation);

                    result = nlgDialogueGenerator.handleUtternace(tempData);
                    MascaretApplication.Instance.VRComponentFactory.Log("NLG::" + result);
                    reply.Content = result;

                    _outgoingUtteranceMessageBox.postMessage(reply);

                }

            }

            return result;
        }
Esempio n. 16
0
 public SerializedNestedStrings()
 {
     rootData = new StringData();
 }
        private StringPosition CreateStringPosition(int businessUnitId, int companyId, int orderPositionId, StringData stringData, DbTransaction dbTran)
        {
            var stringPosition = _stringFactory.Create(businessUnitId, companyId, orderPositionId, stringData);

            stringPosition = _repository.SetString(stringPosition, isActual: true, dbTran);

            return(stringPosition);
        }
Esempio n. 18
0
    public override void ProcessData(DataFrame results)
    {
        StringData stringData = results as StringData;

        Debug.Log(stringData.ToString());
    }
        public bool Execute(params object[] Params)
        {
            if (Params == null || Params.Length == 0)
            {
                return(false);
            }

            Habbo Player = (Habbo)Params[0];

            if (Player == null || Player.GetClient() == null || string.IsNullOrWhiteSpace(StringData))
            {
                return(false);
            }

            RoomUser User = Player.CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Player.Username);

            if (User == null)
            {
                return(false);
            }

            string Message = StringData;

            if (StringData.Contains("%HABBIS%"))
            {
                Message = Message.Replace("%HABBIS%", Player.Username);
            }

            if (StringData.Contains("%KAMERNAAM%"))
            {
                Message = Message.Replace("%KAMERNAAM%", Player.CurrentRoom.Name);
            }

            if (StringData.Contains("%SETMAX%"))
            {
                Message = Message.Replace("%SETMAX%", Player.CurrentRoom.UserCount.ToString());
            }

            if (StringData.Contains("%ONLINE%"))
            {
                Message = Message.Replace("%ONLINE%", QuasarEnvironment.GetGame().GetClientManager().Count.ToString());
            }

            if (StringData.Contains("%ID%"))
            {
                Message = Message.Replace("%ID%", Convert.ToString(Player.Id));
            }

            if (StringData.Contains("%DUCKETS%"))
            {
                Message = Message.Replace("%DUCKETS%", Convert.ToString(Player.Duckets));
            }

            if (StringData.Contains("%DIAMANTEN%"))
            {
                Message = Message.Replace("%DIAMANTEN%", Convert.ToString(Player.Diamonds));
            }

            if (StringData.Contains("%CREDITS%"))
            {
                Message = Message.Replace("%CREDITS%", Convert.ToString(Player.Credits));
            }

            if (StringData.Contains("%RANK%")) // Put names not number
            {
                Message = Message.Replace("%RANK%", Convert.ToString(Player.Rank));
            }

            if (StringData.Contains("%STEMMEN%"))
            {
                Message = Message.Replace("%STEMMEN%", Player.CurrentRoom.Score.ToString());
            }

            Player.GetClient().SendMessage(new WhisperComposer(User.VirtualId, Message, 0, 34));
            return(true);
        }
Esempio n. 20
0
    protected void btnLogOn_Click(object sender, EventArgs e)
    {
        //DbConn dbc = new DbConn();
        //String msg = dbc.getErrorMsg();
        //if (msg.Length == 0)
        //{

        //if (Session["user"] == null)
        // { // database connection is good/open
        //WebUserMods webUserMods = new WebUserMods(dbc);
        StringData webUserStringData = find(this.inputUser.Text, this.inputPassword.Text);

        if (webUserStringData == null)
        {
            //msg = "Username and password not found.";
            //this.lblMsg.CssClass = "negative";
            Label1.Text      = "Senha Incorreta";
            Label1.ForeColor = System.Drawing.Color.Red;
        }
        else
        {
            if (webUserStringData.userSistema == 0)
            {
                //Response.Write("<script>alert('Sistema em manutenção');</script>");
                this.sistema.Text      = "Sistema em manutenção";
                this.sistema.ForeColor = System.Drawing.Color.Red;
                Session.Abandon();
                return;
                //Response.Redirect("~/login.aspx");
            }

            /*if (webUserStringData.recordStatus.Length != 0)
             * {
             *  msg = webUserStringData.recordStatus; // this would indicate programmer error
             * }
             * else
             * {*/
            //this.lblMsg.CssClass = "positive";
            //msg = "Welcome " + webUserStringData.userEmail + ". Your id is " + webUserStringData.userRole;// +
            // webUserStringData.webUserId;
            Session.Add("webuser", webUserStringData);
            Session["Permissao"] = webUserStringData.userPermission.ToString();
            Session["Entrada"]   = DateTime.Now.ToString();
            Session["Tempo"]     = Convert.ToInt32(0);
            Label1.Text          = "";
            Response.Redirect("~/home.aspx");
            //}
        }

        /*}
         * else
         * {
         *  StringData webUserStringData = (StringData)Session["webuser"];
         *  this.lblMsg.CssClass = "positive";
         *  msg = "You are already signed in with " + webUserStringData.userEmail;
         * }*/
        //}



        //this.lblMsg.Text = msg;
    }
Esempio n. 21
0
        public override void ProcessRawData()
        {
            try
            {
                Log.Trace(DeviceHelper.CRLF + StringData);
                string rawResult = StringData.Substring(StringData.IndexOf("SAMPLE RESULTS", StringComparison.Ordinal));
                if ((rawResult.IndexOf("Na") < 0) || (rawResult.IndexOf("K") < 0) || (rawResult.IndexOf("Cl") < 0))
                {
                    Log.Trace("Data is not valided");
                    return;
                }
                string[] strResutl = DeviceHelper.DeleteAllBlankLine(rawResult, DeviceHelper.CRLF.ToCharArray());
                Log.Trace("Begin Process Data");
                //Lưu lại Data
                //Lưu lại Data

                TestResult.TestDate = strResutl[strResutl.Length - 1].Substring(0, 9).Trim();
                string pTestDate = strResutl[strResutl.Length - 1].Substring(0, 3);
                pTestDate           = DeviceHelper.GetMonth(pTestDate);
                TestResult.TestDate = string.Format("{0}/{1}/{3}{2}", TestResult.TestDate.Substring(4, 2), pTestDate,
                                                    TestResult.TestDate.Substring(7, 2),
                                                    DateTime.Now.Year.ToString(CultureInfo.InvariantCulture).Substring(0, 2));

                //Lấy về dòng chứa ID
                int tempRowIndex = GetRowIndex(strResutl, "ID");
                if (tempRowIndex == -1)
                {
                    TestResult.Barcode = "0000";
                }
                else
                {
                    string[] tempId = strResutl[tempRowIndex].Split();
                    TestResult.Barcode = tempId.Length >= 2 ? Convert.ToInt32(tempId[1]).ToString() : "0000";
                }
                //Tìm đến phần tử đầu tien chứa kết quả.
                tempRowIndex = GetRowIndex(strResutl, "Na");
                if (tempRowIndex != -1)
                {
                    string[] tempResult = DeviceHelper.DeleteAllBlankLine(strResutl[tempRowIndex].Split());
                    AddResult(new ResultItem(tempResult[0].Replace("\"", "").Replace("^", "").Trim(),
                                             tempResult[1].Trim(), tempResult[2].Trim()));
                    tempResult = DeviceHelper.DeleteAllBlankLine(strResutl[tempRowIndex + 1].Split());
                    AddResult(new ResultItem(tempResult[0].Replace("\"", "").Replace("^", "").Trim(),
                                             tempResult[1].Trim(), tempResult[2].Trim()));
                    tempResult = DeviceHelper.DeleteAllBlankLine(strResutl[tempRowIndex + 2].Split());
                    AddResult(new ResultItem(tempResult[0].Replace("\"", "").Replace("^", "").Trim(),
                                             tempResult[1].Trim(), tempResult[2].Trim()));
                }

                Log.Debug("Begin Importdata");
                Log.Debug(ImportResults() ? "Finish Imported result" : "Error While Import Result to DB");
                ClearData();

                //  }
            }
            catch (Exception ex)
            {
                //throw ex;
                Log.Error("Error while processing data Error: {0}", ex);
                ClearData();
            }
        }
Esempio n. 22
0
 public void ChangeString(StringData other)
 {
     value = other.value;
 }
Esempio n. 23
0
 /// <summary>
 /// Constructs the reader on the given string, given a start and end
 /// offset within the object.
 /// </summary>
 /// <param name="data">The string to be read.</param>
 /// <param name="start">The start offset of the read.</param>
 /// <param name="end">The end offset of the read.</param>
 public StringDataReader(StringData data, long start, long end)
 {
     this.data = data;
     this.end = end;
     pos = start;
 }
Esempio n. 24
0
        public bool Execute(params object[] Params)
        {
            if (Params.Length == 0)
            {
                return(false);
            }

            if (String.IsNullOrEmpty(StringData) || StringData == "0;0;0" || SetItems.Count == 0)
            {
                return(false);
            }

            foreach (Item Item in SetItems.Values.ToList())
            {
                if (!Instance.GetRoomItemHandler().GetFloor.Contains(Item))
                {
                    continue;
                }

                foreach (String I in ItemsData.Split(';'))
                {
                    if (String.IsNullOrEmpty(I))
                    {
                        continue;
                    }

                    Item II = Instance.GetRoomItemHandler().GetItem(Convert.ToInt32(I.Split(':')[0]));
                    if (II == null)
                    {
                        continue;
                    }

                    string[] partsString = I.Split(':');
                    string[] part        = partsString[1].Split(',');

                    if (int.Parse(StringData.Split(';')[0]) == 1)//State
                    {
                        if (II.ExtraData == part[4].ToString())
                        {
                            return(false);
                        }
                    }

                    if (int.Parse(StringData.Split(';')[1]) == 1)//Direction
                    {
                        if (II.Rotation == Convert.ToInt32(part[3]))
                        {
                            return(false);
                        }
                    }

                    if (int.Parse(StringData.Split(';')[2]) == 1)//Position
                    {
                        if (II.GetX == Convert.ToInt32(part[0]) && II.GetY == Convert.ToInt32(part[1]) && II.GetZ == Convert.ToDouble(part[2]))
                        {
                            return(false);
                        }
                    }
                }
            }
            return(true);
        }
Esempio n. 25
0
 /// <summary>
 /// Constructs the reader on the given string.
 /// </summary>
 /// <param name="data">The string to be read.</param>
 public StringDataReader(StringData data)
     : this(data, 0)
 {
 }
Esempio n. 26
0
        public bool OnCycle()
        {
            if (!Requested || String.IsNullOrEmpty(StringData) || StringData == "0;0;0" || SetItems.Count == 0)
            {
                return(false);
            }

            foreach (Item item in SetItems.Values.ToList())
            {
                if (Instance.GetRoomItemHandler().GetFloor == null && !Instance.GetRoomItemHandler().GetFloor.Contains(item))
                {
                    continue;
                }

                foreach (string I in ItemsData.Split(';'))
                {
                    if (string.IsNullOrEmpty(I))
                    {
                        continue;
                    }

                    int  itemId = Convert.ToInt32(I.Split(':')[0]);
                    Item II     = Instance.GetRoomItemHandler().GetItem(Convert.ToInt32(itemId));
                    if (II == null)
                    {
                        continue;
                    }

                    string[] partsString = I.Split(':');
                    try
                    {
                        if (string.IsNullOrEmpty(partsString[0]) || string.IsNullOrEmpty(partsString[1]))
                        {
                            continue;
                        }
                    }
                    catch { continue; }

                    string[] part = partsString[1].Split(',');

                    try
                    {
                        if (int.Parse(StringData.Split(';')[0]) == 1)//State
                        {
                            if (part.Count() >= 4)
                            {
                                SetState(II, part[4].ToString());
                            }
                            else
                            {
                                SetState(II, "1");
                            }
                        }
                    }
                    catch (Exception e) { ExceptionLogger.LogWiredException(e); }

                    try
                    {
                        if (int.Parse(StringData.Split(';')[1]) == 1)//Direction
                        {
                            SetRotation(II, Convert.ToInt32(part[3]));
                        }
                    }
                    catch (Exception e) { ExceptionLogger.LogWiredException(e); }

                    try
                    {
                        if (int.Parse(StringData.Split(';')[2]) == 1)//Position
                        {
                            SetPosition(II, Convert.ToInt32(part[0].ToString()), Convert.ToInt32(part[1].ToString()), Convert.ToDouble(part[2].ToString()));
                        }
                    }
                    catch (Exception e) { ExceptionLogger.LogWiredException(e); }
                }
            }
            Requested = false;
            return(true);
        }
Esempio n. 27
0
 private void WriteStringData(int stringIndex, StringData stringData)
 {
     Utility.Marshal.StructureToBytes(stringData, StringDataSize, s_CachedBytes);
     m_Stream.Position = m_StringDataOffset + StringDataSize * stringIndex;
     m_Stream.Write(s_CachedBytes, 0, StringDataSize);
 }
Esempio n. 28
0
        /** GetLength
         */
        public static int GetLength(string a_jsonstring, int a_index, int a_length)
        {
            int t_index = a_index;

            if (t_index < a_length)
            {
                if (a_jsonstring[t_index] == '[')
                {
                    //開始。
                    t_index++;
                    int t_nest = 0;
                    while (t_index < a_length)
                    {
                        switch (a_jsonstring[t_index])
                        {
                        case ']':
                        {
                            if (t_nest <= 0)
                            {
                                //終端。
                                return(t_index - a_index + 1);
                            }
                            else
                            {
                                //ネスト。
                                t_nest--;
                                t_index++;
                            }
                        } break;

                        case '[':
                        {
                            //ネスト。
                            t_nest++;
                            t_index++;
                        } break;

                        case '"':
                        case '\'':
                        {
                            //文字列。
                            int t_add = StringData.GetLength(a_jsonstring, t_index, a_length);
                            if (t_add > 0)
                            {
                                t_index += t_add;
                            }
                            else
                            {
                                //文字サイズの取得に失敗。

                                                                        #if (DEF_BLUEBACK_JSONITEM_ASSERT)
                                DebugTool.Assert(false);
                                                                        #endif

                                return(0);
                            }
                        } break;

                        default:
                        {
                            //次へ。
                            t_index++;
                        } break;
                        }
                    }

                    //終端前に範囲外。

                                        #if (DEF_BLUEBACK_JSONITEM_ASSERT)
                    DebugTool.Assert(false);
                                        #endif

                    return(0);
                }
                else
                {
                    //インデックス配列以外。

                                        #if (DEF_BLUEBACK_JSONITEM_ASSERT)
                    DebugTool.Assert(false);
                                        #endif

                    return(0);
                }
            }
            else
            {
                //開始位置が範囲外。

                                #if (DEF_BLUEBACK_JSONITEM_ASSERT)
                DebugTool.Assert(false);
                                #endif

                return(0);
            }
        }
Esempio n. 29
0
 public StringField(string objectName, string fieldName, string defaultValue)
 {
     data = PersistentData.GetData <StringData>(objectName, fieldName);
 }
Esempio n. 30
0
 public void Put_Single()
 {
     Create("dog", "cat");
     _operations.Put(_textView.GetLine(0).Start.Add(1), StringData.NewSimple("fish"), OperationKind.CharacterWise);
     Assert.AreEqual("dfishog", _textView.GetLine(0).GetText());
 }
Esempio n. 31
0
        public void EncodingFromAcceptCharsetTest()
        {
            // It takes over a minute to run all combinations.
            CombinatorialEngine engine = CombinatorialEngine.FromDimensions(
                new Dimension("EncodingData", EncodingData.Values),
                new Dimension("StringData", StringData.Values),
                new Dimension("SerializationFormatData", SerializationFormatData.StructuredValues),
                new Dimension("WebServerLocation", new object[] { WebServerLocation.InProcess }));

            engine.Mode = CombinatorialEngineMode.EveryElement;

            TestUtil.RunCombinatorialEngineFail(engine, delegate(Hashtable table)
            {
                EncodingData encodingData      = (EncodingData)table["EncodingData"];
                StringData stringData          = (StringData)table["StringData"];
                WebServerLocation location     = (WebServerLocation)table["WebServerLocation"];
                SerializationFormatData format = (SerializationFormatData)table["SerializationFormatData"];

                if (encodingData.Encoding == null)
                {
                    return;
                }

                if (!EncodingHandlesString(encodingData.Encoding, "<>#&;\r\n"))
                {
                    return;
                }

                // Transliteration of ISCII characters and Unicode is possible, but round-tripping from
                // Unicode will not work because all phonetic sounds share an ISCII value, but have
                // distinct Unicode points depending on the language.
                if (encodingData.Name.StartsWith("x-iscii") && stringData.TextScript != null && stringData.TextScript.SupportsIscii)
                {
                    return;
                }

                using (CustomDataContext.CreateChangeScope())
                    using (TestWebRequest request = TestWebRequest.CreateForLocation(location))
                    {
                        request.DataServiceType    = typeof(CustomDataContext);
                        request.HttpMethod         = "POST";
                        request.RequestUriString   = "/Customers";
                        request.RequestContentType = UnitTestsUtil.JsonLightMimeType;
                        request.SetRequestStreamAsText("{ " +
                                                       "@odata.type : \"AstoriaUnitTests.Stubs.Customer\" ," +
                                                       "ID: 100," +
                                                       "Name: " +
                                                       System.Data.Test.Astoria.Util.JsonPrimitiveTypesUtil.PrimitiveToString(stringData.Value, typeof(string)) +
                                                       " }");
                        request.SendRequest();

                        request.HttpMethod       = "GET";
                        request.AcceptCharset    = encodingData.Name;
                        request.Accept           = format.MimeTypes[0];
                        request.RequestUriString = "/Customers(100)";

                        bool encoderCanHandleData = EncodingHandlesString(encodingData.Encoding, stringData.Value);
                        Trace.WriteLine("Encoding handles string: " + encoderCanHandleData);

                        Exception exception = TestUtil.RunCatching(request.SendRequest);

                        XmlDocument document = null;
                        Stream byteStream    = new MemoryStream();
                        if (exception == null)
                        {
                            using (Stream stream = request.GetResponseStream())
                            {
                                IOUtil.CopyStream(stream, byteStream);
                            }

                            byteStream.Position = 0;
                            Trace.WriteLine(TestUtil.BuildHexDump(byteStream));
                            byteStream.Position = 0;

                            if (format == SerializationFormatData.Atom)
                            {
                                document = new XmlDocument(TestUtil.TestNameTable);
                                using (StreamReader reader = new StreamReader(byteStream, encodingData.Encoding))
                                {
                                    document.Load(reader);
                                }

                                TestUtil.TraceXml(document);

                                XmlElement nameElement = TestUtil.AssertSelectSingleElement(document, "//ads:Name");
                                if (stringData.Value == null)
                                {
                                    Assert.IsTrue(UnitTestsUtil.HasElementNullValue(nameElement,
                                                                                    new System.Net.Mime.ContentType(request.ResponseContentType).MediaType));
                                }
                                else
                                {
                                    Assert.AreEqual(stringData.Value, nameElement.InnerText);
                                }
                            }
                        }
                        else
                        {
                            TestUtil.AssertExceptionExpected(exception, !encoderCanHandleData);
                        }
                    }
            });
        }
Esempio n. 32
0
 public void Put_EndOfBufferSingleCharacterwise()
 {
     Create("cat");
     _operations.Put(_textView.GetEndPoint(), StringData.NewSimple("dog"), OperationKind.CharacterWise);
     Assert.AreEqual("catdog", _textView.GetLine(0).GetText());
 }
Esempio n. 33
0
        internal void LoadInventory()
        {
            floorItems.Clear();
            wallItems.Clear();

            DataTable Data;

            using (IQueryAdapter dbClient = FirewindEnvironment.GetDatabaseManager().getQueryreactor())
            {
                dbClient.setQuery("CALL getuseritems(@userid)");
                dbClient.addParameter("userid", (int)UserId);

                Data = dbClient.getTable();

                //dbClient.setQuery("SELECT item_id, song_id FROM user_items_songs WHERE user_id = " + UserId);
                //dSongs = dbClient.getTable();
            }

            uint   id;
            uint   baseitem;
            int    dataType;
            string extradata;
            int    extra;

            foreach (DataRow Row in Data.Rows)
            {
                id       = Convert.ToUInt32(Row[0]);
                baseitem = Convert.ToUInt32(Row[1]);

                IRoomItemData data;
                if (DBNull.Value.Equals(Row[2]))
                {
                    data  = new StringData("");
                    extra = 0;
                }
                else
                {
                    dataType  = Convert.ToInt32(Row[2]);
                    extradata = (string)Row[3];
                    extra     = Convert.ToInt32(Row[4]);
                    switch (dataType)
                    {
                    case 0:
                        data = new StringData(extradata);
                        break;

                    case 1:
                        data = new MapStuffData();
                        break;

                    case 2:
                        data = new StringArrayStuffData();
                        break;

                    case 3:
                        data = new StringIntData();
                        break;

                    default:
                        data = new StringData(extradata);
                        break;
                    }
                    try
                    {
                        data.Parse(extradata);
                    }
                    catch
                    {
                        Logging.LogException(string.Format("Error in furni data! Item ID: \"{0}\" and data: \"{1}\"", id, extradata.Replace(Convert.ToChar(1).ToString(), "[1]")));
                        data = new StringData(extradata);
                    }
                }

                UserItem item = new UserItem(id, baseitem, data, extra);

                if (item.GetBaseItem().InteractionType == InteractionType.musicdisc)
                {
                    discs.Add(id, item);
                }
                if (item.isWallItem)
                {
                    wallItems.Add(id, item);
                }
                else
                {
                    floorItems.Add(id, item);
                }
            }

            discs.Clear();

            //uint songItemID;
            //uint songID;
            //foreach (DataRow dRow in dSongs.Rows)
            //{
            //    songItemID = (uint)dRow[0];
            //    songID = (uint)dRow[1];

            //    SongItem song = new SongItem(songItemID, songID);
            //    songs.Add(songItemID, song);
            //}


            this.InventoryPets.Clear();
            DataTable Data2;

            using (IQueryAdapter dbClient = FirewindEnvironment.GetDatabaseManager().getQueryreactor())
            {
                //dbClient.addParameter("userid", UserId);
                dbClient.setQuery("SELECT id, user_id, room_id, name, type, race, color, expirience, energy, nutrition, respect, createstamp, x, y, z, have_saddle FROM user_pets WHERE user_id = " + UserId + " AND room_id = 0");
                Data2 = dbClient.getTable();
            }

            if (Data2 != null)
            {
                foreach (DataRow Row in Data2.Rows)
                {
                    Pet newPet = Catalog.GeneratePetFromRow(Row);
                    InventoryPets.Add(newPet.PetId, newPet);
                }
            }
        }
Esempio n. 34
0
 public StringDataWriter(StringData data, long pos)
 {
     this.data = data;
     this.pos = pos;
 }
Esempio n. 35
0
        public override void ProcessRawData()
        {
            try
            {
                if (!StringData.Contains("URINALYSIS"))
                {
                    return;
                }
                Log.Trace("Begin Process Data");
                Log.Trace(DeviceHelper.CRLF + StringData);
                string[] allPatients = SeparatorData(StringData);

                foreach (string patient in allPatients)
                {
                    try
                    {
                        string[] tempResult = patient.Split(DeviceHelper.CR);
                        TestResult.TestDate = tempResult[1].Split()[0];
                        try
                        {
                            string tempbarcode = tempResult[3].Split(':')[1].Trim();
                            //if(string.IsNullOrEmpty(tempbarcode))
                            //    tempbarcode = tempResult[2].Split(':')[1].Trim().Replace(".","");
                            TestResult.Barcode = tempbarcode == "" ? "0000" : tempbarcode;
                        }
                        catch (Exception)
                        {
                            TestResult.Barcode = "0000";
                        }

                        for (int i = 4; i < 15; i++)
                        {
                            try
                            {
                                string[] tempresultarr = DeviceHelper.DeleteAllBlankLine(tempResult[i], "");
                                if (tempresultarr.Length > 1)
                                {
                                    string testName  = tempresultarr[0];
                                    string testValue = tempresultarr[1];
                                    TestResult.Add(new ResultItem(testName, testValue));
                                    Log.Debug("Add new Result: TestName = {0}, TestValue = {1}", testName, testValue);
                                }
                            }
                            catch (Exception)
                            {
                            }
                        }


                        Log.Debug("Begin Import Result");
                        ImportResults();
                        Log.Debug("Import Result Success");
                    }
                    catch (Exception)
                    {
                    }
                }
                ClearData();
            }
            catch (Exception)
            {
                ClearData();
            }
        }
Esempio n. 36
0
 public TimeMeasures(IPerformanceMeter meter, short stringSize)
 {
     data = new StringData(stringSize);
     _performanceMetter = meter;
 }
Esempio n. 37
0
        static string ExtractString(DataReader reader, uint baseOffset, StringData data)
        {
            reader.Seek(baseOffset + data.Offset);

            var bytes = reader.ReadBytes(data.Length);
            return Encoding.BigEndianUnicode.GetString(bytes);
        }
Esempio n. 38
0
 public TimeMeasures(IPerformanceMeter meter)
 {
     data = new StringData();
     _performanceMetter = meter;
 }
Esempio n. 39
0
        internal static UserData GetUserData(string sessionTicket, string ip, out byte errorCode)
        {
            DataRow dUserInfo;

            DataTable dAchievements;
            DataTable dFavouriteRooms;
            DataTable dIgnores;
            DataTable dTags;
            DataTable dSubscriptions;
            DataTable dBadges;
            DataTable dInventory;
            DataTable dEffects;
            DataTable dFriends;
            DataTable dRequests;
            DataTable dRooms;
            DataTable dPets;
            DataTable dBots;
            DataTable dQuests;
            //DataTable dSongs;

            int userID;

            using (IQueryAdapter dbClient = FirewindEnvironment.GetDatabaseManager().getQueryreactor())
            {
                dbClient.setQuery("SELECT * " +
                                  "FROM users " +
                                  "WHERE auth_ticket = @sso ");

                dbClient.addParameter("sso", sessionTicket);
                //dbClient.addParameter("ipaddress", ip);
                dUserInfo = dbClient.getRow();


                if (dUserInfo == null)
                {
                    errorCode = 1;
                    return(null);
                    //Logging.LogException("No user found. Debug data: [" + sessionTicket + "], [" + ip + "]");
                    //throw new UserDataNotFoundException(string.Format("No user found with ip {0} and sso {1}. Use SSO: {2} ", ip, sessionTicket, FirewindEnvironment.useSSO.ToString()));
                }


                userID = Convert.ToInt32(dUserInfo["id"]);
                if (FirewindEnvironment.GetGame().GetClientManager().GetClientByUserID(userID) != null)
                {
                    errorCode = 2;
                    return(null);
                }

                string creditsTimestamp = (string)dUserInfo["lastdailycredits"];
                string todayTimestamp   = DateTime.Today.ToString("MM/dd");
                if (creditsTimestamp != todayTimestamp)
                {
                    dbClient.runFastQuery(
                        "UPDATE users SET credits = credits + 3000, daily_respect_points = 3, lastdailycredits = '" +
                        todayTimestamp + "' WHERE id = " + userID);
                    dUserInfo["credits"] = (int)dUserInfo["credits"] + 3000;
                }

                dbClient.setQuery("SELECT * FROM user_achievement WHERE userid = " + userID);
                dAchievements = dbClient.getTable();

                dbClient.setQuery("SELECT room_id FROM user_favorites WHERE user_id = " + userID);
                dFavouriteRooms = dbClient.getTable();

                dbClient.setQuery("SELECT ignore_id FROM user_ignores WHERE user_id = " + userID);
                dIgnores = dbClient.getTable();

                dbClient.setQuery("SELECT tag FROM user_tags WHERE user_id = " + userID);
                dTags = dbClient.getTable();

                dbClient.setQuery("SELECT * FROM user_subscriptions WHERE user_id = " + userID);
                dSubscriptions = dbClient.getTable();

                dbClient.setQuery("SELECT * FROM user_badges WHERE user_id = " + userID);
                dBadges = dbClient.getTable();

                dbClient.setQuery("CALL getuseritems(" + userID + ")");
                dInventory = dbClient.getTable();

                dbClient.setQuery("SELECT * FROM user_effects WHERE user_id =  " + userID);
                dEffects = dbClient.getTable();

                dbClient.setQuery("SELECT users.id,users.username,users.motto,users.look,users.last_online " +
                                  "FROM users " +
                                  "JOIN messenger_friendships " +
                                  "ON users.id = messenger_friendships.sender " +
                                  "WHERE messenger_friendships.receiver = " + userID + " " +
                                  "UNION ALL " +
                                  "SELECT users.id,users.username,users.motto,users.look,users.last_online " +
                                  "FROM users " +
                                  "JOIN messenger_friendships " +
                                  "ON users.id = messenger_friendships.receiver " +
                                  "WHERE messenger_friendships.sender = " + userID);
                dFriends = dbClient.getTable();

                dbClient.setQuery("SELECT messenger_requests.sender,messenger_requests.receiver,users.username " +
                                  "FROM users " +
                                  "JOIN messenger_requests " +
                                  "ON users.id = messenger_requests.sender " +
                                  "WHERE messenger_requests.receiver = " + userID);
                dRequests = dbClient.getTable();

                dbClient.setQuery(
                    "SELECT rooms.*, room_active.active_users FROM rooms LEFT JOIN room_active ON (room_active.roomid = rooms.id) WHERE owner = @name");
                dbClient.addParameter("name", (string)dUserInfo["username"]);
                dRooms = dbClient.getTable();

                dbClient.setQuery("SELECT * FROM user_pets WHERE user_id = " + userID + " AND room_id = 0");
                dPets = dbClient.getTable();

                dbClient.setQuery("SELECT * FROM user_bots WHERE user_id = " + userID + "");
                dBots = dbClient.getTable();

                dbClient.setQuery("SELECT * FROM user_quests WHERE user_id = " + userID + "");
                dQuests = dbClient.getTable();

                //dbClient.setQuery("SELECT item_id, song_id FROM user_items_songs WHERE user_id = " + userID);
                //dSongs = dbClient.getTable();


                /* dbClient.setQuery("UPDATE users SET ip_last = @ip WHERE id = " + userID + " LIMIT 1; " +
                 *                     "UPDATE user_info SET login_timestamp = '" + FirewindEnvironment.GetUnixTimestamp() + "' WHERE user_id = " + userID + " LIMIT 1; " +
                 *                     "REPLACE INTO user_online VALUES (" + userID + "); " +
                 *                     "DELETE FROM user_tickets WHERE userid = " + userID + ";");*/

                dbClient.setQuery("UPDATE users SET ip_last = @ip WHERE id = " + userID + "; " +
                                  "UPDATE user_info SET login_timestamp = '" + FirewindEnvironment.GetUnixTimestamp() +
                                  "' WHERE user_id = " + userID + " ; " +
                                  "");
                dbClient.addParameter("ip", ip);
                dbClient.runQuery();

                dbClient.runFastQuery("REPLACE INTO user_online VALUES (" + userID + ")");
            }

            Dictionary <string, UserAchievement> achievements = new Dictionary <string, UserAchievement>();

            string achievementGroup;
            int    achievementLevel;
            int    achievementProgress;

            foreach (DataRow dRow in dAchievements.Rows)
            {
                achievementGroup    = (string)dRow["group"];
                achievementLevel    = (int)dRow["level"];
                achievementProgress = (int)dRow["progress"];

                UserAchievement achievement = new UserAchievement(achievementGroup, achievementLevel, achievementProgress);
                achievements.Add(achievementGroup, achievement);
            }

            List <uint> favouritedRooms = new List <uint>();

            uint favoritedRoomID;

            foreach (DataRow dRow in dFavouriteRooms.Rows)
            {
                favoritedRoomID = Convert.ToUInt32(dRow["room_id"]);
                favouritedRooms.Add(favoritedRoomID);
            }


            List <int> ignores = new List <int>();

            int ignoredUserID;

            foreach (DataRow dRow in dIgnores.Rows)
            {
                ignoredUserID = Convert.ToInt32(dRow["ignore_id"]);
                ignores.Add(ignoredUserID);
            }


            List <string> tags = new List <string>();

            string tag;

            foreach (DataRow dRow in dTags.Rows)
            {
                tag = (string)dRow["tag"];
                tags.Add(tag);
            }

            Dictionary <string, Subscription> subscriptions = new Dictionary <string, Subscription>();

            string subscriptionID;
            int    expireTimestamp;

            foreach (DataRow dRow in dSubscriptions.Rows)
            {
                subscriptionID  = (string)dRow["subscription_id"];
                expireTimestamp = (int)dRow["timestamp_expire"];

                subscriptions.Add(subscriptionID, new Subscription(subscriptionID, expireTimestamp));
            }

            List <Badge> badges = new List <Badge>();

            string badgeID;
            int    slotID;

            foreach (DataRow dRow in dBadges.Rows)
            {
                badgeID = (string)dRow["badge_id"];
                slotID  = (int)dRow["badge_slot"];
                badges.Add(new Badge(badgeID, slotID));
            }


            List <UserItem> inventory = new List <UserItem>();

            uint   itemID;
            uint   baseItem;
            int    dataType;
            string extradata;
            int    extra;

            foreach (DataRow Row in dInventory.Rows)
            {
                itemID   = Convert.ToUInt32(Row[0]);
                baseItem = Convert.ToUInt32(Row[1]);

                IRoomItemData data;
                if (DBNull.Value.Equals(Row[2]))
                {
                    data  = new StringData("");
                    extra = 0;
                }
                else
                {
                    dataType  = Convert.ToInt32(Row[2]);
                    extradata = (string)Row[3];
                    extra     = Convert.ToInt32(Row[4]);
                    switch (dataType)
                    {
                    case 0:
                        data = new StringData(extradata);
                        break;

                    case 1:
                        data = new MapStuffData();
                        break;

                    case 2:
                        data = new StringArrayStuffData();
                        break;

                    case 3:
                        data = new StringIntData();
                        break;

                    default:
                        data = new StringData(extradata);
                        break;
                    }
                    try
                    {
                        data.Parse(extradata);
                    }
                    catch
                    {
                        Logging.LogException(string.Format("Error in furni data! Item ID: \"{0}\" and data: \"{1}\"", itemID, extradata.Replace(Convert.ToChar(1).ToString(), "[1]")));
                    }
                }

                inventory.Add(new UserItem(itemID, baseItem, data, extra));
            }


            List <AvatarEffect> effects = new List <AvatarEffect>();

            int    effectID;
            int    duration;
            bool   isActivated;
            double activatedTimeStamp;

            foreach (DataRow dRow in dEffects.Rows)
            {
                effectID           = (int)dRow["effect_id"];
                duration           = (int)dRow["total_duration"];
                isActivated        = Convert.ToInt32(dRow["is_activated"]) == 1;
                activatedTimeStamp = (double)dRow["activated_stamp"];

                effects.Add(new AvatarEffect(effectID, duration, isActivated, activatedTimeStamp));
            }


            Dictionary <int, MessengerBuddy> friends = new Dictionary <int, MessengerBuddy>();

            string username = (string)dUserInfo["username"];

            int    friendID;
            string friendName;
            string friendLook;
            string friendMotto;
            string friendLastOnline;

            foreach (DataRow dRow in dFriends.Rows)
            {
                friendID         = Convert.ToInt32(dRow["id"]);
                friendName       = (string)dRow["username"];
                friendLook       = (string)dRow["look"];
                friendMotto      = (string)dRow["motto"];
                friendLastOnline = Convert.ToString(dRow["last_online"]);


                if (friendID == userID)
                {
                    continue;
                }



                if (!friends.ContainsKey(friendID))
                {
                    friends.Add(friendID, new MessengerBuddy(friendID, friendName, friendLook, friendMotto, friendLastOnline));
                }
            }

            Dictionary <int, MessengerRequest> requests = new Dictionary <int, MessengerRequest>();

            int    receiverID;
            int    senderID;
            string requestUsername;

            foreach (DataRow dRow in dRequests.Rows)
            {
                receiverID = Convert.ToInt32(dRow["sender"]);
                senderID   = Convert.ToInt32(dRow["receiver"]);

                requestUsername = (string)dRow["username"];

                if (receiverID != userID)
                {
                    if (!requests.ContainsKey(receiverID))
                    {
                        requests.Add(receiverID, new MessengerRequest(userID, receiverID, requestUsername));
                    }
                }
                else
                {
                    if (!requests.ContainsKey(senderID))
                    {
                        requests.Add(senderID, new MessengerRequest(userID, senderID, requestUsername));
                    }
                }
            }

            List <RoomData> rooms = new List <RoomData>();

            uint roomID;

            foreach (DataRow dRow in dRooms.Rows)
            {
                roomID = Convert.ToUInt32(dRow["id"]);
                rooms.Add(FirewindEnvironment.GetGame().GetRoomManager().FetchRoomData(roomID, dRow));
            }


            Dictionary <uint, Pet> pets = new Dictionary <uint, Pet>();

            Pet pet;

            foreach (DataRow dRow in dPets.Rows)
            {
                pet = Catalog.GeneratePetFromRow(dRow);
                pets.Add(pet.PetId, pet);
            }

            Dictionary <int, RentableBot> bots = new Dictionary <int, RentableBot>();

            RentableBot bot;

            foreach (DataRow row in dBots.Rows)
            {
                bot = new RentableBot();

                bot.OwnerID  = Convert.ToInt32(row["user_id"]);
                bot.ID       = Convert.ToInt32(row["id"]);
                bot.Name     = Convert.ToString(row["name"]);
                bot.Gender   = Convert.ToChar(row["gender"]);
                bot.Figure   = Convert.ToString(row["figure"]);
                bot.Motto    = "1 week SpyBot";
                bot.TimeLeft = 604800; // 1 week

                bots.Add(bot.ID, bot);
            }

            Dictionary <uint, int> quests = new Dictionary <uint, int>();

            uint questId;
            int  progress;

            foreach (DataRow dRow in dQuests.Rows)
            {
                questId  = Convert.ToUInt32(dRow["quest_id"]);
                progress = (int)dRow["progress"];
                quests.Add(questId, progress);
            }

            Hashtable songs = new Hashtable();

            //uint songItemID;
            //uint songID;
            //foreach (DataRow dRow in dSongs.Rows)
            //{
            //    songItemID = (uint)dRow[0];
            //    songID = (uint)dRow[1];

            //    SongItem song = new SongItem(songItemID, songID);
            //    songs.Add(songItemID, song);
            //}

            Habbo user = HabboFactory.GenerateHabbo(dUserInfo);

            dUserInfo       = null;
            dAchievements   = null;
            dFavouriteRooms = null;
            dIgnores        = null;
            dTags           = null;
            dSubscriptions  = null;
            dBadges         = null;
            dInventory      = null;
            dEffects        = null;
            dFriends        = null;
            dRequests       = null;
            dRooms          = null;
            dPets           = null;

            errorCode = 0;
            return(new UserData(userID, achievements, favouritedRooms, ignores, tags, subscriptions, badges, inventory, effects, friends, requests, rooms, pets, quests, songs, user, bots));
        }
Esempio n. 40
0
 void Awake()
 {
     strData = gameObject.GetComponent<StringData>();
     LastRefresh = new DateTime();
 }
Esempio n. 41
0
        public override void ProcessRawData()
        {
            try
            {
                //Kiểm tra nếu chưa kết thúc nhận dữ liệu
                // if(!StringData.EndsWith(DeviceHelper.ETX.ToString())) return;
                if (StringData.IndexOf(DeviceHelper.ETX) < 0)
                {
                    return;
                }
                string[] strResult = DeviceHelper.DeleteAllBlankLine(StringData, DeviceHelper.CR.ToString());
                TestResult.Barcode  = strResult[15];
                TestResult.TestDate = string.Format("{0}/{1}/{2}", strResult[11], strResult[10], strResult[9]);

                ResultItem item;

                item = new ResultItem("WBC", strResult[16]);
                AddResult(item);

                item = new ResultItem("RBC", strResult[17]);
                AddResult(item);

                item = new ResultItem("HGB", strResult[18]);
                AddResult(item);

                item = new ResultItem("HCT", strResult[19]);
                AddResult(item);

                item = new ResultItem("MCV", strResult[20]);
                AddResult(item);

                item = new ResultItem("MCH", strResult[21]);
                AddResult(item);

                item = new ResultItem("MCHC", strResult[22]);
                AddResult(item);

                item = new ResultItem("PLT", strResult[24]);
                AddResult(item);

                item = new ResultItem("LY", strResult[28]);
                AddResult(item);

                item = new ResultItem("MO", strResult[29]);
                AddResult(item);

                item = new ResultItem("GR", strResult[30]);
                AddResult(item);

                item = new ResultItem("RDW", strResult[23]);
                AddResult(item);

                item = new ResultItem("PCT", strResult[25]);
                AddResult(item);

                item = new ResultItem("MPV", strResult[26]);
                AddResult(item);

                item = new ResultItem("PDW", strResult[27]);
                AddResult(item);
                ImportResults();
                ClearData();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 42
0
        public unsafe static NameData ReadNames(DataReader reader, TableRecord[] tables)
        {
            if (!SeekToTable(reader, tables, FourCC.Name))
                return default(NameData);

            // read header
            var currentOffset = reader.Position;
            var format = reader.ReadUInt16BE();
            var count = reader.ReadUInt16BE();
            var dataOffset = currentOffset + reader.ReadUInt16BE();

            // read name records, filtering out non-Unicode and platforms we don't know about
            var stringData = stackalloc StringData[count];
            var stringDataCount = 0;
            for (int i = 0; i < count; i++)
            {
                var platform = reader.ReadUInt16BE();
                var encoding = reader.ReadUInt16BE();
                var language = reader.ReadUInt16BE();
                var name = reader.ReadUInt16BE();
                var length = reader.ReadUInt16BE();
                var offset = reader.ReadUInt16BE();

                // we only support Unicode strings
                if (platform == PlatformID.Microsoft)
                {
                    if (encoding != WindowsEncoding.UnicodeBmp && encoding != WindowsEncoding.UnicodeFull)
                        continue;

                    if (language != CultureInfo.CurrentCulture.LCID)
                        continue;
                }
                else if (platform != PlatformID.Unicode)
                    continue;

                stringData[stringDataCount++] = new StringData
                {
                    Name = name,
                    Offset = offset,
                    Length = length
                };
            }

            // find strings we care about and extract them from the blob
            var nameData = new NameData();
            for (int i = 0; i < stringDataCount; i++)
            {
                var data = stringData[i];
                switch (data.Name)
                {
                    case NameID.FamilyName: nameData.FamilyName = ExtractString(reader, dataOffset, data); break;
                    case NameID.SubfamilyName: nameData.SubfamilyName = ExtractString(reader, dataOffset, data); break;
                    case NameID.UniqueID: nameData.UniqueID = ExtractString(reader, dataOffset, data); break;
                    case NameID.FullName: nameData.FullName = ExtractString(reader, dataOffset, data); break;
                    case NameID.Version: nameData.Version = ExtractString(reader, dataOffset, data); break;
                    case NameID.Description: nameData.Description = ExtractString(reader, dataOffset, data); break;
                    case NameID.TypographicFamilyName: nameData.TypographicFamilyName = ExtractString(reader, dataOffset, data); break;
                    case NameID.TypographicSubfamilyName: nameData.TypographicSubfamilyName = ExtractString(reader, dataOffset, data); break;
                }
            }

            return nameData;
        }