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

    +126

    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
    private void SetBorderColor()
    {
                if (AuthInfo.BorderColor)
                {
                    LinearGradientBrush lcBrush = new LinearGradientBrush();
                    lcBrush.StartPoint = new Point(0.5, 0);
                    lcBrush.EndPoint = new Point(0.5, 1);
                    lcBrush.GradientStops.Add(new GradientStop() { Color = Color.FromArgb(100, 249, 249, 249) });
                    lcBrush.GradientStops.Add(new GradientStop() {Color = Color.FromArgb(100,75,139,180), Offset = 0.331});
                    lcBrush.GradientStops.Add(new GradientStop() { Color = Color.FromArgb(100, 75, 139, 180), Offset = 0.853 });
                    lcBrush.GradientStops.Add(new GradientStop() { Color = Color.FromArgb(100, 249, 249, 249), Offset = 1 });
                    this.rectBackGround.Fill = lcBrush;
                }
                else
                {
                    LinearGradientBrush lcBrush = new LinearGradientBrush();
                    lcBrush.StartPoint = new Point(0.5, 0);
                    lcBrush.EndPoint = new Point(0.5, 1);
                    lcBrush.GradientStops.Add(new GradientStop() { Color = Color.FromArgb(100, 249, 249, 249) });
                    lcBrush.GradientStops.Add(new GradientStop() { Color = Color.FromArgb(100, 206, 109, 109), Offset = 0.331 });
                    lcBrush.GradientStops.Add(new GradientStop() { Color = Color.FromArgb(100, 206, 109, 109), Offset = 0.853 });
                    lcBrush.GradientStops.Add(new GradientStop() { Color = Color.FromArgb(100, 249, 249, 249), Offset = 1 });
                    this.rectBackGround.Fill = lcBrush;
                }
    }

    ОПТИМИЗИРОВАНО!!!
    я плакаль)

    HellMaster_HaiL, 16 Ноября 2010

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

    +113

    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
    public string UploadFileEx(string uploadfile, string url,string fileFormName, 
                string contenttype, NameValueCollection querystring, CookieContainer cookies
            ){
                if ((fileFormName == null) ||
                    (fileFormName.Length == 0))
                {
                    fileFormName = "file";
                }
    
                if ((contenttype == null) ||
                    (contenttype.Length == 0))
                {
                    contenttype = "application/octet-stream";
                }
    
    
                string postdata;
                postdata = "?";
                if (querystring != null)
                {
                    foreach (string key in querystring.Keys)
                    {
                        postdata += key + "=" + querystring.Get(key) + "&";
                    }
                }

    String.IsNullOrEmpty ??????
    http://code.google.com/p/habreffect-uploader/source/browse/trunk/clipboardUploader/Uploader.cs
    http://habrahabr.ru/blogs/net/108165/

    Nigma143, 15 Ноября 2010

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

    +108

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    ...
    while (true)
    {
         if(i > 5 || SourceNumber == Math.Floor(SourceNumber)) break;
         ...
         i++;
    }
    ...

    Мартин, 15 Ноября 2010

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

    +119

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    SqlCommand cmd = new SqlCommand("...");
    ...
    int SIZE = 1;
    SqlParameter[] parameters = new SqlParameter[SIZE];
    for (int i = 0; i < SIZE; i++) parameters[i] = new SqlParameter();
    
    parameters[0].ParameterName = "@param_name";
    parameters[0].Value = param_value;
    for (int i = 0; i < SIZE; i++) cmd.Parameters.Add(parameters[i]);

    А как вы задаете значения параметров у своих SQL-команд? :)

    maa-kut, 15 Ноября 2010

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

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    int count1 = 0;
                foreach (int a in ilist)
                {
                    lister[count1] = ilist.ElementAt(count1);
                    count1++;
                }

    dot, 15 Ноября 2010

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

    +117

    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
    private XmlNode GetListItemsXML(bool _flag, string _param, SPList _list)
            {
                SPQuery oEmptyQuery = new SPQuery();
                SPListItemCollection spliColl;
                XmlReaderSettings sett = new XmlReaderSettings();
                Stream stream;
                XmlReader reader;
                XmlDocument listItems = new XmlDocument();
                string str = "";
                try
                {
                    switch (_flag)
                    {
                        case true:
                            //select division
                            oEmptyQuery.Query = "<Where><Eq><FieldRef Name=\"URL\"/><Value Type=\"Text\">" + _param + "</Value></Eq></Where>";
                            spliColl = _list.GetItems(oEmptyQuery);
    
                            str = c_my_headFile + spliColl.Xml;
                            str.Replace("\r\n", "");
                            stream = new MemoryStream(new UTF8Encoding(true).GetBytes(str));
    
                            
                            sett.ConformanceLevel = ConformanceLevel.Auto;
                            reader = XmlReader.Create(new StringReader(str), sett);
    
                            
    
                            listItems.LoadXml(str);
                            return listItems.SelectSingleNode("xml").ChildNodes[1].ChildNodes[0];
                            //return listItems.SelectSingleNode("xml").ChildNodes[1];
                        case false:
                            //select articles
                            //_x0420__x0430__x0437__x0434__x04
                            oEmptyQuery.Query = "<Where><Eq><FieldRef Name=\"_x0420__x0430__x0437__x0434__x04\"  LookupId=\"TRUE\" /><Value Type=\"Lookup\">" + _param + "</Value></Eq></Where>";
                            spliColl = _list.GetItems(oEmptyQuery);
    
                            str = c_my_headFile + spliColl.Xml;
                            str.Replace("\r\n", "");
                            stream = new MemoryStream(new UTF8Encoding(true).GetBytes(str));
    
                            
                            sett.ConformanceLevel = ConformanceLevel.Auto;
                            reader = XmlReader.Create(new StringReader(str), sett);
    
                            
    
                            listItems.LoadXml(str);
                            //return listItems.SelectSingleNode("xml").ChildNodes[1].ChildNodes[0];
                            return listItems.SelectSingleNode("xml").ChildNodes[1];
                    }
                }
                catch (XmlException)
                {
                    return null;
                }
                catch (Exception)
                {
                    return null;
                }
                return null;
            }

    Метод, у которого говорящая сигнатура. Увидев ее можно сразу понять что делает этот мегакусок.
    Если кто-нибудь поймет зачем создается экземпляр ридера - объясните. Блин я не понял, честно... xD
    (SPQuery и др. это опять же SharePoint API.)

    dreaktor, 14 Ноября 2010

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

    +115

    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
    private string ContentTransformation(string _xmlContent, string _xsltScheme)
            {
                try
                {
                    XmlReaderSettings xmlRS = new XmlReaderSettings();
                    XPathDocument doc = new XPathDocument(XmlReader.Create(new StringReader(_xmlContent), xmlRS));
                    XPathNavigator nav = doc.CreateNavigator();
                    XmlReader reader = XmlReader.Create(new StringReader(nav.OuterXml));
                    reader.MoveToContent();
    
                    System.IO.StringReader strRead = new StringReader(_xsltScheme);
    
                    XslCompiledTransform xslt = new XslCompiledTransform();
                    xslt.Load(XmlReader.Create(strRead));
    
                    // Transform the node fragment. 
                    StringWriter strW = new StringWriter();
                    XmlWriterSettings wrSet = new XmlWriterSettings();
                    wrSet.ConformanceLevel = ConformanceLevel.Auto;
                    XmlWriter xmlW = XmlWriter.Create(strW, wrSet);
    
                    xslt.Transform(reader, xmlW);
                    xmlW.Close();
    
                    return strW.ToString();
                }
                catch (ArgumentNullException anEx)
                {
                    return "XSL преобразование не выполнено!<br>Параметр равен null.<br>" + anEx.Message;
                }
                catch (XsltException xsltEx)
                {
                    return "XSL преобразование не выполнено!<br>Проверте XSL схему.<br>" + xsltEx.Message;
                }
                catch (Exception ex)
                {
                    return ex.Message;
                }
            }

    Учимся применять XSL шаблон к XML данным, и между делом поглядываем в сий гениальный шедевр - в нем вся истина о том, как четко и со вкусом, а главное элегантно выполнить эту задачу. Да еще и обработка ошибок сделана! Шикарный кусок.

    dreaktor, 14 Ноября 2010

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

    +116

    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
    private string makeUrlAbsolute(string url)
            {
                isWebPartPropertiesError = false;
                try
                {
                    if (!string.IsNullOrEmpty(url))
                    {
                        bool shouldCheckForRootWeb = false;
    
                        if (!url.StartsWith("http://"))
                        {
                            if (url.StartsWith("//")) throw new Exception("Неправильная ссылка");
                            if (!url.StartsWith("/")) url = url.Insert(0, "/");
                            url = url.Insert(0, SPContext.Current.Site.Url);
                            shouldCheckForRootWeb = true;
                        }
                        using (SPSite site = new SPSite(url))
                        {
                            using (SPWeb web = site.OpenWeb())
                            {
                                if (!url.Contains(web.Url)) isWebPartPropertiesError = true;
                                if (shouldCheckForRootWeb && site.Url.Equals(web.Url)) isWebPartPropertiesError = true;
                                return url;
                            }
                        }
                    }
                    else return "";
                }
                catch
                {
                    isWebPartPropertiesError = true;
                    return "";
                }
    
                //this.CatalogIconImageUrl = this.ClassResourcePath + "/Test.ico";
                //this.TitleIconImageUrl = this.ClassResourcePath + "/Test.ico";
            }

    Продолжаю серию мегаполезных хелперов.
    Эта страхолюдина найдена там же где и пред. кусок.
    Судя по названию, она должна делать урл абсолютным...
    (SPSite и др., это SharePoint API если кто не в курсе)

    dreaktor, 14 Ноября 2010

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

    +115

    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
    private string GetSubURI(string _stringURI)
            {
                if (_stringURI.IndexOf("http://") > -1)
                {
                    int counter = 0;
                    int chNumber = -1;
                    for (int i = 0; i <= _stringURI.Length - 1; i++)
                    {
                        if (_stringURI[i] == '/')
                            counter++;
    
                        if (counter == 3)
                        {
                            chNumber = i + 1;
                            break;
                        }
                    }
                    return _stringURI.Substring(chNumber, (_stringURI.Length - chNumber) - 1);
                }
                else
                {
                    int chNumber = -1;
                    for (int i = _stringURI.Length - 1; i >= 0; i--)
                    {
                        if (_stringURI[i] == '/')
                        {
                            chNumber = i;
                            break;
                        }
                    }
    
                    if (chNumber != -1)
                        return _stringURI.Substring(0, chNumber);
                    else
                        return "";
                }
            }

    Элегантный адаптер строк для другой функции, кушающей урлы, возвращаемые этим шедевром.
    Это хозяйство досталось в наследство от уволенного "разработчика .NET".
    Я сохранил, вдруг пригодиться .... и не прогадал :)

    dreaktor, 14 Ноября 2010

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

    +121

    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
    string commQuery = "CREATE DATABASE " + this.textBox1.Text +
                                   " ON" +
                                   " ( " +
                                        "NAME =" + this.textBox1.Text + ", " +
                                        "FILENAME =" + this.textBox2.Text + 
                                        "SIZE = 100mb, " +
                                        "MAXSIZE = unlimited, " +
                                        "FILEGROWTH = 5mb" +
                                   " ) " +
                                   "LOG ON " +
                                   " ( " +
                                         "NAME =" + this.textBox1.Text + ", " +
                                         "FILENAME =" + this.textBox2.Text + 
                                         "SIZE = 3mb, " +
                                         "MAXSIZE = 50mb, " +
                                         "FILEGROWTH = 5mb" +
                                   " ) ";
                
               SqlConnection conSQL = new SqlConnection("Data Source = (local);" + "Integrated security = True;" + "database = master");
                SqlCommand commSQL = new SqlCommand("", conSQL);
                
                commSQL.CommandType = CommandType.Text;
                commSQL.CommandText = commQuery.ToString();
                   
                
                conSQL.Open();
                commSQL.ExecuteNonQuery();
                conSQL.Close();

    очень нравиться совершенство стиля формирования БД на сервере и защита от SQL иньекций :-D

    ageron, 13 Ноября 2010

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