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

    +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
    public ActionResult Register(RegisterInformation ri, string myCaptcha, HttpPostedFileBase image)
    {
        if (ri.Name == null) ModelState.AddModelError("my", "Введите имя");
        if (ri.Name != null && ri.Name.Length > 32) ModelState.AddModelError("my", "Слишком длинное имя, максимум 32 символа");
        if (ri.Password == null) ModelState.AddModelError("my", "Введите пароль");
        if (ri.Password != null && ri.Password.Length > 32) ModelState.AddModelError("my", "Слишком длинный пароль, максимум 32 символа");
        if (ri.Email == null) ModelState.AddModelError("my", "Введите адрес почты");
        if (ri.Email != null && ri.Email.Length > 32) ModelState.AddModelError("my", "Слишком длинная почта, максимум 32 символа");
        if (ri.Phone == null) ModelState.AddModelError("my", "Введите телефон");
        if (ri.Captcha == null) ModelState.AddModelError("my", "Введите символы с картинки");
        if (ri.Email != null && !IsValid.Mail(ri.Email)) ModelState.AddModelError("my", "Невалидный email");
        long phone;
        if (!long.TryParse(ri.Phone, out phone)) ModelState.AddModelError("my", "Некорректный формат телефона");
        if (ri.Captcha != null&&!CaptchaHelper.VerifyAndExpireSolution(HttpContext, myCaptcha, ri.Captcha)) ModelState.AddModelError("my", "Неверно введены символы с картинки");
    
        if (ModelState.IsValid)
        {
            ...
    }

    Проверяем модель на ошибки

    HIMen, 23 Октября 2010

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

    +108

    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
    private void InitializeUser()
    {
    	textBoxFirstname.Text = _user.FirstName;
    	textBoxLastname.Text = _user.LastName;
    	textBoxPassword.Text = _user.Password;
    	textBoxUsername.Text = _user.UserName;
    	textBoxMail.Text = _user.Mail;
    	comboBoxRoles.Text = _user.UserRole.Id>0 ? _user.UserRole.RoleName : "";
    	
    	comboBoxRoles.Enabled = true;
    
    	if(User.CurrentUser.isLoanOfficer || User.CurrentUser.isVisitor || User.CurrentUser.isCashier)
    	{
    		comboBoxRoles.Enabled = false;
    	}
    	else if(User.CurrentUser.isAdmin)
    	{
    		if(_user.isAdmin || _user.isSuperAdmin) comboBoxRoles.Enabled = false;
    	}
    	else if(User.CurrentUser.isSuperAdmin)
    	{
    		if(_user.isSuperAdmin) comboBoxRoles.Enabled = false;
    	}
    }

    Код взят из реального open source проекта. Реализация многоуровневой проверки прав текущего пользователя :).

    _Ru55_, 22 Октября 2010

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

    +117

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    widgetPanel.ID = new Guid(String.Format("{0:D32}", widgetInfo.Id));
    
    // в другом месте
    
    var widgetId = Convert.ToInt32(widgetPanel.ID.ToString().Replace('-', '0').TrimStart('0'));

    Как узнать что именно надо класть на панель?
    Очень просто - брать ее id типа Guid, а искать в списке классов с id типа int

    Разумеется, никто не запрещал сделать что бы оба были guid, но это же совершенно не интересно.

    eval_2009, 21 Октября 2010

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

    +111

    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
    IExecuteResult result = null;
                string sql = "";
                sql = sql + "SELECT t.TitleID, t.TitleName, t.IsActive, t.CreatedBy, t.ModifiedBy, t.DateCreated, t.DateModified FROM tluTitles t ORDER BY t.TitleName";
    
    
                SQLiteConnection cn = new SQLiteConnection(MainClass.strConn);
                cn.Open();
                SQLiteCommand cmd = new SQLiteCommand(sql, cn);
                cmd.ExecuteNonQuery();
                cmd.Dispose();
                cn.Close();
    
                return ((ISingleResult<usp_Title_All_SELResult>)(result.ReturnValue));

    израиль жжот!! чел переносил проект с mssql на sqlite и фиксил вызов стор процедур в файле дизайнера linq2sql.. я плаччууууу! =))))

    nitropropain, 19 Октября 2010

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

    +125

    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
    int code = 300;
    
                if (
                    ex is Exceptions.ApiErrorNotFoundException ||
                    ex is Exceptions.CardAuthHistoryNotFoundException ||
                    ex is Exceptions.CardNotFoundException ||
                    ex is Exceptions.CardStateNotFoundException ||
                    ex is Exceptions.CurrencyNotFoundException ||
                    ex is EmailTemplateNotFoundException ||
                    ex is Exceptions.ExchangeRateNotFoundException ||
                    ex is Exceptions.InfoBlockNotFoundException ||
                    ex is InvoiceNotFoundException ||
                    ex is Exceptions.InvoiceStateNotFoundException ||
                    ex is Exceptions.ManagerNotFoundException ||
                    ex is Exceptions.PasswordRecoveryNotFoundException ||
                    ex is Exceptions.PayCommissionNotFoundException ||
                    ex is Exceptions.PaymentStateNotFoundException ||
                    ex is Exceptions.PaymentTypeNotFoundException ||
                    ex is Exceptions.PaySystemNotFoundException ||
                    ex is Exceptions.PersonNotFoundException ||
                    ex is Exceptions.SecretWordNotFoundException ||
                    ex is ShopNotFoundException ||
                    ex is SiteNotFoundException ||
                    ex is Exceptions.SysSettingsNotFoundException ||
                    ex is Exceptions.SysWalletNotFoundException ||
                    ex is Exceptions.TariffNotFoundException ||
                    ex is Exceptions.UserNotFoundException ||
                    ex is Exceptions.UserParamsNotFoundException ||
                    ex is Exceptions.WorldCurrencyNotFoundException ||
                    ex is Exceptions.WorldExchangeRateNotFoundException
                    )
                {
                    code = 504;
                }

    mozg_raka, 18 Октября 2010

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

    +124

    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
    namespace Test.Data
    {
        public class Connection
        {
            public static SqlConnection getConnection()
            {
                string server = "";
    
                if (!File.Exists(@"C:\ConnectionParameters.ini"))
                    LogFileAdministration.WriteMessage("The ConnectionParameters.ini file does not exist.");
    
                else
                {
                    StreamReader reader = new StreamReader(@"C:\ConnectionParameters.ini");
                    server = reader.ReadLine();
                    reader.Close();
                }
    
                return new SqlConnection(@"Data Source= " + server + "; Integrated Security=SSPI; Initial Catalog=Test");
            }
        }
    }

    Итальянский программист. Из Италии. Внезапно попросился на работу. Отослал резюме. Дали ему тестовое задание - намутить поиск по табличке, по ключевой фразе с пейджингом.
    Что из этого вышло - смотрим улыбаемся.

    ursus, 18 Октября 2010

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

    +144

    1. 1
    datagridview.CurrentRow.Index = datagridview.CurrentRow.Index + 1;

    Как можно использовать данный код?
    Ошибка: Property or indexer 'System.Windows.Forms.DataGridViewBand.I ndex' cannot be assigned to -- it is read only

    daffsik, 12 Октября 2010

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

    +144

    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
    // Devide vector
    Tuple<Complex[], Complex[]> DevideVector(Complex[] vector){
    Complex[] firstPart = new Complex[vector.Length / 2],
    secondPart = new Complex[vector.Length / 2];
    for (int index = 0; index < firstPart.Length; index++) { firstPart[index] = vector[index]; }
    for (int index = 0, offset = firstPart.Length; index < secondPart.Length; index++) { secondPart[index] = vector[index + offset]; }
    return new Tuple<Complex[], Complex[]>(firstPart, secondPart);}
    
    // FFT
    public Complex[] Transform(Complex[] vector){
    inverse = false;
    Complex[] result = Operation(vector);
    result = InverceIndexBits(result);
    for (int index = 0; index < vector.Length; index++) { result[index] /= result.Length; }
    return result;}
    
    // IFFT
    public Complex[] InverseTransform(Complex[] vector){
    inverse = true;
    Complex[] result = Operation(vector);
    result = InverceIndexBits(result);
    return result;}
    }}

    Код из лабы моего одногруппника. Яркий пример того, как НЕ НАДО оформлять код

    KoirN, 11 Октября 2010

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

    +1001

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    string GetStringHash(string S)
            {
                MD5 md = MD5.Create();
                byte[] B = md.ComputeHash(Encoding.UTF8.GetBytes(S));
    
                return string.Format("{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}{12}{13}{14}{15}",
                    B[0x00], B[0x01], B[0x02], B[0x03], B[0x04], B[0x05], B[0x06], B[0x07],
                    B[0x08], B[0x09], B[0x0A], B[0x0B], B[0x0C], B[0x0D], B[0x0E], B[0x0F]);
            }

    Запостил: 4eburashka, прямо перед выпилом ресурса.

    3.14159265, 11 Октября 2010

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

    +114

    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
    public partial class Chat : System.Web.UI.Page
    {
    ...
        private List<string> Messages
        {
            get { return (List<string>)Cache["messages"]; }
            set { Cache.Insert("messages", value); }
        }
    protected void btnAddMessage_Click(object sender, EventArgs e)
        {
            if (this.Messages != null)
            {
                this.Messages.Add(string.Format("{0} say :{1}\n", this.UserName, tbUserMessage.Text));
                // wai... oh shi---
                this.Messages = this.Messages;
            }
        }
    }

    mozg_raka, 11 Октября 2010

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