本文整理汇总了C#中ISet.OrderBy方法的典型用法代码示例。如果您正苦于以下问题:C# ISet.OrderBy方法的具体用法?C# ISet.OrderBy怎么用?C# ISet.OrderBy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISet
的用法示例。
在下文中一共展示了ISet.OrderBy方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateModelloRipartizione
public ModelloRegistrazioneContabile CreateModelloRipartizione(int idCondominio, ISet<MovimentoContabile> movimenti, decimal importo, string nomeModello, string descrizioneVoceSpesa)
{
try
{
if (movimenti.Count > 0)
{
if (nomeModello.Length > 100)
nomeModello = nomeModello.Substring(0, 100);
if (!string.IsNullOrEmpty(descrizioneVoceSpesa) && descrizioneVoceSpesa.Length > 50)
descrizioneVoceSpesa = descrizioneVoceSpesa.Substring(0, 50);
var modello = new ModelloRegistrazioneContabile(_daoFactory.GetCondominioDao().GetById(idCondominio, false), nomeModello, null) { DescrizioneVoceFattura = descrizioneVoceSpesa };
decimal divisore = 1;
foreach (var movimento in movimenti.OrderBy(item => Math.Abs(item.GetImportoConSegno().GetValueOrDefault())))
{
decimal percentuale;
if (importo != 0)
percentuale = movimento.GetImportoConSegno().GetValueOrDefault() / importo;
else
{
if (divisore != 1)
percentuale = movimento.GetImportoConSegno().GetValueOrDefault() / divisore;
else
{
percentuale = movimento.GetImportoConSegno().GetValueOrDefault();
do
{
percentuale = percentuale / 10;
divisore = divisore * 10;
} while (Math.Abs(percentuale) >= 10);
}
}
var contoModello = new ContiModelloRegistrazioneContabile(modello, movimento.ContoRiferimento, movimento.SottoContoRiferimento, percentuale, null);
// -----------------------------------------------------
// Selezione per lotti
// -----------------------------------------------------
if (_lottiSelezionati.ContainsKey(GetKey(movimento)))
{
var lottiTable = _lottiSelezionati[GetKey(movimento)];
foreach (DataRow row in lottiTable.Rows)
{
if (row["Selezionato"] != DBNull.Value && (bool)row["Selezionato"])
{
new DettaglioModelloRegistrazioneContabile(contoModello, null)
{
LottoRiferimento = _daoFactory.GetLottoDao().GetById((int)row["Id"], false)
};
}
}
}
// -----------------------------------------------------
// Selezione per stabili
// -----------------------------------------------------
var selezioneStabili = false;
if (_stabiliSelezionati.ContainsKey(GetKey(movimento)))
{
var stabiliTable = _stabiliSelezionati[GetKey(movimento)];
foreach (DataRow row in stabiliTable.Rows)
{
if (row["Selezionato"] != DBNull.Value && (bool)row["Selezionato"])
{
new DettaglioModelloRegistrazioneContabile(contoModello, null)
{
PalazzinaRiferimento = _daoFactory.GetPalazzinaDao().GetById((int)row["Id"], false)
};
selezioneStabili = true;
}
}
}
// -----------------------------------------------------
// Selezione per gruppi
// -----------------------------------------------------
if (_gruppiSelezionati.ContainsKey(GetKey(movimento)) && !selezioneStabili)
{
var gruppiTable = _gruppiSelezionati[GetKey(movimento)];
foreach (DataRow row in gruppiTable.Rows)
{
if (row["Selezionato"] != DBNull.Value && (bool)row["Selezionato"])
{
new DettaglioModelloRegistrazioneContabile(contoModello, null)
{
GruppoStabileRiferimento = _daoFactory.GetGruppoStabileDao().GetById((int)row["Id"], false)
};
}
}
}
}
return modello;
}
_log.ErrorFormat("Tentativo di salvare un modello senza movimenti associati - {0} - idCondominio:{1} - nome:{2}", Utility.GetMethodDescription(), idCondominio.ToString(), nomeModello);
return null;
}
//.........这里部分代码省略.........