ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ°.
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ Π²ΡΠ±ΠΎΡΡ ΡΡΡΠ°
ΠΠ°ΡΠΈΡΠ΅Π² Π. Π., ΠΠ΅ΡΡΠΎΠ²ΡΠΊΠΈΠΉ Π. Π. Π‘ΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ. Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ ΠΈΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ. // ΠΡΠΎΠ³ΠΈ Π½Π°ΡΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ. Π‘Π΅Ρ. Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΈΠ±Π΅ΡΠ½Π΅ΡΠΈΠΊΠ°. — Π’.21. Π.: ΠΠΠΠΠ’Π, 1987. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π² ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎ-ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π’ΡΡΠ΄Ρ ΠΠ½ΡΡΠΈΡΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π ΠΠ ΠΈΠΌ. Π. Π. Π’ΡΠ°ΠΏΠ΅Π·Π½ΠΈΠΊΠΎΠ²Π°. Π’ΠΎΠΌ VIII. Π.: ΠΠΠ£Π ΠΠ, 2000 Π³. ΠΠΈΡΠ½Π΅ΠΊΠΎΠ² Π. Π., ΠΡΡΠΈΠ»ΠΎΠ²Π° Π. Π‘… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ°. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ Π²ΡΠ±ΠΎΡΡ ΡΡΡΠ° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
- 1. ΠΠ°ΡΠΈΡΠ΅Π² Π. Π., ΠΠ΅ΡΡΠΎΠ²ΡΠΊΠΈΠΉ Π. Π. Π‘ΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ. Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ ΠΈΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ. // ΠΡΠΎΠ³ΠΈ Π½Π°ΡΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ. Π‘Π΅Ρ. Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΈΠ±Π΅ΡΠ½Π΅ΡΠΈΠΊΠ°. — Π’.21. Π.: ΠΠΠΠΠ’Π, 1987
- 2. ΠΠΈΡΠ½Π΅ΠΊΠΎΠ² Π. Π., ΠΡΡΠΈΠ»ΠΎΠ²Π° Π. Π‘., Π‘Π°ΡΠΎΠ½ΠΎΠ²Π° Π. Π., Π¨ΡΠ΅ΠΉΠ½Π±Π΅ΡΠ³ Π. Π. ΠΠ½ΠΎΠ³ΠΎΡΠ΅Π»Π΅Π²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ: Π£ΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅. — ΠΠΠΠΠ. — Π., 2002.
- 3. Π’ΡΠ°Ρ ΡΠ΅Π½Π³Π΅ΡΡ Π. Π. ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ. Π., Π‘ΠΈΠ½ΡΠ΅Π³. 2000.
- 4. ΠΡΡΡΡ Π. Π‘ΡΡΠΊΠ΅Ρ, Π‘ΡΠΈΠ²Π΅Π½ ΠΠΆ. Π‘ΡΡΠΉΠ½, Π’ΠΎΠ½ΠΈ ΠΠΎΡΡΡΠΎΠΏ. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ Windows-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Microsoft .Net Framework. ΠΏΠΈΡΠ΅Ρ 2008
- 5. ΠΠ΅ΠΉΡ Π.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π² ΡΠΈΡΡΠ΅ΠΌΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ //6-ΠΈΠ·Π΄Π°Π½ΠΈΠ΅. — ΠΠΈΠ΅Π²: ΠΠΈΠ°Π»Π΅ΠΊΡΠΈΠΊΠ°, 1998
- 6. ΠΠΎΠ½Π΄Π°ΡΠ΅Π² Π. Π., Π ΡΠ±Π»ΠΈΠ½Π΅ΡΠΊΠΈΠΉ Π. Π., ΠΠ°ΡΠΊΠΎ Π. Π. ΠΡΠ½ΠΎΠ²Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. — Π₯Π°ΡΡΠΊΠΎΠ²: Π€ΠΎΠ»ΠΈΠΎ, Π ΠΎΡΡΠΎΠ² Π½/Π: Π€Π΅Π½ΠΈΠΊΡ, 1997.
- 7. ΠΠ°ΡΠ»ΠΈ ΠΠ°ΡΡΠΎΠ½ — Π‘#, ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ «ΠΠΎΡΠΈ», ΠΠΎΡΠΊΠ²Π°, 2005.
- 8. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π² ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎ-ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π’ΡΡΠ΄Ρ ΠΠ½ΡΡΠΈΡΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π ΠΠ ΠΈΠΌ. Π. Π. Π’ΡΠ°ΠΏΠ΅Π·Π½ΠΈΠΊΠΎΠ²Π°. Π’ΠΎΠΌ VIII. Π.: ΠΠΠ£Π ΠΠ, 2000 Π³.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
using System;
using System.Collections.Generic;
using System. Linq;
using System.Windows.Forms;
using System. IO;
using System. Xml;
using System.Data.OleDb;
using System. Data;
namespace DiplomProject.
{.
public class AlternativeComparer: IComparer.
{.
public int Compare (Altarnative x, Altarnative y).
{.
return x.Weight.CompareTo (y.Weight);
}.
}.
static class Program.
{.
static List _criterias;
static OleDbConnection _connection = null;
static List _alternatives = null;
[STAThread].
static void Main (string[] args).
{.
ReadAlternatives ();
// Π§ΠΈΡΠ°Π΅ΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π°.
ReadCriteria ();
// ΠΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
InputClientValues ();
// Π Π°ΡΡΡΠΈΡΡΠ²Π°Π΅ΠΌ Π²Π΅ΡΠ° Π΄Π»Ρ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π².
CalculateCriteriaWeights ();
// Π Π°ΡΡΡΠΈΡΡΠ²Π°Π΅ΠΌ Π²Π΅ΡΠ° Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π².
foreach (Criteria criteria in _criterias).
{.
CalculateValueWeights (criteria);
Console.WriteLine (string.Format («ΠΠ΅Ρ ΠΊΡΠΈΡΠ΅ΡΠΈΡ {0}: {1}», criteria.Name, criteria.Weight.ToString () + Environment. NewLine));
foreach (CriteriaValue cvalue in criteria. Values).
{.
Console.WriteLine (string.Format («ΠΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ {0}: {1}», cvalue.Name, cvalue.Weight.ToString () + Environment. NewLine));
}.
}.
_alternatives.Sort (new AlternativeComparer ());
Console.WriteLine («____________________________________________________» + Environment. NewLine);
for (int i = _alternatives.Count-1; i >= 0; i—).
{.
Altarnative alt = _alternatives[i];
CalculateAlternativeWeight (alt);
Console.WriteLine (string.Format («ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° {0} | ΠΠ΅Ρ {1}», alt.Name, alt.Weight.ToString () + Environment. NewLine));
}.
Console.WriteLine («ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π»ΡΠ±ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ»);
Console.ReadLine ();
}.
/// ΠΠΎΡΡΠΈΡΠ°ΡΡ Π²Π΅Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ.
/// ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°.
static void CalculateAlternativeWeight (Altarnative alt).
{.
for (int i = 0; i < alt.Values.Count; i++).
{.
Criteria criteria = _criterias[i];
decimal v = FindValue (alt.Values[i], criteria);
alt.Weight += (criteria.Weight * v);
}.
}.
static decimal FindValue (string alternativeValue, Criteria criteria).
{.
foreach (CriteriaValue cv in criteria. Values).
{.
if (cv.Name.ToUpper () == alternativeValue. ToUpper ()).
{.
return cv. Weight;
}.
}.
return -1;
}.
static string GetNameByValueForCoastAlternative (int val).
{.
if (val > 0 && val <= 5000) return «Π΄ΠΎ 5 ΡΡΡ. ΡΡΠ±.» ;
if (val > 5000 && val <= 10 000) return «Π΄ΠΎ 10 ΡΡΡ. ΡΡΠ±.» ;
if (val > 10 000 && val <= 20 000) return «Π΄ΠΎ 20 ΡΡΡ. ΡΡΠ±.» ;
if (val > 20 000 && val <= 30 000) return «Π΄ΠΎ 30 ΡΡΡ. ΡΡΠ±.» ;
if (val > 30 000) return «Π±ΠΎΠ»Π΅Π΅ 30 ΡΡΡ. ΡΡΠ±.» ;
return val. ToString ();
}.
static string GetNameByValueForDurationAlternative (double val).
{.
if (val > 0 && val < 1) return «ΠΌΠ΅Π½Π΅Π΅ ΡΡΡΠΎΠΊ» ;
if (val > 1 && val <= 4) return «1−4 Π΄Π½Π΅ΠΉ» ;
if (val > 4 && val <= 10) return «5−10 Π΄Π½Π΅ΠΉ» ;
if (val > 10) return «ΠΎΡ 10 Π΄Π½Π΅ΠΉ» ;
return val. ToString ();
}.
static string GetNameByValueForTripDurationAlternative (int val).
{.
if (val > 0 && val <= 3) return «0−3 ΡΠ°ΡΠ°» ;
if (val > 3 && val <= 6) return «3−6 ΡΠ°ΡΠΎΠ²» ;
if (val > 6 && val <= 12) return «6−12 ΡΠ°ΡΠΎΠ²» ;
if (val > 12 && val <= 24) return «12−24 ΡΠ°ΡΠ°» ;
if (val > 24) return «ΠΠΎΠ»Π΅Π΅ ΡΡΡΠΎΠΊ» ;
return val. ToString ();
}.
/// Π‘ΡΠΈΡΠ°ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΠΈΠ· ΠΠ.
static void ReadAlternatives ().
{.
_alternatives = new List ();
SetConnection ();
if (_connection.State == ConnectionState. Open).
{.
OleDbCommand com = new OleDbCommand («SELECT * FROM Π’Π°Π±Π»ΠΈΡΠ°1», _connection);
OleDbDataReader reader = com. ExecuteReader ();
while (reader.Read ()).
{.
Altarnative alt = new Altarnative ();
alt.Name = reader[1]. ToString ();
alt.Values.Add (reader[2]. ToString ());
alt.Values.Add (GetNameByValueForCoastAlternative (Int32.Parse (reader[3]. ToString ())));
alt.Values.Add (reader[4]. ToString ());
alt.Values.Add (reader[5]. ToString ());
alt.Values.Add (GetNameByValueForDurationAlternative (Double.Parse (reader[6]. ToString ())));
alt.Values.Add (GetNameByValueForTripDurationAlternative (Int32.Parse (reader[7]. ToString ())));
alt.Values.Add (reader[8]. ToString ());
alt.Values.Add (reader[9]. ToString ());
alt.Values.Add (reader[10]. ToString ());
alt.Values.Add (reader[11]. ToString ());
_alternatives.Add (alt);
}.
}.
}.
/// Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΠΠ.
static void SetConnection ().
{.
_connection = new OleDbConnection (@" Provider=Microsoft.ACE.OLEDB.12.0;Data Source=.Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ.accdb");
_connection.Open ();
}.
/// Π‘ΡΠΈΡΠ°ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΡΠΏΠΈΡΠΎΠΊ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π².
static void ReadCriteria ().
{.
_criterias = new List ();
FileStream stream = new FileStream («Criterias.xml», FileMode. Open);
XmlDocument doc = new XmlDocument ();
doc.Load (stream);
XmlElement root = doc. DocumentElement;
foreach (XmlNode node in root. ChildNodes).
{.
Criteria criteria = new Criteria ();
criteria.Name = node. Attributes[0]. Value;
foreach (XmlNode childNode in node. ChildNodes).
{.
foreach (XmlAttribute attr in childNode. Attributes).
{.
CriteriaValue criteriaValue = new CriteriaValue ();
criteriaValue.Name = attr. Value;
criteria.Values.Add (criteriaValue);
}.
}.
_criterias.Add (criteria);
}.
}.
/// ΠΠ²Π΅ΡΡΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΏΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ ΠΈ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ.
static void InputClientValues ().
{.
foreach (Criteria criteria in _criterias).
{.
Console.WriteLine (string.Format («ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΎΡΠ΅Π½ΠΊΡ ΠΏΠΎ Π΄Π΅ΡΡΡΠΈΠ±Π°Π»Π»ΡΠ½ΠΎΠΉ ΡΠΊΠ°Π»Π΅ Π΄Π»Ρ ΠΊΡΠΈΡΠ΅ΡΠΈΡ {0}», criteria.Name));
bool isCorrectInput = false;
// ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ Π·Π½Π°ΡΠΈΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡ.
while (!isCorrectInput).
{.
isCorrectInput = Int32. TryParse (Console.ReadLine (), out criteria. ClientValue) && criteria. ClientValue >= 1 && criteria. ClientValue <= 10;
if (!isCorrectInput).
Console.WriteLine («ΠΠ΅Π²Π΅ΡΠ½ΡΠΉ Π²Π²ΠΎΠ΄!»);
}.
foreach (CriteriaValue val in criteria. Values).
{.
Console.WriteLine (string.Format («ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΎΡΠ΅Π½ΠΊΡ ΠΏΠΎ Π΄Π΅ΡΡΡΠΈΠ±Π°Π»Π»ΡΠ½ΠΎΠΉ ΡΠΊΠ°Π»Π΅ Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ {0}», val.Name));
isCorrectInput = false;
while (!isCorrectInput).
{.
isCorrectInput = Int32. TryParse (Console.ReadLine (), out val. ClientValue) && val. ClientValue >= 1 && val. ClientValue <= 10;
if (!isCorrectInput).
Console.WriteLine («ΠΠ΅Π²Π΅ΡΠ½ΡΠΉ Π²Π²ΠΎΠ΄!»);
}.
}.
}.
}.
/// ΠΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΎΠ² ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π².
static void CalculateCriteriaWeights ().
{.
foreach (Criteria criteria in _criterias).
{.
PreCulculateCriteriaWeight (criteria);
}.
decimal criteriaSumm = CulculateCriteriaSumm ();
if (criteriaSumm > 0).
{.
foreach (Criteria criteria in _criterias).
{.
criteria.Weight = criteria. TempCriteriaWeight / criteriaSumm;
}.
}.
}.
static void CalculateValueWeights (Criteria criteria).
{.
foreach (CriteriaValue val in criteria. Values).
{.
PreCulculateValueWeight (criteria, val);
}.
decimal valueSumm = CulculateValueSumm (criteria);
if (valueSumm > 0).
{.
foreach (CriteriaValue val in criteria. Values).
{.
val.Weight = val. TempValueWeight / valueSumm;
}.
}.
}.
/// ΠΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠ°.
static void PreCulculateCriteriaWeight (Criteria criteria).
{.
decimal summ = 0;
foreach (Criteria c in _criterias).
{.
summ += GetValueFromInterval (criteria.ClientValue, c. ClientValue);
}.
criteria.TempCriteriaWeight = (decimal)Math.Pow ((double)summ, (double)1 / _criterias.Count);
}.
static void PreCulculateValueWeight (Criteria criteria, CriteriaValue val).
{.
decimal summ = 0;
foreach (CriteriaValue v in criteria. Values).
{.
summ += GetValueFromInterval (val.ClientValue, v. ClientValue);
}.
val.TempValueWeight = (decimal)Math.Pow ((double)summ, (double)1 / criteria.Values.Count);
}.
static decimal CulculateCriteriaSumm ().
{.
decimal summ = 0;
foreach (Criteria criteria in _criterias).
summ += criteria. TempCriteriaWeight;
return summ;
}.
static decimal CulculateValueSumm (Criteria criteria).
{.
decimal summ = 0;
foreach (CriteriaValue val in criteria. Values).
summ += val. TempValueWeight;
return summ;
}.
static decimal GetValueFromInterval (int k1, int k2).
{.
double res = k1 / k2;
if (res >= 0 && res < 0.25) return 1 / 9;
if (res >= 0.25 && res < 0.45) return 1 / 7;
if (res >= 0.45 && res < 0.65) return 1 / 5;
if (res >= 0.65 && res < 0.85) return 1 / 3;
if (res >= 0.85 && res < 1.5) return 1;
if (res >= 1.5 && res < 3.5) return 3;
if (res >= 3.5 && res < 5.5) return 5;
if (res >= 5.5 && res < 7.5) return 7;
if (res >= 7.5 && res < 10) return 9;
return -1;
}.
}.
}.
// ———————————————————————————————————;
// TODO: Update copyright text.
// ———————————————————————————————————;
namespace DiplomProject.
{.
using System;
using System.Collections.Generic;
using System. Linq;
using System. Text;
/// TODO: Update summary.
public class Criteria.
{.
public string Name;
public List Values = new List ();
public int ClientValue;
public decimal TempCriteriaWeight;
public decimal Weight;
}.
}.
// ———————————————————————————————————;
// TODO: Update copyright text.
// ———————————————————————————————————;
namespace DiplomProject.
{.
using System;
using System.Collections.Generic;
using System. Linq;
using System. Text;
/// TODO: Update summary.
public class CriteriaValue.
{.
public string Name;
public int ClientValue;
public decimal TempValueWeight;
public decimal Weight;