当前位置: 首页>>代码示例>>C#>>正文


C# ISet.OrderBy方法代码示例

本文整理汇总了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;

            }
//.........这里部分代码省略.........
开发者ID:gipasoft,项目名称:Sfera,代码行数:101,代码来源:RipartizioneSpeseService.cs


注:本文中的ISet.OrderBy方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。