- 1
- 2
- 3
- 4
- 5
- 6
- 7
tempPages.Add(page, tempValue);
rempPages = tempPages;
if (totalPages != 0)
{
rotalPages = totalPages;
}
currentCountItem += tempLength;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 22
+6
tempPages.Add(page, tempValue);
rempPages = tempPages;
if (totalPages != 0)
{
rotalPages = totalPages;
}
currentCountItem += tempLength;
Шашлык-рашлык.
+4
StringBuilder errorMessage = new StringBuilder();
int i = 0, j = 0;
bool outcome = true;
double value;
string[] label = new string[] { label1.Text, label2.Text, label4.Text };
textBox1.Text = textBox1.Text.Trim();
textBox2.Text = textBox2.Text.Trim();
textBox3.Text = textBox3.Text.Trim();
foreach (string field in (new string[] { textBox1.Text, textBox2.Text, textBox3.Text }))
{
try
{
if (field.Length == 0)
throw new Exception("отсутствует значение.\n");
if (j == 2)
value = int.Parse(field, NumberStyles.Integer);
else
value = double.Parse(field, NumberStyles.Float);
if (value <= 0)
throw new Exception("значение должно быть строго больше нуля.\n");
if (j == 2)
{
try
{
dateTimePicker1.Value.Date.AddMonths((int)value);
}
catch (Exception)
{
throw new Exception("превышено максимальное значение типа System.DateTime, " + DateTime.MaxValue.ToShortDateString() + ".\n" +
"Срок вклада не может превышать " +
((DateTime.MaxValue.Year - dateTimePicker1.Value.Date.Year) * 12 +
DateTime.MaxValue.Month - dateTimePicker1.Value.Date.Month).ToString() + " мес. " + "от указанной даты оформления, " + dateTimePicker1.Value.Date.ToShortDateString() + ".\n");
}
}
}
catch (Exception e)
{
errorMessage.Append((++i).ToString() + ". " + label[j] + ": ");
switch (e.GetType().ToString())
{
case "System.FormatException":
errorMessage.AppendLine("неверный формат числа.\n");
break;
case "System.OverflowException":
{
if (j < 2)
{
errorMessage.AppendLine("значение не может быть обработано вещественным типом System.Double.");
errorMessage.AppendLine("Значение типа должно быть строго больше нуля, в промежутке (0; " + double.MaxValue.ToString() + "].\n");
}
else
{
errorMessage.AppendLine("значение не может быть обработано целочисленным типом System.Int32.");
errorMessage.AppendLine("Значение типа должно быть строго больше нуля, в промежутке (0; " + int.MaxValue.ToString() + "].\n");
}
break;
}
default:
errorMessage.AppendLine(e.Message);
break;
}
outcome = false;
}
j++;
}
Мастер исключений 80-го уровня.
Хорошо, хоть не по мессаджам их разделяет.
+130
// Заполняем датагрид
var q = from i in currentData select new { i.IDRFData, i.IDRowData, i.Description, i.SumVal };
dgMain.DataContext = q.ToList();
// Получаем оттуда выделенный элемент
object DR = dgMain.SelectedValue;
var TypedData = Cast(DR, new
{
IDRFData = default(Guid),
IDRowData = default(Guid),
Description = default(string),
SumVal = default(double),
});
// Кстати, функция Cast делает следующее:
public static T Cast<T>(object obj, T type)
{
return (T)obj;
}
Это извращение сделано вместо того, чтобы просто создать отдельный класс для записи датагрида.
Я даже не представляю, в каком состоянии надо быть, чтобы такое написать.
+135
private void tbMain_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
TextBox thisTextBox = (sender as TextBox);
e.Handled = (!(Char.IsDigit(e.Text, 0) && !((thisTextBox.Text.IndexOf("-") == 0) && thisTextBox.SelectionStart == 0))) &&
((e.Text.Substring(0, 1) != "-") || (thisTextBox.Text.IndexOf("-") == 0) || thisTextBox.SelectionStart != 0) &&
((e.Text.Substring(0, 1) != ".") || (thisTextBox.Text.IndexOf(".") != -1) || (thisTextBox.SelectionStart == 0) || (!Char.IsDigit(thisTextBox.Text.Substring(thisTextBox.SelectionStart - 1, 1), 0)) || ((thisTextBox.Text.IndexOf(",") != -1))) &&
((e.Text.Substring(0, 1) != ",") || (thisTextBox.Text.IndexOf(",") != -1) || (thisTextBox.SelectionStart == 0) || (!Char.IsDigit(thisTextBox.Text.Substring(thisTextBox.SelectionStart - 1, 1), 0)) || ((thisTextBox.Text.IndexOf(".") != -1)));
}
+159
function time(){
var vr=new Date();
var hour=vr.getHours();
var min=vr.getMinutes();
var sec=vr.getSeconds();
if (sec<=9) {
if (min<=9) {
if (hour<=9) {
document.forms[0].elements[0].value = "0" + hour +":"+ "0" + min +":"+ "0" + sec;
}
else {
document.forms[0].elements[0].value = hour +":"+ "0" + min +":"+ "0" + sec;
}
}
else {
if (hour<=9) {
document.forms[0].elements[0].value = "0" + hour +":"+ min +":"+ "0" + sec;
}
else {
document.forms[0].elements[0].value = hour +":"+ min +":"+ "0" + sec;
}
}
}
else {
if (min<=9) {
if (hour<=9) {
document.forms[0].elements[0].value = "0" + hour +":"+ "0" + min +":"+ sec;
}
else {
document.forms[0].elements[0].value = hour +":"+ "0" + min +":"+ sec;
}
}
else {
if (hour<=9) {
document.forms[0].elements[0].value = "0" + hour +":"+ min +":"+ sec;
}
else {
document.forms[0].elements[0].value = hour +":"+ min +":"+ sec;
}
}
}
setTimeout("time()",1000);
}
Вот такой вот toString().
+132
var resultList = new List<CentralBankRateData>();
using (var resultSet = m_Service.GetCursOnDate(request.Date))
using (var reader = new DataTableReader(resultSet.Tables["ValuteCursOnDate"]))
while (reader.Read())
resultList.Add(new CentralBankRateData
{
Name = (string) reader["Vname"],
Nominal = (decimal) reader["Vnom"],
Rate = (decimal) reader["Vcurs"],
NumberCode = (int) reader["Vcode"],
StringCode = (string) reader["VchCode"]
});
Какой Центробанк, такая и валюта. m_Service типа DailyInfoSoap, это сервис отдачи курсов валют. А еще у них получение актуального списка БИКов возможно только в древнейшем формате dBASE.
+135
public string ExportToFile(string filename, string filepath, DataSet dsInput)
{
string sFlag = "Error";
System.IO.StreamWriter sw = new StreamWriter("");
try
{
if (filename.Trim() != "" && filepath != "" && dsInput.Tables[0].Rows.Count != 0)
{
sw = new System.IO.StreamWriter(filepath + filename + ".xls");
int iCol = dsInput.Tables[0].Columns.Count;
for (int i = 0; i < iCol; i++)
{
sw.Write(dsInput.Tables[0].Columns[i]);
if (i < iCol - 1)
{ sw.Write("\t"); }
sw.Write(sw.NewLine);
foreach (DataRow dr in dsInput.Tables[0].Rows)
{
for (int i = 0; i < iCol; i++)
{
if (!Convert.IsDBNull(dr[i]))
{
sw.Write(dr[i].ToString());
}
if (i < iCol - 1)
{ sw.Write("\t"); }
}
sw.Write(sw.NewLine);
}
sw.Close();
sFlag = "Success";
}
}
return sFlag;
}
catch (Exception)
{
return sFlag;
}
}
С какого-то китайского сайта:
http://www.datazx.cn/Forums/en-US/2d129cdc-2705-4035-90e2-063c4c399ae5/action?threadDisplayName=wpf-datagrid-remove-whitespace-from-string-on-clipboard-copy&forum=wpf
Нафиг эксепшены, лучше вернем строку "Error"! Ну или "Success", если этот чудо-код еще и не грохнется.
+132
public void Check()
{
try
{
this.Function = "check";
this.Params = HttpUtility.UrlEncode((this.Params), Encoding.GetEncoding(1251));
if ((this.Function.Length > 0) &&
(this.PaymExtId.Length > 0) &&
(this.PaymSubjTp.ToString().Length > 0) &&
(this.Amount.ToString().Length > 0) &&
(this.Params.Length > 0) &&
(this.TermType.Length > 0) &&
(this.TermId.Length > 0) &&
(this.FeeSum.ToString().Length > 0))
{
this.Request = string.Format("function={0}&PaymExtId={1}&PaymSubjTp={2}&Amount={3}&Params={4}&TermType={5}&TermID={6}&FeeSum={7}",
this.Function, this.PaymExtId, this.PaymSubjTp.ToString(), this.Amount.ToString(), this.Params, this.TermType, this.TermId, this.FeeSum.ToString());
SendRequest();
}
else
{
GetError("-1");
}
}
catch
{
GetError("-9");
}
}
Оттуда же. Тип полей PaymSubjTp, Amount, FeeSum - int, всех остальных - string.
Amount.ToString().Length > 0 и т.п. всегда true, а вот ноль или отрицательное значение спокойно пропустят.
Интересно, разработчики хоть знают, что функции умеют принимать и возвращать данные? :)
+135
private void SendRequest()
{
try
{
HttpWebRequest HTTPRequest;
try
{
HTTPRequest = (HttpWebRequest)WebRequest.Create(this.Host + this.Request);
HTTPRequest.ClientCertificates.Add(this.certificate);
}
catch
{
throw new Exception("-2");
}
try
{
HttpWebResponse response = (HttpWebResponse)HTTPRequest.GetResponse();
Stream stream = response.GetResponseStream();
TextReader xml = new StreamReader(stream, Encoding.GetEncoding(1251));
this.Response = xml.ReadToEnd();
stream.Close();
response.Close();
}
catch
{
throw new Exception("-3");
}
GetError("0");
}
catch (Exception ex)
{
GetError(ex.Message);
this.Response = "ОШИБКА!";
}
}
Оттуда же. Круговорот исключений в природе.
+133
public void ExtIdGen()
{
try
{
Random rnd = new Random();
string uin = "";
for (int i = 0; i < 20; i++)
{
uin += rnd.Next(10).ToString();
}
this.ExtId = uin;
GetError("0");
}
catch
{
GetError("-6");
}
}
private void GetError(string error_code)
{
switch (error_code)
{
case "0":
this.LastErrorCode = 0;
this.LastErrorDescription = "Нет ошибок";
break;
// -1 .. -5
case "-6":
this.LastErrorCode = -6;
this.LastErrorDescription = "Ошибка при получении идентификатора запроса";
break;
}
}
LastErrorCode, LastErrorDescription, ExtId - public поля.
Там весь класс написан в таком стиле, с вызовами GetError, принимающими номер ошибки в виде строки, молчаливым catch-ем всех исключений и т.п.