1. C# / Говнокод #2156

    +129.7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    public string GetHtmlElement(RepeaterItem Container)
            {
                string Result = string.Empty;
                string AClasses = HAS_CHILDREN_BASE_CSS_CLASS;
                SiteMapNode Node = (SiteMapNode)Container.DataItem;
                string Title = Node.Title;
                string EnabledAttrSign = CustomSiteMapNodeInfo.ENABLED_ATTR_NAME;
                string CssClassNameSign = CustomSiteMapNodeInfo.CSS_CLASS_ATTR_NAME;
    
                string SpanCssClasses = string.Empty;
    
                // checks for separator
                if (string.IsNullOrEmpty(Node.Title) || Node.Title == ShellModuleInitializer.SEPARATOR)
                {
                    SpanCssClasses = MENU_SEPARATOR_CSS_CLASS_NAME;
                    Title = EMPTY_TEXT;
                }
    
                bool HasImage = !string.IsNullOrEmpty(Node[CssClassNameSign]);
                if (HasImage)
                {
                    SpanCssClasses += HAS_IMAGE_CSS_CLASS_NAME;
                }
    
                Result = string.Format("<span class=\"{0}\">{1}</span>", SpanCssClasses, Title);
    
                if (HasImage)
                {
                    Result = string.Format("<span class=\"{0}\">{1}</span>{2}", Node[CssClassNameSign], EMPTY_TEXT, Result);
                }
    
                // checks for disabled item
                if (!string.IsNullOrEmpty(Node[EnabledAttrSign]) && string.Compare(Node[EnabledAttrSign], "false", true) == 0)
                {
                    AClasses += string.Format(" {0}", DISABLED_CSS_CLASS_NAME);
                }
    
                // checks for enabled item
                if (!string.IsNullOrEmpty(Node[EnabledAttrSign]) && string.Compare(Node[EnabledAttrSign], "true", true) == 0)
                {
                    Result = string.Format("<a href=\"{0}\" class=\"{1}\">{2}</a>", GetFullUrl(Container), AClasses, Result);
                }
                else
                {
                    // cheks for non-clickable item
                    Result = string.Format("<a class=\"{0}\">{1}</a>", AClasses, Result);
                }
    
                return Result;
            }

    Valera, 18 Ноября 2009

    Комментарии (4)
  2. C# / Говнокод #2149

    +136.3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    for (int i = 0; i < count; i++) // перебираем список адресов
                    {
                        email = email_list[i].ToString();                   
                        for (int y = i + 1; y < count; y++)  // перебираем тот же список но начиная со следующего элемента
                        {
                            if (email == email_list[y].ToString())
                            {
                                // если такой "y" уже есть в duble_index то пропускать
                                if (!duble_index.Contains(y))                                
                                    duble_index.Add(y); // он дубликат - заносим его в "ЧЕРНЫЙ СПИСОК" =)
                            }
                         }
                      }
    ***************
    
               System.Collections.ArrayList al = System.Collections.ArrayList.Adapter(duble_index);
                al.Sort();
                int z = 0;
                int [] buff = new Int32[duble_index.Count];
                foreach (Int32 s in al)
                {
                    buff[z] = s;
                    z++;
                }
    
                for (int i = buff.Length-1; i >= 0; i--)
                {
                    email_list.RemoveAt(buff[i]);
                }

    Удаление дубликатов в не отсортированном списке.... Это реально упростить?

    AndrewKo, 17 Ноября 2009

    Комментарии (23)
  3. C# / Говнокод #2131

    +101.2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var r = from t in ds.ProductTags
    		where t.ProductTagID == tag
    			|| t.Parent.ProductTagID == tag
    			|| t.Parent.Parent.ProductTagID == tag
    			|| t.Parent.Parent.Parent.ProductTagID == tag
    			|| t.Parent.Parent.Parent.Parent.ProductTagID == tag
    			|| t.Parent.Parent.Parent.Parent.Parent.ProductTagID == tag
    			|| t.Parent.Parent.Parent.Parent.Parent.Parent.ProductTagID == tag
    			|| t.Parent.Parent.Parent.Parent.Parent.Parent.Parent.ProductTagID == tag
    			|| t.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.ProductTagID == tag
    		select t;

    Это мой код. Надоело писать рекурсивные СTE чтобы выбрать всех детишек. Спросил у кастомера можно ли ограничить вложенность. Он согласился ;).. На свою голову ;).

    Mike Chaliy, 11 Ноября 2009

    Комментарии (14)
  4. C# / Говнокод #2127

    +131.2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    public static DataTable DeserilazeDataTable(string schema, string data)
            {
                DataTable tbl = new DataTable();
                if (!string.IsNullOrEmpty(schema))
                    using (Stream stream = new MemoryStream())
                    {
                        byte[] bufer = GetBytes(schema);
    
                        stream.Write(bufer, 0, bufer.Length);
                        stream.Position = 0;
                        tbl.ReadXmlSchema(stream);
                    }
    
                if (!string.IsNullOrEmpty(data))
                    using (Stream stream = new MemoryStream())
                    {
                        byte[] bufer = GetBytes(data);
    
                        stream.Write(bufer, 0, bufer.Length);
                        stream.Position = 0;
                        tbl.ReadXml(stream);
                    }
    
                return tbl;
            }
    
     public static byte[] GetBytes(string str)
            {
                if (string.IsNullOrEmpty(str))
                    return new byte[0];
    
                char[] ch = str.ToCharArray();
                byte[] bufer = new byte[ch.Length];
                for (int i = 0; i < ch.Length; i++)
                    bufer[i] = (byte)ch[i];
    
                return bufer;
            }
    //также имеются методы для сериализации, работающие также
    public static string SerilazeDataTable(DataTable table)
    public static string SerilazeDataTableShame(DataTable table)
    public static string GetString(byte[] bufer)

    Вот такой десериализатор таблицы в Xml нашел в проэкте.

    sven47, 11 Ноября 2009

    Комментарии (3)
  5. C# / Говнокод #2119

    +95.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    static bool EqStr(string s)
    {
                Regex r = new Regex(@"STRING");
                Match m = r.Match(s);
                if (m.Success == true) return true;
                else return false;
    }

    Изощренный способ сравнивать строки :)

    psina-from-ua, 10 Ноября 2009

    Комментарии (23)
  6. C# / Говнокод #2118

    +136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    public string generateEMail()
    		{
    			string res;
    			int i = PersonName.IndexOf(" ");
    			char[] str1 = new char[i];
    			PersonName.CopyTo(0, str1, 0, i);
    			string str11 = new string(str1);
    			char[] str2 = new char[PersonName.Length - i - 1];
    			PersonName.CopyTo(i + 1, str2, 0, PersonName.Length - i - 1);
    			string str22 = new string(str2);
    			res = str11.ToString() + "." + str22.ToString();
    			if (res.Length > 20)
    			{
    				str1 = new char[20];
    				res.CopyTo(0, str1, 0, 20);
    				res = new string(str1);
    			}
    			res += "@domain.ua";
    			return res;
    		}

    Вот вам шаблон для получения емейла из имени и фамилии сотрудника.

    Woonder, 10 Ноября 2009

    Комментарии (9)
  7. C# / Говнокод #2115

    +123.7

    1. 1
    Request.QueryString["outer_email"] = null;

    Это я намерил на несколько места :)

    bugotrep, 09 Ноября 2009

    Комментарии (0)
  8. C# / Говнокод #2107

    +126.4

    1. 1
    2. 2
    3. 3
    4. 4
    foreach (object item in this.cbFind.Properties.Items)
                    {
                        int a = -1;
                    }

    Behemoth, 06 Ноября 2009

    Комментарии (4)
  9. C# / Говнокод #2106

    +129

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    public Int32 SectionType
            {
                get
                {
                    if (this.StaticRecord) return -1;
                    if ((!this.SectionIsReference) && this.SectionDoNotMakeUp) return 4;
                    if (this.SectionIsSlave)
                    {
                        switch (this.SectionUnionMode)
                        {
                            case 1:
                                return 2;
                            case 2:
                                return 0;
                            default:
                                return 1;
                        }
                    }
                    if (this.SectionIsReference) return 5;
                    if (this.SectionIsUnion) return 3;
                    return 0;
                }
            }

    Собственноручно нагадил...

    Behemoth, 06 Ноября 2009

    Комментарии (10)
  10. C# / Говнокод #2104

    +136.7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    void parseDate(String str, ref int day, ref int month, ref int year)
            {
                String[] strings = str.Split('/');
                day = Int32.Parse(strings[0]);
                month = Int32.Parse(strings[1]);
                year = Int32.Parse(strings[2]);
            }
    
    bool validateDate(String s)
            {
                //let the data be null
                if (s == null || s == "")
                    return true;
                try
                {
                    String[] strings = s.Split('/');
                    if (strings.Length != 3)
                        return false;
    
                    String day = strings[0];
                    if (Int32.Parse(day) > 31)
                    {
                        return false;
                    }
                    String month = strings[1];
                    if (Int32.Parse(month) > 12)
                    {
                        return false;
                    }
                    String year = strings[2];
                    if (year.Length != 4)
                    {
                        return false;
                    }
                }
                catch (SystemException)
                {
                    return false;
                }
                return true;
            }
    
    int compareDates(String s1, String s2)
            {
                if (s1 == "" && s2 != "")
                    return -1;
                if (s1 == s2)
                    return 0;
                if (s1 != "" && s2 == "")
                    return 1;
    
                int day1 = 0, month1 = 0, year1 = 0, day2 = 0, month2 = 0, year2 = 0;
                parseDate(s1, ref day1, ref month1, ref year1);
                parseDate(s2, ref day2, ref month2, ref year2);
                if (year1 > year2)
                    return -1;
                if (year1 < year2)
                    return 1;
    
                if (month1 > month2)
                    return -1;
                if (month2 < month1)
                    return 1;
    
                if (day1 > day2)
                    return -1;
                if (day2 > day1)
                    return 1;
    
                return 0;
            }

    no comments

    alex, 06 Ноября 2009

    Комментарии (4)