+117
- 1
- 2
- 3
- 4
- 5
@if(@Html.Raw(message.Summary).ToString().IndexOf("Добавлен комментарий") >= 0) {
<a href="@href">
@Html.Raw(@message.Summary)
</a>
}
Arbium,
16 Марта 2012
+117
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
private void _Filter (ref DataTable Dt)
{
if (Dt.Columns.Contains("id_rvobjecttype") && Dt.Columns.Contains("id_rvdevicestatus") && Dt.Columns.Contains("id_storage") &&
(RvObjectType > 0 || Status > 0 || Storage > -1))
{
DataRow[] rows = Dt.Select(string.Format(
"((id_rvobjecttype = {0} or not {1}) and (id_rvdevicestatus = {2} or not {3}) and (id_storage = {4} or not {5})) or id = {6}",
fRvObjectType, fRvObjectType > 0, (int)Status, Status > 0, Storage, Storage > -1, IgnoreId));
Dt = rows.Length > 0 ? rows.CopyToDataTable() : Dt.Clone();
}
}
gcoder,
29 Февраля 2012
+117
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
/// <summary>
/// Преобразование элемента перечисления в строку
/// </summary>
private String GetEnumElementString(Object e, Type t)
{
string result = string.Empty;
if (t == typeof(AccessMode))
{
if ((AccessMode)e == AccessMode.CacheOnly)
{
result = LocalStrings.AccessMode_CacheOnly_RU;
}
else if ((AccessMode)e == AccessMode.ServerOnly)
{
result = LocalStrings.AccessMode_ServerOnly_RU;
}
else if ((AccessMode)e == AccessMode.ServerAndCache)
{
result = LocalStrings.AccessMode_ServerAndCache_RU;
}
else
{
throw new Exception(string.Format("Отсутствует конвертация перечисления {0} к списку строк.", e));
}
}
else if (t == typeof(MapImageType))
{
if ((MapImageType)e == MapImageType.Map)
{
result = LocalStrings.MapImageType_Map_RU;
}
else if ((MapImageType)e == MapImageType.Satellite)
{
result = LocalStrings.MapImageType_Sattelite_RU;
}
else if ((MapImageType)e == MapImageType.Hybrid)
{
result = LocalStrings.MapImageType_Hybrid_RU;
}
else
{
throw new Exception(string.Format("Отсутствует конвертация перечисления {0} к списку строк.", e));
}
}
else
{
throw new Exception(string.Format("Отсутствует конвертация перечисления {0} к списку строк.", e));
}
return result;
}
Конвертация Enum в строку. Аффтар уникален, и это лишь одно из проявлений его уникальности.
Swith - для трусов, статические тулзы и Extension - для дураков. У нас для этого будут методы классов, между прочим класс, в который входит этот метод - UserControl.
Кстати, поля LocalStrings - не константы, а статика:
public static string AccessMode_CacheOnly_RU = "Только кэш"; ....
ICELedyanoj,
08 Февраля 2012
+117
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
[TestInitialize]
public void Init()
{
relashions = new List<PersonRelationship>();
relashions.Add( new PersonRelationship()
{
PersonId = 1,
RalationshipPersonId = 2,
RelationshipTypeId = (int)DAL.Dictionaries.RelationshipType.Friend
});
relashions.Add(new PersonRelationship()
{
PersonId = 1,
RalationshipPersonId = 2,
RelationshipTypeId = (int)DAL.Dictionaries.RelationshipType.Friend
});
relashions.Add(new PersonRelationship()
{
PersonId = 2,
RalationshipPersonId = 1,
RelationshipTypeId = (int)DAL.Dictionaries.RelationshipType.Friend
});
}
[TestMethod()]
public void GetMyFriends_Get_Success()
{
long personId = 1;
var relationService = new Mock<IRelationService>();
relationService.Setup(c => c.GetMyFriends(personId)).Returns
(
from rl in relashions.Where(r => r.PersonId == personId && r.RelationshipTypeId == (int)DAL.Dictionaries.RelationshipType.Friend)
select new PersonShortDescriptionViewModel()
{
FirstName = personId.ToString(),
LastName = personId.ToString(),
}
);
var friends = relationService.Object.GetMyFriends(personId);
Assert.IsNotNull(friends);
}
Найден правильный метод написания тестов!
Hych,
24 Января 2012
+117
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
Var
a,b : Integer;
c : Extended;
BEGIN
readln(a,b);
TRY
c := sqrt(a-b);
WriteLn('A > B');
EXCEPT
WriteLn('A < B');
END;
ReadLn;
END.
Дело было вечером, делать было нечего, решил just for education порешать пару задач по программированию. Залез значит в Зултрк, ищу. На глаза сразу попалась небольшая книжица с названием "128 Задач по началам программирования." В.В Пупырышева. Скачал, начал решать. И вот какая задачка мне попалась:
"II-15*. Максимум из двух
Напишите программу, которая запрашивает джва числа и сообщает, какое из них больше другого."
Вроде бы ничего сложного, но ВНЕЗАПНО у задачи обнаружилось примечание: "Эта задача должна быть решена без использования ветвления." Первая мысль, пришедшая в голову, была использовать функции, но ведь и они подразумевали ветвление. Так что начался мозговой штурм. После получаса раздумий, высралось ЭТО. В конце, посмотрев в ответы, я просто охренел. Спойлер: "Эта задача представляет собой подготовку к следующей ступени (задачи с ветвлением). Но решить её можно и без использования ветвлений, если придумать две формулы для вычилсения максимума и минимума из двух чисел. Тогда если обозначить исходные числа как Х и Y, а упомянутые формулы - как MAX(x,y) и MIN(x,y) соответственно, то для получения правильного ответа достаточно будет вывести строку типа: "Число-", MAX(x,y), "-не меньше числа -", MIN(x,y)." После этого я книгу с компа удалил, не помещая в корзину.
Govnocoder#0xFF,
07 Мая 2011
+117
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
WorksheetRow row = new WorksheetRow();
row.Cells.Add("");
// ispublished
row.Cells.Add(point.IsPublished ? "+" : "");
// id superregion
row.Cells.Add(point.Town.Region.SuperRegion.Id.ToString());
// name superregion
if (cleanupTags)
row.Cells.Add(CleanXMLTags(point.Town.Region.SuperRegion.Name));
else row.Cells.Add(point.Town.Region.SuperRegion.Name);
// id rregion
row.Cells.Add(point.Town.Region.Id.ToString());
// name region
if (cleanupTags)
row.Cells.Add(CleanXMLTags(point.Town.Region.DefaultText.Name));
else row.Cells.Add(point.Town.Region.DefaultText.Name);
...
StringBuilder subwayIDs = new StringBuilder("");
StringBuilder subwayNames = new StringBuilder("");
foreach (Subway subway in point.Subways)
{
subwayIDs.Append(subway.Id).Append(", ");
subwayNames.Append(subway.DisplayName).Append(", ");
}
string sIDs = subwayIDs.ToString();
if (sIDs.Length > 0) sIDs = sIDs.Substring(0, sIDs.Length - 2);
string sNames = subwayNames.ToString();
if (sNames.Length > 0) sNames = sNames.Substring(0, sNames.Length - 2);
Это 10% от метода. Там все в том же духе.
ShurikEv,
14 Апреля 2011
+117
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
int massaotves = 0;
var result = db.Vesi500.SingleOrDefault(x => x.Id_vesi500 == 10);
massaotves = Convert.ToInt32(result.Value_vesi500);
int step500 = 0;
//int ost1 = summ500 % massaotves;
//if (ost1 == 0)
// step500 = summ500 / massaotves;
//else
// step500 = (summ500 / massaotves) + 1;
int ost1 = summ500 % 450;
if (ost1 == 0)
step500 = summ500 / 450;
else
step500 = (summ500 / 450) + 1;
#endregion
#region Отвесы и суммы для 200 весов
int massaotves200 = 0;
var result1 = db.Vesi200.SingleOrDefault(x => x.Id_vesi200 == 9);
massaotves200 = Convert.ToInt32(result1.Value_vesi200);
int step200 = 0;
//int ost2 = summ200 % massaotves200;
//if (ost2 == 0)
// step200 = summ200 / massaotves200;
//else
// step200 = (summ200 / massaotves200) + 1;
int ost2 = summ200 % 180;
if (ost2 == 0)
step200 = summ200 / 180;
else
step200 = (summ200 / 180) + 1;
#endregion
int itog = 0;
//if (step200 > step500)
// itog = step200;
//else
// itog = step500;
int test = (summ200 + summ500) / massaotves200;
if (test >= step500 && test >= step200)
itog = test;
else if (step200 > step500)
itog = step200;
else
itog = step500;
textBox3.Text = Convert.ToString(itog);
vsegootvesov = itog;
Выполняет расчет необходимых показателей, для запуска технологического процесса
fxlancer,
05 Апреля 2011
+117
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Caeser_method
{
class Program
{
static void Main(string[] args)
{
int n = 3;
Console.Write("Input string to encoding: ");
string input = Console.ReadLine();
Csr enc = new Csr(n,input);
// Csr dec;
enc.encrypt();
Console.WriteLine(enc);
// dec = new Csr(n, input);
enc.decrypt();
Console.WriteLine(enc);
Console.ReadLine();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Caeser_method
{
class Csr
{
public int n;
public string phraze,outputphr;
public Csr(int n, string phraze)
{
this.n = n;
this.phraze = phraze;
this.outputphr = "";
}
public void encrypt()
{
foreach (char c in this.phraze)
if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'))
{
if (char.IsLetter(c)) this.outputphr += (char)(char.IsUpper(c) ?
(c + this.n > 'Z' ? ('A' + ((c -'Z' + (this.n - 1)))) : (c + this.n)) :
(c + this.n > 'z' ? ('a' + ((c - 'z' + (this.n - 1)))) : (c + this.n)));
else this.outputphr += c;
}
else
{
if (char.IsLetter(c)) this.outputphr += (char)(char.IsUpper(c) ?
(c + this.n > 'Я' ? ('А' + ((c - 'Я' + (this.n - 1)))) : (c + this.n)) :
(c + this.n > 'я' ? ('а' + ((c - 'я' + (this.n - 1)))) : (c + this.n)));
else this.outputphr += c;
}
}
public void decrypt()
{
this.phraze = this.outputphr;
this.outputphr = "";
foreach (char c in this.phraze)
if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'))
{
if (char.IsLetter(c)) this.outputphr += (char)(char.IsUpper(c) ?
(c - this.n < 'A' ? ('Z' - (('A' - c + (this.n - 1)))) : (c - this.n)) :
(c - this.n < 'a' ? ('z' - (('a' - c + (this.n - 1)))) : (c - this.n)));
else this.outputphr += c;
}
else
{
if (char.IsLetter(c)) this.outputphr += (char)(char.IsUpper(c) ?
(c - this.n < 'А' ? ('Я' - (('А' - c + (this.n - 1)))) : (c - this.n)) :
(c - this.n < 'а' ? ('я' - (('а' - c + (this.n - 1)))) : (c - this.n)));
else this.outputphr += c;
}
}
public override string ToString()
{
return string.Format("Encoded string: {0}",this.outputphr);
}
}
}
Реализация шифрования методом Цезаря
rybaki,
27 Марта 2011
+117
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
public static class EventExtensions
{
public static void Fire(this EventHandler eventHandler, object sender)
{
eventHandler.Fire(sender, EventArgs.Empty);
}
public static void Fire(this EventHandler eventHandler, object sender, EventArgs args)
{
eventHandler.FireDelegate(sender, args);
}
public static void Fire<TEA>(this EventHandler<TEA> eventHandler, object sender, TEA args)
where TEA : EventArgs
{
eventHandler .FireDelegate(sender, args);
}
public static void FireDelegate(this Delegate eventHandler, params object[] parameters)
{
if (eventHandler != null)
{
Delegate[] delegates = eventHandler.GetInvocationList();
foreach (var del in delegates)
{
try
{
del.Method.Invoke(del.Target, parameters);
}
catch (Exception e)
{
// use logger here
throw;
}
}
}
}
}
Надоело писать инвокаторы для ивентов? Как тебе это?
walash,
21 Февраля 2011
+117
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
public class A
{
private int field;
public int Field { get { return field; } }
public void Foo()
{
B.CreateInstance().A.field = 4;
}
}
public class B
{
private static _b = null;
private A _a = new A();
public A { get { return _a; } }
private B() {}
public static B CreateInstance()
{
if (_b == null)
{
_b = new B();
}
return _b;
}
}
Встретил сегодня. Не мог не поделиться. Кода там много, поэтому выписал суть. CreateInstance() - это реальное название метода.
t36,
12 Января 2011