- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
public static bool In<T>(this T t, params T[] values)
{
return t == null ? values.Any(v => v == null) : values.Contains(t);
}
public static bool NotIn<T>(this T t, params T[] values)
{
return !t.In(values);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+133
public static bool In<T>(this T t, params T[] values)
{
return t == null ? values.Any(v => v == null) : values.Contains(t);
}
public static bool NotIn<T>(this T t, params T[] values)
{
return !t.In(values);
}
замечательный экстэншн к object
+124
private int MsUntilNextRefresh(DayOfWeek refreshDay, uint refreshHour)
{
int days = 0;
if (DateTime.Now.DayOfWeek > refreshDay)
days = refreshDay + 7 - DateTime.Now.DayOfWeek;
else if (DateTime.Now.DayOfWeek < refreshDay)
days = refreshDay - DateTime.Now.DayOfWeek;
else
days = 7;
int hours = 0;
if (DateTime.Now.Hour > refreshHour)
{
days--;
hours = (int)refreshHour + 24 - DateTime.Now.Hour;
}
else if (DateTime.Now.Hour < refreshHour)
{
hours = (int)refreshHour - DateTime.Now.Hour;
}
return days * 86400000 + hours * 3600000 - DateTime.Now.Minute * 60000 - DateTime.Now.Second * 1000 - DateTime.Now.Millisecond;
}
классический индусский код, вместо:
private int MsUntilNextRefresh(DayOfWeek refreshDay, uint refreshHour)
{
var dtnow = DateTime.UtcNow;
var nextRefreshDate =
dtnow.Date.AddDays(dtnow.DayOfWeek >= refreshDay ? dtnow.DayOfWeek + 7 - refreshDay : refreshDay - dtnow.DayOfWeek).AddHours(refreshHour);
return (nextRefreshDate - dtnow).Milliseconds;
}
+143
if (result == true) {
return true;
}
else { return false; }
return false;
не баян, а классика
+134
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ConnectToTenderGov
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Connect connect = new Connect();
webBrowser1.Navigate("https://tender.me.gov.ua/EDZFrontOffice/menu/ru/");
while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
Application.DoEvents();
webBrowser1.Document.GetElementById("login:login").SetAttribute("value", "***@***.com");
webBrowser1.Document.GetElementById("login:password").SetAttribute("value", "***");
webBrowser1.ScriptErrorsSuppressed = true;
webBrowser1.Document.GetElementById("login:loginButtonPopup").InvokeMember("click");
}
}
}
Пытался реализовать модуль авторизации, требование - должны были использоваться cookie.
+127
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace Slogan
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Выбрать текст из файла (1). Написать самому (2).");
char ch = Convert.ToChar(Console.ReadLine());
if (ch == '2')
{
Console.WriteLine("Количество слов");
int x = Convert.ToInt32(Console.ReadLine());
string[] arr = new string[x];
Console.WriteLine("Вводите слова");
for (int i = 0; i < arr.Length; i++)
{
arr[i] = Console.ReadLine();
}
int count = 0;
string slogan = "";
do
{
slogan = "";
for (int i = 0; i < arr.Length; i++)
{
System.Threading.Thread.Sleep(20);
Random rnd = new Random();
int fr = rnd.Next(0, x);
slogan += arr[fr] + " ";
}
Console.WriteLine(slogan);
count++;
} while (count != arr.Length);
}
else if (ch == '1')
{
string slogan = "";
Console.WriteLine("Введите имя пользователя Windows");
string user = Console.ReadLine();
Console.WriteLine("Введите название файла на рабочем столе");
string way = Console.ReadLine();
try
{
string input = File.ReadAllText("c:/users/" + user + "/desktop/" + way);
Console.WriteLine("Введите название файла на рабочем столе, куда сохранять");
string waytosave = "c:/users/" + user + "/desktop/" + Console.ReadLine();
string[] split = input.Split(new Char[] { ' ', ',', '.', ':', '\t' });
int counter = 0;
do
{
slogan = "";
for (int i = 0; i < split.Length; i++)
{
System.Threading.Thread.Sleep(20);
Random rnd = new Random();
int fr = rnd.Next(0, split.Length);
slogan += split[fr] + " ";
}
Console.WriteLine(slogan);
File.AppendAllText(waytosave, slogan);
counter++;
} while (counter != split.Length);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
Console.ReadLine();
}
}
}
Выводит получаемые слова случайным образом
+126
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
private static void LoadSendMethodFromConfig()
{
if (!sendMethod.HasValue)
{
sendMethod = SendMethodTypes.Default;
try
{
// read SendKeys value from config file, not case sensitive
string value = System.Configuration.ConfigurationManager.AppSettings.Get("SendKeys");
if (string.IsNullOrEmpty(value))
return;
if (value.Equals("JournalHook", StringComparison.OrdinalIgnoreCase))
sendMethod = SendMethodTypes.JournalHook;
else if (value.Equals("SendInput", StringComparison.OrdinalIgnoreCase))
sendMethod = SendMethodTypes.SendInput;
}
catch { } // ignore any exceptions to keep existing SendKeys behavior
}
}
Сорцы дотнета. Игнорируем любые исключения. Возмущение компилятора отключаем атрибутом. Как мило!
Пруф: http://referencesource.microsoft.com/#System.Windows.Forms/ndp/fx/src/winforms/Managed/System/WinForms/SendKeys.cs#323f3884113aa0ae#references
Цимес ещё и в том, что раньше в коде не было строк:
if (string.IsNullOrEmpty(value))
return;
+133
public string ReturnBondCurrency(int billTableLine)
{
return char.ConvertFromUtf32(Table[billTableLine, 1]) +
char.ConvertFromUtf32(Table[billTableLine, 2]) +
char.ConvertFromUtf32(Table[billTableLine, 3]);
}
Table - двумерный массив байт.
Encoding.ASCII.GetString() отдыхает.
+130
class Users : Data
{
public int ID { get; set; }
public string Name { get; set; }
public int PostID { get; set; }
public int SubdivID { get; set; }
public QueryType qType { get; set; }
public static QueryState qState { get; set; }
/// <summary>
/// Типы запроса для QueryBuilder
/// </summary>
public enum QueryType : int
{
Insert = 1,
Delete,
Update,
SelectUsers,
SelectUser,
SelectUsersbyName
}
/// <summary>
/// Статусы открытия формы (добавление или редактирование)
/// </summary>
public enum QueryState : int
{
Insert = 1,
Update
}
public Users()
{
ID = -1;
Name = null;
}
/// <summary>
/// Формирует запрос на основе значения переменной qType и осуществляет выборку данных
/// </summary>
public void QueryBuilder()
{
switch (qType)
{
case QueryType.SelectUsers:
{
QueryText = "Select Users.ID, Users.Name, Posts.Name, Subdivisions.Name from Users, Posts, Subdivisions Where Users.SubdivID = subdivisions.ID and Users.PostID = Posts.ID";
Select();
break;
}
case QueryType.SelectUser:
{
if (ID != -1)
{
QueryText = "Select Users.ID, Users.Name, Posts.Name, Subdivisions.Name, Posts.ID, Subdivisions.ID From Users, Posts, Subdivisions " +
" Where Users.SubdivID = subdivisions.ID and Users.PostID = Posts.ID and Users.ID = " + ID;
SelectRow();
}
else
{
MessageBox.Show("ID пользователя не найден");
}
break;
}
case QueryType.Insert:
{
QueryText = "Insert Into Users(Name, PostID, SubdivID) Values('" + Name + "', '" + PostID + "', '" + SubdivID + "')";
InsertRecord();
break;
}
case QueryType.Delete:
{
QueryText = "Delete From Users Where ID = " + ID;
DeleteRecord();
break;
}
case QueryType.Update:
{
QueryText = "Update Users set Name = '" + Name + "', PostID = '" + PostID + "', SubdivID = '" + SubdivID + "' Where ID = " + ID;
UpdateRecord();
break;
}
case QueryType.SelectUsersbyName:
{
QueryText = "Select Users.ID, Users.Name, Posts.Name, Subdivisions.Name from Users, Posts, Subdivisions " +
"Where Users.SubdivID = subdivisions.ID and Users.PostID = Posts.ID and Users.Name like " + "'%" + Name + "%'";
Select();
break;
}
}
}
15856 Продолжение...
+133
abstract class Data
{
public string QueryText { get; protected set; }
public BindingSource SelectResult { get; private set; }
public object[] SelectedRow { get; protected set; }
/// <summary>
/// Добавляет новую запись в таблицу
/// </summary>
protected virtual void InsertRecord()
{
if (IsConnected())
{
SqlDataAdapter DA = new SqlDataAdapter();
DA.InsertCommand = new SqlCommand(QueryText, DB.Connection);
DA.InsertCommand.ExecuteNonQuery();
}
}
protected virtual void UpdateRecord()
{
if (IsConnected())
{
SqlDataAdapter DA = new SqlDataAdapter();
DA.UpdateCommand = new SqlCommand(QueryText, DB.Connection);
DA.UpdateCommand.ExecuteNonQuery();
}
}
protected virtual void DeleteRecord()
{
if (IsConnected())
{
SqlDataAdapter DA = new SqlDataAdapter();
DA.DeleteCommand = new SqlCommand(QueryText, DB.Connection);
DA.DeleteCommand.ExecuteNonQuery();
}
}
/// <summary>
/// Выбирает данные и записывает результат в переменную SelectResult
/// </summary>
protected virtual void Select()
{
DataSet DS = new DataSet();
DS.Tables.Add("Tbl");
SqlDataAdapter ADP = new SqlDataAdapter();
if (IsConnected())
{
ADP.SelectCommand = new SqlCommand(QueryText, DB.Connection);
ADP.Fill(DS.Tables["Tbl"]);
SelectResult = new BindingSource();
string s = DS.Tables[0].TableName;
SelectResult.DataMember = s;
SelectResult.DataSource = DS;
}
}
/// <summary>
/// Выбирает данные и записывает результат в Object массив SelectedRow
/// </summary>
public virtual void SelectRow()
{
DataSet DS = new DataSet();
DS.Tables.Add("Tbl");
SqlDataAdapter ADP = new SqlDataAdapter();
if (IsConnected())
{
ADP.SelectCommand = new SqlCommand(QueryText, DB.Connection);
ADP.Fill(DS.Tables["Tbl"]);
}
SelectedRow = DS.Tables[0].Rows[0].ItemArray;
}
private bool IsConnected()
{
if(DB.Connection.State == System.Data.ConnectionState.Open)
{
return true;
}
else
{
return false;
}
}
+136
SqlConnection con = new SqlConnection(connectionString);
string sql = "SELECT idea.Id, idea.Small_text, idea.Full_text, idea.Example_text, ";
sql = sql + " ul.FullName as Avtor, ref.Name as Status, even.date_act, (select count (*) from events ev where ev.id_action=2 and ev.id_target=idea.Id and ev.type_target=1) as CountComm, (select count (*) from events ev where ev.id_action=57 and ev.id_target=idea.Id and ev.type_target=1) as Voit, (select max(ev.date_act) from events ev where ev.id_action in (1,2,4,5,7,8,9,10,58,60,61,62,63,64,65,66,67,68,69,70,71,72,74) and ev.id_target=idea.Id and ev.type_target=1) as Last_action";
sql = sql + " FROM Idea idea, UserLists ul, Refbook ref, Events even ";
sql = sql + " WHERE idea.Avtor=ul.Id and idea.Status_id = ref.Id and even.id_action=1 and even.type_target=1 and even.id_target=idea.id ";
if (id >= 0)
sql = sql + " and idea.Status_id=" + id;
if (id_avtor >= 0)
sql = sql + " and idea.Avtor=" + id_avtor;
sql = sql + " ORDER BY Last_action desc";
SqlCommand cmd = new SqlCommand(sql, con);
cmd.CommandType = CommandType.Text;
List<Idea> Ideas = new List<Idea>();
using (con)
{
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Idea idea = GetIdeaInfo(Int32.Parse(reader["Id"].ToString()));
Ideas.Add(idea);
}
reader.Close();
return Ideas;
}
Принял еще один проект. ASP.NET MVC4. Автор уехал в Новую Зеландию.