- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
Int64 iObjectId;
public Int64 ObjectId
{
get { return iObjectId; }
set {
if (iObjectId == null) { value = 0; } else value = iObjectId;
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+890
Int64 iObjectId;
public Int64 ObjectId
{
get { return iObjectId; }
set {
if (iObjectId == null) { value = 0; } else value = iObjectId;
}
}
Помимо того, что условие (iObjectId == null) никогда не выполняется, сеттер еще и делает свойство ObjectId фактически readonly.
(Авторское форматирование кода сохранено.)
+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)));
}
+133
private void SetTime(DateTime DateAndTime)
{
if (SelectedTimeFormat == TimeFormat.Twelve)
{
Hour = Convert.ToInt32(DateAndTime.ToString("hh", DateTimeFormatInfo.InvariantInfo));
AmPm = (DateAndTime.ToString("tt", DateTimeFormatInfo.InvariantInfo) == "AM")
? AmPmSpec.AM
: AmPmSpec.PM;
}
else
{
Hour = Convert.ToInt32(DateAndTime.ToString("HH", DateTimeFormatInfo.InvariantInfo));
}
Minute = Convert.ToInt32(DateAndTime.ToString("mm", DateTimeFormatInfo.InvariantInfo));
Second = AllowSecondEditing
? Convert.ToInt32(DateAndTime.ToString("ss", DateTimeFormatInfo.InvariantInfo))
: 0;
string str = (Minute.ToString().Length == 1) ? ("0" + Minute) : Minute.ToString();
ViewState["Date"] = Convert.ToDateTime(ViewState["Date"]).ToShortDateString() + " " + Hour + ":" + str +
":00 " + AmPm;
}
Записываем текущие дату и время в вьюстейт...
+133
if (textBox[0].Text == "" && textBox[1].Text == "" && textBox[2].Text == "" && textBox[3].Text == "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("");
else if (textBox[0].Text != "" && textBox[1].Text == "" && textBox[2].Text == "" && textBox[3].Text == "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[surname] LIKE '%{0}%'", textBox[0].Text);
else if (textBox[0].Text == "" && textBox[1].Text != "" && textBox[2].Text == "" && textBox[3].Text == "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[name] LIKE '%{0}%'", textBox[1].Text);
else if (textBox[0].Text == "" && textBox[1].Text == "" && textBox[2].Text != "" && textBox[3].Text == "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[midname] LIKE '%{0}%'", textBox[2].Text);
else if (textBox[0].Text == "" && textBox[1].Text == "" && textBox[2].Text == "" && textBox[3].Text != "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("course={0}", textBox[3].Text);
else if (textBox[0].Text == "" && textBox[1].Text == "" && textBox[2].Text == "" && textBox[3].Text == "" && textBox[4].Text != "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("group={0}", textBox[4].Text);
else if (textBox[0].Text != "" && textBox[1].Text != "" && textBox[2].Text == "" && textBox[3].Text == "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[surname] LIKE '%{0}%' and [name] LIKE '%{1}%'", textBox[0].Text, textBox[1].Text);
else if (textBox[0].Text == "" && textBox[1].Text != "" && textBox[2].Text != "" && textBox[3].Text == "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[name] LIKE '%{0}%' and [midname] LIKE '%{1}%'", textBox[1].Text, textBox[2].Text);
else if (textBox[0].Text == "" && textBox[1].Text == "" && textBox[2].Text != "" && textBox[3].Text != "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[midname] LIKE '%{0}%' and course={1}", textBox[2].Text, textBox[3].Text);
else if (textBox[0].Text == "" && textBox[1].Text == "" && textBox[2].Text == "" && textBox[3].Text != "" && textBox[4].Text != "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("course={0} and group={1}", textBox[3].Text, textBox[4].Text);
else if (textBox[0].Text != "" && textBox[1].Text != "" && textBox[2].Text != "" && textBox[3].Text == "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[surname] LIKE '%{0}%' and [name] LIKE '%{1}%' and [midname] LIKE '%{2}%'", textBox[0].Text, textBox[1].Text, textBox[2].Text);
else if (textBox[0].Text == "" && textBox[1].Text != "" && textBox[2].Text != "" && textBox[3].Text != "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[name] LIKE '%{0}%' and [midname] LIKE '%{1}%' and course={2}", textBox[1].Text, textBox[2].Text, textBox[3].Text);
else if (textBox[0].Text == "" && textBox[1].Text == "" && textBox[2].Text != "" && textBox[3].Text != "" && textBox[4].Text != "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[midname] LIKE '%{0}%' and course={1} and group={2}", textBox[2].Text, textBox[3].Text, textBox[4].Text);
else if (textBox[0].Text != "" && textBox[1].Text != "" && textBox[2].Text != "" && textBox[3].Text != "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[surname] LIKE '%{0}%' and [name] LIKE '%{1}%' and [midname] LIKE '%{2}%' and course={3}", textBox[0].Text, textBox[1].Text, textBox[2].Text, textBox[3].Text);
else if (textBox[0].Text == "" && textBox[1].Text != "" && textBox[2].Text != "" && textBox[3].Text != "" && textBox[4].Text != "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[name] LIKE '%{0}%' and [midname] LIKE '%{1}%' and course={2} and group={3}", textBox[1].Text, textBox[2].Text, textBox[3].Text, textBox[4].Text);
else if (textBox[0].Text != "" && textBox[1].Text != "" && textBox[2].Text != "" && textBox[3].Text != "" && textBox[4].Text != "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[surname] LIKE '%{0}%' and [name] LIKE '%{1}%' and [midname] LIKE '%{2}%' and course={3} and group={4}", textBox[0].Text, textBox[1].Text, textBox[2].Text, textBox[3].Text, textBox[4].Text);
"Есть 5 текстовых полей и желание понять, как можно в зависимости от пустоты или заполненности этих полей, одного или нескольких создать малое количество операторов if else"
Порадовало "малое количество"
+132
public JsonResult Autocomplete(string term)
{
var result = new List<KeyValuePair<string, string>>();
IList<SelectListItem> List = new List<SelectListItem>();
List.Add(new SelectListItem { Text = "test1", Value = "0" });
List.Add(new SelectListItem { Text = "test2", Value = "1" });
List.Add(new SelectListItem { Text = "test3", Value = "2" });
List.Add(new SelectListItem { Text = "test4", Value = "3" });
foreach (var item in List)
{
result.Add(new KeyValuePair<string, string>(item.Value.ToString(), item.Text));
}
var result3 = result.Where(s => s.Value.ToLower().Contains(term.ToLower())).Select(w => w).ToList();
return Json(result3, JsonRequestBehavior.AllowGet);
}
Наткнулся на CodeProject.
+839
protected virtual string GetParentTableControlID()
{
try
{
if (this.Parent is BaseApplicationTableControl) return this.Parent.ID;
if (this.Parent.Parent is BaseApplicationTableControl) return this.Parent.Parent.ID;
if (this.Parent.Parent.Parent is BaseApplicationTableControl) return this.Parent.Parent.Parent.ID;
if (this.Parent.Parent.Parent.Parent is BaseApplicationTableControl) return this.Parent.Parent.Parent.Parent.ID;
}
catch (Exception)
{
}
return "";
}
+95
var dt = DateTime.Now;
var strTimeFilter = string.Empty;
switch (filter.TimeTypeId)
{
case 2:
strTimeFilter = "r.StartDateTime>='" + dt.ToString("yyyy-MM-01 00:00:00.000") +
"' AND r.ExpirationDateTime<='" + dt.ToString("yyyy-MM-dd hh:mm:ss.fff") + "'";
break;
case 3:
strTimeFilter = "r.StartDateTime>='" + dt.AddMonths(-1).ToString("yyyy-MM-dd hh:mm:ss.fff") +
"' AND r.ExpirationDateTime<='" + dt.ToString("yyyy-MM-dd hh:mm:ss.fff") + "'";
break;
case 4:
strTimeFilter = "r.StartDateTime>='" + dt.AddMonths(-1).ToString("yyyy-MM-01 00:00:00.000") +
"' AND r.ExpirationDateTime<='" + dt.ToString("yyyy-MM-dd hh:mm:ss.fff") + "'";
break;
case 5:
strTimeFilter = "r.StartDateTime>='" + dt.AddMonths(-2).ToString("yyyy-MM-01 00:00:00.000") +
"' AND r.ExpirationDateTime<='" + dt.ToString("yyyy-MM-dd hh:mm:ss.fff") + "'";
break;
case 6:
strTimeFilter = "r.StartDateTime>='" + dt.AddMonths(-5).ToString("yyyy-MM-01 00:00:00.000") +
"' AND r.ExpirationDateTime<='" + dt.ToString("yyyy-MM-dd hh:mm:ss.fff") + "'";
break;
case 7:
strTimeFilter = "r.StartDateTime>='" + dt.AddYears(-1).ToString("yyyy-MM-dd hh:mm:ss.fff") +
"' AND r.ExpirationDateTime<='" + dt.ToString("yyyy-MM-dd hh:mm:ss.fff") + "'";
break;
case 8:
strTimeFilter = "r.StartDateTime>='" + dt.ToString("yyyy-MM-dd 00:00:00.000") +
"' AND r.ExpirationDateTime<='" + dt.ToString("yyyy-MM-dd 23:59:59.999") + "'";
break;
case 9:
strTimeFilter = "r.StartDateTime>='" + dt.AddDays(1).ToString("yyyy-MM-dd 00:00:00.000") +
"' AND r.ExpirationDateTime<='" + dt.AddDays(1).ToString("yyyy-MM-dd 23:59:59.999") + "'";
break;
case 10:
strTimeFilter = "r.StartDateTime>='" + dt.ToString("yyyy-MM-dd 00:00:00.000") + "'";
break;
case -1:
var fds = filter.FirstTime.ToTrim();
var lds = filter.LastTime.ToTrim();
if (!string.IsNullOrEmpty(fds) && string.IsNullOrEmpty(lds))
{
DateTime fd;
if (DateTime.TryParse(fds, new CultureInfo("ru-RU", false), DateTimeStyles.None, out fd))
{
strTimeFilter = " r.StartDateTime>='" + fd.ToString("yyyy-MM-dd 00:00:00.000") + "' ";
}
}
else if (string.IsNullOrEmpty(fds) && !string.IsNullOrEmpty(lds))
{
DateTime ld;
if (DateTime.TryParse(lds, new CultureInfo("ru-RU", false), DateTimeStyles.None, out ld))
{
strTimeFilter = " r.ExpirationDateTime<='" + ld.ToString("yyyy-MM-dd 23:59:59.999") + "' ";
}
}
else if (!string.IsNullOrEmpty(fds) && !string.IsNullOrEmpty(lds))
{
DateTime fd, ld;
if (DateTime.TryParse(fds, new CultureInfo("ru-RU", false), DateTimeStyles.None, out fd)
&& DateTime.TryParse(lds, new CultureInfo("ru-RU", false), DateTimeStyles.None, out ld))
{
strTimeFilter = "r.StartDateTime>='" + DateTime.Parse(filter.FirstTime, new CultureInfo("ru-RU", false)).ToString("yyyy-MM-dd 00:00:00.000") +
"' AND r.ExpirationDateTime<='" + DateTime.Parse(filter.LastTime, new CultureInfo("ru-RU", false)).ToString("yyyy-MM-dd 23:59:59.999") + "'";
}
}
break;
}
Это часть метода для формирования where-clause SQL-запроса для фильтра данных по дате вида "Сегодня", "Вчера", "За последний месяц", "За последние два месяца" и т. п.
+780
public class B
{
private readonly List<M> ms = new List<M>();
// ...
public void Match(M m) { ms.Add(m); }
public int IndexOf(M m) { return ms.IndexOf(m) == 0 ? 0 : 1; }
// ...
}
public class M
{
// ...
public void Match(B b)
{
try { b.Match(this); }
catch (Exception e)
{
// ...
}
}
// ...
}
Угадай песню по говнокоду. Сложность: 2/10.
Можете минусовать, в общем-то.
+772
var ecwld = (from path in args let dirs = Directory.GetDirectories(path) from dirName in dirs.Select(dir => dir.Replace(path, "").Replace("\\", "")) let files = Directory.GetFiles(path + dirName) from file in files where file.Contains(dirName + ".ecwld") select file).ToList();