- 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
switch ((int)row["State"])
{
case 0:
/*** Get Contact Row for Company ***/
if (contactTbl != null)
{
contactRow = null;
DataRow[] contactRows = contactTbl.Select("Company_Id='" + row["Id"].ToString() + "'");
if (contactRows != null && contactRows.Length > 0)
{
contactRow = contactRows[0];
if ((bool)contactRow["fDontMailshot"] == false)
{
thisMailShot = true;
}
else
{
thisMailShot = false;
}
}
}
if ((bool)row["fManagementCompany"] == true)
{
if (row["Id"].ToString() == "00-20181" || row["Id"].ToString() == "00-60838")
{
myEntityID = Entity(2, row);
if (!SubContractor(myEntityID, row)) { return false; }
}
else
{
myEntityID = Entity(10, row);
}
if (myEntityID < 0) { return false; }
if (!Address(myEntityID, row)) { return false; }
if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
}
else if ((bool)row["fSubcontractor"] == true || ((bool)row["fSupplier"] == true && (bool)row["fCustomer"] == false))
{
myEntityID = Entity(2, row);
if (myEntityID < 0) { return false; }
if (!Address(myEntityID, row)) { return false; }
if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
if (!SubContractor(myEntityID, row)) { return false; }
}
else if ((bool)row["fHousingAssociation"] == true)
{
myEntityID = Entity(7, row);
if (myEntityID < 0) { return false; }
if (!Address(myEntityID, row)) { return false; }
if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
if (!Customer(myEntityID, row, thisMailShot)) { return false; }
}
else if ((bool)row["f2ndOwnerTenant"] == true && (bool)row["fCustomer"] == false)
{
myEntityID = Entity(8, row);
if (myEntityID < 0) { return false; }
if (!Address(myEntityID, row)) { return false; }
if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
if (!Customer(myEntityID, row, thisMailShot)) { return false; }
}
else if ((bool)row["fCustomer"] == true && (bool)row["f2ndOwnerTenant"] == false)
{
myEntityID = Entity(7, row);
if (myEntityID < 0) { return false; }
if (!Address(myEntityID, row)) { return false; }
if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
if (!Customer(myEntityID, row, thisMailShot)) { return false; }
}
else if ((bool)row["fCustomer"] == true && (bool)row["f2ndOwnerTenant"] == true)
{
myEntityID = Entity(7, row);
if (myEntityID < 0) { return false; }
if (!Address(myEntityID, row)) { return false; }
if (!Contact(myEntityID, contactRow, SOURCETYPE_ENTITY)) { return false; }
if (!Customer(myEntityID, row, thisMailShot)) { return false; }
}
break;
default:
break;
}
Отличный пример использования конструкций ветвления. Имеем switch, в нём один case, а в кейсе много-много иф-элсов. И что очень характерно для этого проекта с тремя классами по 9000 строк, никакого повторного использования кода. Реализация принципа "зачем писать меньше?".
guest 26.05.2010 16:59 # 0
3.14159265 26.05.2010 16:59 # 0
пора добавлять в подпись постинга
А где здесь case, %username%?
guest 26.05.2010 17:01 # 0
This is obvious 26.05.2010 17:02 # 0
DontMailshot - не стрелять в мэйл ?охщи~
Да и улыбнули (bool) на каждом шагу. +1
Lure Of Chaos 26.05.2010 17:34 # 0
guest 26.05.2010 20:06 # −4
Lure Of Chaos 26.05.2010 23:06 # 0
Nagg 26.05.2010 17:59 # 0
guest 26.05.2010 18:45 # −2
turdman 27.05.2010 16:11 # +2
(Оказывается GHC кушает unicode в именах)