示例#1
0
        public Int32 Create(CTag tag)
        {
            String sqlExpression = "sp_InsertTag";

            using (SqlConnection conn = CDbConnection.GetConnection())
            {
                conn.Open();
                SqlCommand command = new SqlCommand(sqlExpression, conn);
                command.CommandType = System.Data.CommandType.StoredProcedure;

                SqlParameter urlParam = new SqlParameter
                {
                    ParameterName = "@name",
                    Value         = tag.Value
                };
                command.Parameters.Add(urlParam);

                var result = command.ExecuteScalar();

                Console.WriteLine("Id добавленного объекта: {0}", result);
                String value = result.ToString();
                Int32  id    = int.Parse(value);
                return(id);
            }
        }
示例#2
0
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        CTag ctag = (CTag)target;

        foldout = EditorGUILayout.Foldout(foldout, "Tags");
        if (foldout)
        {
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Number of tags");
            ctag.numTags = EditorGUILayout.IntField(ctag.numTags);
            EditorGUILayout.EndHorizontal();

            int numTags = ctag.numTags;

            if (numTags != ctag.tags.Length)
            {
                Array.Resize(ref ctag.tags, numTags);
                Array.Resize(ref ctag.indices, numTags);
            }

            for (int i = 0; i < numTags; ++i)
            {
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("Tag" + i);
                ctag.indices[i] = EditorGUILayout.Popup(ctag.indices[i], TagManager.tags);
                ctag.tags[i]    = TagManager.tags[ctag.indices[i]];
                EditorGUILayout.EndHorizontal();
            }
        }

        // Makes sure al changes are saved
        Undo.RecordObject(ctag, "Update CTags");
    }
示例#3
0
        public CTag Get(Int32 id)
        {
            String sqlExspression = "sp_GetTagById";
            CTag   tag            = new CTag();

            using (SqlConnection conn = CDbConnection.GetConnection())
            {
                SqlCommand command = new SqlCommand(sqlExspression, conn);

                command.CommandType = CommandType.StoredProcedure;
                SqlParameter tagIdParam = new SqlParameter
                {
                    ParameterName = "@tagId",
                    Value         = id
                };
                command.Parameters.Add(tagIdParam);
                var reader = command.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        tag.Value = (String)reader["Name"];
                        tag.ID    = (Int32)reader["ID"];
                    }
                    reader.Close();
                }
            }

            return(tag);
        }
示例#4
0
        private string FormatLine(string line, CLogLevel level, CTag tag, string stackTrace)
        {
            StringBuilder lineBuffer = new StringBuilder();

            string coloredLine = CEditorSkin.SetColors(line);

            string filename = CEditorStackTrace.ExtractFileName(stackTrace);

            if (level != null)
            {
                lineBuffer.Append("[");
                lineBuffer.Append(level.ShortName);
                lineBuffer.Append("]: ");
            }

            if (filename != null)
            {
                lineBuffer.Append(CStringUtils.C("[" + filename + "]: ", CEditorSkin.GetColor(CColorCode.Plain)));
            }

            if (tag != null)
            {
                lineBuffer.Append("[");
                lineBuffer.Append(tag.Name);
                lineBuffer.Append("]: ");
            }

            lineBuffer.Append(coloredLine);

            return(lineBuffer.ToString());
        }
示例#5
0
        public List <CTag> GetAll()
        {
            String      sqlExpression = "sp_GetTags";
            List <CTag> tags          = new List <CTag>();

            using (SqlConnection conn = CDbConnection.GetConnection())
            {
                SqlCommand command = new SqlCommand(sqlExpression, conn);

                command.CommandType = System.Data.CommandType.StoredProcedure;
                var reader = command.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        var tag = new CTag();
                        tag.Value = (String)reader["Name"];
                        tag.ID    = (Int32)reader["ID"];
                        tags.Add(tag);
                    }
                }
            }

            return(tags);
        }
示例#6
0
        public void Update(CTag tag)
        {
            String sqlExpression = "sp_UpdateTag";

            using (SqlConnection conn = CDbConnection.GetConnection())
            {
                SqlCommand command = new SqlCommand(sqlExpression, conn);
                command.CommandType = System.Data.CommandType.StoredProcedure;

                SqlParameter urlParam = new SqlParameter
                {
                    ParameterName = "@name",
                    Value         = tag.Value
                };
                command.Parameters.Add(urlParam);
                SqlParameter idParam = new SqlParameter
                {
                    ParameterName = "@id",
                    Value         = tag.ID
                };
                command.Parameters.Add(idParam);

                var result = command.ExecuteScalar();

                Console.WriteLine("Id обновлённого в Tag объекта: {0}", tag.ID);
            }
        }
示例#7
0
    /// <summary>
    /// Returns true if the current object has all of the provided tags.
    /// </summary>
    /// <param name="go"></param>
    /// <param name="tags">Tags to check.</param>
    /// <returns></returns>
    public static bool CheckContainsTags(this GameObject go, string[] tags)
    {
        CTag ctag = go.GetComponent <CTag>();

        if (ctag != null)
        {
            for (int i = 0; i < tags.Length; ++i)
            {
                bool found = false;
                for (int j = 0; j < ctag.tags.Length; ++j)
                {
                    if (tags[i] == ctag.tags[j])
                    {
                        found = true;
                    }
                }
                if (!found)
                {
                    return(false);
                }
            }
            return(true);
        }
        return(false);
    }
示例#8
0
 static Boolean CTagIs(CTag tag, CTag flags)
 {
     if (flags == CTag.None)
     {
         return(tag == flags);
     }
     return((tag & flags) == flags);
 }
示例#9
0
 private string[] FormatTable(string[] table, CLogLevel level, CTag tag, string stackTrace)
 {
     for (int i = 0; i < table.Length; ++i)
     {
         table[i] = CEditorSkin.SetColors(table[i]);
     }
     return(table);
 }
示例#10
0
        public void Add(CLogLevel level, CTag tag, string line)
        {
            CConsoleViewCellEntry entry = new CConsoleViewCellEntry(line);

            entry.level = level;
            entry.tag   = tag;
            Add(entry);
        }
示例#11
0
        public virtual void Add(CLogLevel level, CTag tag, string[] table, string stackTrace)
        {
            CConsoleViewCellEntry entry = new CConsoleViewCellEntry(table);

            entry.level      = level;
            entry.tag        = tag;
            entry.stackTrace = stackTrace;
            Add(entry);
        }
        public bool AddTag(CTag tag)
        {
            if (tag == null)
            {
                throw new ArgumentNullException("tag");
            }

            return(m_tags.Add(tag));
        }
示例#13
0
        public CConsoleViewCellEntry(string line, float width = 0, float height = 0)
        {
            this.value  = line;
            this.width  = width;
            this.height = height;
            this.flags  = Flags.Plain;

            this.data       = null;
            this.tag        = null;
            this.level      = null;
            this.stackTrace = null;
        }
示例#14
0
        void Execute()
        {
            CTag tag = CTag.Find(name);

            if (tag == null)
            {
                tag = new CTag(name); // the tag would be registered
            }

            tag.Enabled   = enabled;
            tag.Color     = CColorUtils.FromRGBA((uint)color);
            tag.BackColor = CColorUtils.FromRGBA((uint)color);
        }
示例#15
0
    /// <summary>
    /// Returns the Custom Tags of the GameObject.
    /// </summary>
    /// <param name="go"></param>
    /// <returns>Returns null if there is no CTag attached to the GameObject.</returns>
    public static string[] GetTags(this GameObject go)
    {
        CTag ctag = go.GetComponent <CTag>();

        if (ctag != null)
        {
            return(ctag.tags);
        }
        else
        {
            return(null);
        }
    }
示例#16
0
        public CConsoleViewCellEntry(Exception e, string message, float width = 0, float height = 0)
        {
            this.value = message != null?CStringUtils.TryFormat("{0} ({1})", message, e.Message) : e.Message;

            this.width  = width;
            this.height = height;
            this.flags  = Flags.Plain;

            this.data       = null;
            this.tag        = null;
            this.level      = CLogLevel.Exception;
            this.stackTrace = e.StackTrace;
        }
示例#17
0
        static String Label(Int32 addr, Boolean operand, Boolean force)
        {
            if ((addr == 0) && (operand) && (!force))
            {
                return("0");
            }
            String num = Octal(addr);

            if (addr >= 32768)
            {
                return((operand) ? String.Concat("'", num) : null);
            }
            CTag ctag = CTAG[addr];

            if (CTagIs(ctag, CTag.EntryPoint))
            {
                return(String.Concat("E", num, (operand) ? null : ":"));                               // (E)ntry
            }
            if (CTagIs(ctag, CTag.Call))
            {
                return(String.Concat("S", num, (operand) ? null : ":"));                         // (S)ubroutine
            }
            if (CTagIs(ctag, CTag.Branch))
            {
                return(String.Concat("B", num, (operand) ? null : ":"));                           // (B)ranch target
            }
            DTag dtag = DTAG[addr];

            if (DTagIs(dtag, DTag.Indirect | DTag.Write))
            {
                return(String.Concat("V", num, (operand) ? null : ":"));                                          // (V)ector
            }
            if (DTagIs(dtag, DTag.Indirect))
            {
                return(String.Concat("I", num, (operand) ? null : ":"));                             // (I)ndirect
            }
            if (DTagIs(dtag, DTag.Read | DTag.Write))
            {
                return(String.Concat("D", num, (operand) ? null : ":"));                                      // (D)ata
            }
            if (DTagIs(dtag, DTag.Write))
            {
                return(String.Concat("W", num, (operand) ? null : ":"));                          // (W)rite only
            }
            if (DTagIs(dtag, DTag.Read))
            {
                return(String.Concat("R", num, (operand) ? null : ":"));                         // (R)ead only
            }
            return((operand) ? String.Concat("'", num) : null);
        }
示例#18
0
        // disassemble a program word
        static String Disassemble(Int32 addr, Int32 word)
        {
            Fragment frag = FindFragment(addr);
            CTag     ctag = CTAG[addr];
            DTag     dtag = DTAG[addr];

            if (CTagIs(ctag, CTag.EntryPoint | CTag.Valid))
            {
                return(DecodeOp(addr, word));
            }
            if ((CTagIs(ctag, CTag.Call)) && (frag != null))
            {
                return("DATA **");
            }
            if (CTagIs(ctag, CTag.Valid) && (frag != null))
            {
                return(DecodeOp(addr, word));
            }
            if (CTagIs(ctag, CTag.Valid) && (frag == null) && DTagIs(dtag, DTag.Read | DTag.Write))
            {
                return(String.Format("DATA {0}", Label(word, true)));
            }
            if (CTagIs(ctag, CTag.Valid) && !DTagIs(dtag, DTag.Indirect))
            {
                return(DecodeOp(addr, word));
            }
            if (DTagIs(dtag, DTag.Extended))
            {
                return(String.Format("EAC  {0}", Label(word & 0x7fff, true, true)));
            }
            if (DTagIs(dtag, DTag.Address) || DTagIs(dtag, DTag.Indirect))
            {
                Boolean idx = ((word & 0x8000) != 0);
                Boolean ind = ((word & 0x4000) != 0);
                word &= 0x3fff;
                if (DTagIs(dtag, DTag.Map1))
                {
                    word |= 0x4000;
                }
                return(String.Format("DAC{0} {1}{2}", (ind) ? '*' : ' ', Label(word, true), (idx) ? ",1" : null));
            }
            if (DTagIs(dtag, DTag.Immediate))
            {
                return(String.Format("DATA '{0}", Octal(word, 6)));
            }
            return(String.Format("DATA {0}", Label(word, true)));
        }
示例#19
0
 private void btnExport_Click(object sender, EventArgs e)
 {
     //OEM销售成绩表
     if (CTag.Equals(CConstant.INVOICE_OEM_SALES))
     {
         ExportOEMSales();
     }
     //OEM制品管理表
     else if (CTag.Equals(CConstant.INVOICE_OEM_PRODUCT))
     {
         ExportOEMProduct();
     }
     //应收账款管理表
     else if (CTag.Equals(CConstant.INVOICE_ACCOUNT_RECEIVABLE))
     {
         ExportFinanceInfo();
     }
 }
示例#20
0
    /// <summary>
    /// Returns true if the current object has at least one of the provided tags.
    /// </summary>
    /// <param name="go"></param>
    /// <param name="tags">Tags to check.</param>
    /// <returns></returns>
    public static bool CheckMultipleTags(this GameObject go, string[] tags)
    {
        CTag ctag = go.GetComponent <CTag>();

        if (ctag != null)
        {
            for (int i = 0; i < tags.Length; ++i)
            {
                for (int j = 0; j < ctag.tags.Length; ++j)
                {
                    if (tags[i] == ctag.tags[j])
                    {
                        return(true);
                    }
                }
            }
        }
        return(false);
    }
示例#21
0
    /// <summary>
    /// Checks if the GameObject has the provided tag.
    /// </summary>
    /// <param name="go"></param>
    /// <param name="tag">Tag to check.</param>
    /// <returns></returns>
    public static bool CheckTag(this GameObject go, string tag)
    {
        CTag ctag = go.GetComponent <CTag>();

        if (ctag != null)
        {
            //ctag = go.AddComponent<CTag>();
            bool has = false;

            for (int i = 0; i < ctag.tags.Length; ++i)
            {
                if (ctag.tags[i] == tag)
                {
                    has = true;
                }
            }
            return(has);
        }
        return(false);
    }
示例#22
0
        public CConsoleViewCellEntry(string[] lines, float width = 0, float height = 0)
        {
            if (lines.Length == 1)
            {
                this.value = lines[0];
                this.data  = null;
                this.flags = Flags.Plain;
            }
            else
            {
                this.data  = lines;
                this.value = null;
                this.flags = Flags.Table;
            }
            this.width  = width;
            this.height = height;

            this.tag        = null;
            this.level      = null;
            this.stackTrace = null;
        }
示例#23
0
        bool Execute(string[] args)
        {
            if (args.Length == 0)
            {
                ICollection <CTag> tags = CTag.ListTags();
                if (tags != null && tags.Count > 0)
                {
                    string[] names = new string[tags.Count];
                    int      index = 0;
                    foreach (CTag t in tags)
                    {
                        names[index++] = t.Name;
                    }

                    Array.Sort(names);
                    Print(names);
                }
            }

            return(true);
        }
示例#24
0
        public List <ArticleInfo> GetAll()
        {
            String             sqlExpression  = "sp_GetArticles";
            CCountryGateway    countryGateway = new CCountryGateway();
            List <ArticleInfo> articles       = new List <ArticleInfo>();
            CTag articleTag = new CTag();

            using (SqlConnection conn = CDbConnection.GetConnection())
            {
                conn.Open();

                SqlCommand command = new SqlCommand(sqlExpression, conn);
                command.CommandType = CommandType.StoredProcedure;

                using (var reader = command.ExecuteReader())
                {
                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            articleTag.Value = (String)reader["Tag"];
                            Int32       countryId = (Int32)reader["CountryID"];
                            ArticleInfo article   = new ArticleInfo();
                            article.ID      = (Int32)reader["ID"];
                            article.Url     = (String)reader["URL"];
                            article.Title   = (String)reader["Title"];
                            article.Content = (String)reader["Content"];
                            article.Html    = (byte[])reader["HTML"];
                            article.Date    = (DateTime)reader[6];              //todo: fix the problem with Date  -> rename column?
                            article.Country = countryGateway.Get(countryId);
                            article.Tag     = articleTag;

                            articles.Add(article);
                        }
                    }
                }
            }

            return(articles);
        }
示例#25
0
        public List <ArticleInfo> GetByTag(CTag tag)
        {
            List <ArticleInfo> articles       = new List <ArticleInfo>();
            CCountryGateway    countryGateway = new CCountryGateway();
            String             sqlExpression  = "sp_GetArticleByTag";

            using (SqlConnection conn = CDbConnection.GetConnection())
            {
                SqlCommand cmd = new SqlCommand(sqlExpression, conn);
                cmd.CommandType = CommandType.StoredProcedure;
                SqlParameter tagParam = new SqlParameter
                {
                    ParameterName = "@tag",
                    Value         = tag.ID
                };
                cmd.Parameters.Add(tagParam);
                using (var reader = cmd.ExecuteReader())
                {
                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            ArticleInfo article = new ArticleInfo();
                            article.Country = countryGateway.Get((Int32)reader["CountryID"]);
                            article.Date    = (DateTime)reader["Date"];
                            article.Content = (String)reader["Content"];
                            article.Html    = (byte[])reader["Html"];
                            article.Url     = (String)reader["Url"];
                            article.Title   = (String)reader["Title"];
                            article.ID      = (Int32)reader["ID"];
                            articles.Add(article);
                        }
                    }
                }
            }

            return(articles);
        }
示例#26
0
        public void Initialize()
        {
            CDbDeploy.ConnectDataBase();
            _tag = new CTag()
            {
                Value = "Test tag"
            };
            _tag2 = new CTag()
            {
                Value = "Test2 tag"
            };
            _tag.ID  = _tagGateway.Create(_tag);
            _tag2.ID = _tagGateway.Create(_tag2);

            _article = new ArticleInfo()
            {
                Content = "test string",
                Country = new CountryInfo()
                {
                    Code = "ALA", Name = "AALAND ISLANDS ", ID = 2
                },
                Date  = DateTime.Now,
                Html  = new byte[0],
                Tags  = new[] { _tag, _tag2 },
                Title = "Test Title",
                Url   = "http://testurl"
            };
            _articleChanged = new ArticleInfo()
            {
                Content = _article.Content,
                Country = _article.Country,
                Date    = _article.Date,
                Html    = _article.Html,
                Tags    = _article.Tags,
                Title   = "New Test Title",
                Url     = _article.Url
            };
        }
示例#27
0
        /// <summary>
        /// FrmInvoice_Load
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FrmInvoice_Load(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Normal;
            this.Tag         = CTag;

            dateFrom.Value = DateTime.Now.AddDays(1 - DateTime.Now.Day);

            if (CTag.Equals(CConstant.INVOICE_OEM_SALES))
            {
                this.Text = "OEM销售成绩表";
            }
            else if (CTag.Equals(CConstant.INVOICE_OEM_PRODUCT))
            {
                this.Text = "OEM制品管理表";
            }
            else if (CTag.Equals(CConstant.INVOICE_ACCOUNT_RECEIVABLE))
            {
                this.Text = "应收账款管理表";
            }
            else if (CTag.Equals(CConstant.INVOICE_SUMMARY))
            {
                this.Text = "进销存汇总表";
            }
        }
示例#28
0
 public void Update(CTag tag)
 {
     throw new NotImplementedException();
 }
示例#29
0
        public void TestMixedFiltersTagLevelText()
        {
            CTag tag1 = new CTag("tag1");
            CTag tag2 = new CTag("tag2");
            CTag tag3 = new CTag("tag3");

            MockConsole console = new MockConsole(64);

            console.Add(CLogLevel.Exception, tag1, "tog1-exception");
            console.Add(CLogLevel.Exception, tag1, "tag1-exception");

            console.Add(CLogLevel.Error, tag2, "tog2-error");
            console.Add(CLogLevel.Error, tag2, "tag2-error");

            console.Add(CLogLevel.Warn, tag3, "tog3-warning");
            console.Add(CLogLevel.Warn, tag3, "tag3-warning");

            console.Add(CLogLevel.Info, tag1, "tog1-info");
            console.Add(CLogLevel.Info, tag1, "tag1-info");

            console.Add(CLogLevel.Debug, tag2, "tog2-debug");
            console.Add(CLogLevel.Debug, tag2, "tag2-debug");

            console.Add(CLogLevel.Verbose, tag3, "tog3-verbose");
            console.Add(CLogLevel.Verbose, tag3, "tag3-verbose");

            MockConsoleView consoleView = new MockConsoleView(console, 320, 230);

            consoleView.SetFilterTags(tag1, tag3);
            Assert.IsTrue(consoleView.IsFiltering);

            AssertVisibleRows(consoleView,
                              "tog1-exception",
                              "tag1-exception",
                              "tog3-warning",
                              "tag3-warning",
                              "tog1-info",
                              "tag1-info",
                              "tog3-verbose",
                              "tag3-verbose"
                              );

            consoleView.SetFilterLogLevel(CLogLevel.Warn);
            Assert.IsTrue(consoleView.IsFiltering);

            AssertVisibleRows(consoleView,
                              "tog1-exception",
                              "tag1-exception",
                              "tog3-warning",
                              "tag3-warning"
                              );

            consoleView.SetFilterText("tag");
            Assert.IsTrue(consoleView.IsFiltering);

            AssertVisibleRows(consoleView,
                              "tag1-exception",
                              "tag3-warning"
                              );

            consoleView.SetFilterLogLevel(CLogLevel.Verbose);
            Assert.IsTrue(consoleView.IsFiltering);

            AssertVisibleRows(consoleView,
                              "tag1-exception",
                              "tag3-warning",
                              "tag1-info",
                              "tag3-verbose"
                              );

            consoleView.SetFilterTags();
            Assert.IsTrue(consoleView.IsFiltering);

            AssertVisibleRows(consoleView,
                              "tag1-exception",
                              "tag2-error",
                              "tag3-warning",
                              "tag1-info",
                              "tag2-debug",
                              "tag3-verbose"
                              );

            consoleView.SetFilterText("");
            Assert.IsFalse(consoleView.IsFiltering);

            AssertVisibleRows(consoleView,
                              "tog1-exception",
                              "tag1-exception",
                              "tog2-error",
                              "tag2-error",
                              "tog3-warning",
                              "tag3-warning",
                              "tog1-info",
                              "tag1-info",
                              "tog2-debug",
                              "tag2-debug",
                              "tog3-verbose",
                              "tag3-verbose"
                              );
        }
示例#30
0
        public void TestFilterByTag()
        {
            CTag tag1 = new CTag("tag1");
            CTag tag2 = new CTag("tag2");
            CTag tag3 = new CTag("tag3");

            MockConsole console = new MockConsole(10);

            console.Add(CLogLevel.Debug, tag1, "tag1-1");
            console.Add(CLogLevel.Debug, tag2, "tag2-1");
            console.Add(CLogLevel.Debug, tag1, "tag1-2");
            console.Add(CLogLevel.Debug, tag3, "tag3-1");
            console.Add(CLogLevel.Debug, tag1, "tag1-3");

            MockConsoleView consoleView = new MockConsoleView(console, 320, 230);

            AssertVisibleRows(consoleView,
                              "tag1-1",
                              "tag2-1",
                              "tag1-2",
                              "tag3-1",
                              "tag1-3"
                              );

            consoleView.AddFilterTags(tag1);
            Assert.IsTrue(consoleView.IsFiltering);
            AssertVisibleRows(consoleView,
                              "tag1-1",
                              "tag1-2",
                              "tag1-3"
                              );

            consoleView.AddFilterTags(tag2);
            Assert.IsTrue(consoleView.IsFiltering);
            AssertVisibleRows(consoleView,
                              "tag1-1",
                              "tag2-1",
                              "tag1-2",
                              "tag1-3"
                              );

            consoleView.AddFilterTags(tag3);
            Assert.IsTrue(consoleView.IsFiltering);
            AssertVisibleRows(consoleView,
                              "tag1-1",
                              "tag2-1",
                              "tag1-2",
                              "tag3-1",
                              "tag1-3"
                              );

            consoleView.RemoveFilterTags(tag1);
            Assert.IsTrue(consoleView.IsFiltering);
            AssertVisibleRows(consoleView,
                              "tag2-1",
                              "tag3-1"
                              );

            consoleView.RemoveFilterTags(tag2);
            Assert.IsTrue(consoleView.IsFiltering);
            AssertVisibleRows(consoleView,
                              "tag3-1"
                              );

            consoleView.RemoveFilterTags(tag3);
            Assert.IsFalse(consoleView.IsFiltering);
            AssertVisibleRows(consoleView,
                              "tag1-1",
                              "tag2-1",
                              "tag1-2",
                              "tag3-1",
                              "tag1-3"
                              );
        }