コード例 #1
0
 public void InsertRow(int numrows = 1)
 {
     if (numrows < 0)
     {
         throw new Exception("Invalid number of rows to be generated");
     }
     else if (ColumnFormat.Split(';').Count() != Columns && !string.IsNullOrEmpty(ColumnFormat))
     {
         throw new Exception("Invalid ColumnFormat for the number of Columns");
     }
     else
     {
         for (int i = 0; i < numrows; i++)
         {
             int      rowindex = Rows.Count - 1;
             TableRow row      = new TableRow();
             for (int j = 0; j < Columns; j++)
             {
                 row.Cells.Add(GenerateCell(rowindex, j));
             }
             row.Style.Add(HtmlTextWriterStyle.BackgroundColor, (rowindex % 2 == 0 ? RowColor.ToString() : RowAlternatingColor.ToString()));
             Rows.Add(row);
         }
         CurrentRows = Rows.Count - 1;
         DataBind();
     }
 }
コード例 #2
0
        private static int GetMaxWidth(ColumnFormat format)
        {
            object maxVal;
            object minVal;

            if (format.Type == typeof (double))
            {
                maxVal = 999999999999d;
                minVal = -999999999999d;
            }
            else if (format.Type == typeof (float))
            {
                maxVal = 999999999f;
                minVal = -999999999f;
            }
            else
            {
                var maxValMember = format.Type.GetField("MaxValue");
                if (maxValMember == null)
                    maxVal = int.MaxValue;
                else
                    maxVal = maxValMember.GetValue(null);

                var minValMember = format.Type.GetField("MinValue");
                if (minValMember == null)
                    minVal = int.MinValue;
                else
                    minVal = minValMember.GetValue(null);

            }
            return Math.Max(ValueFormatter.Format(format, maxVal).Length, ValueFormatter.Format(format, minVal).Length);
        }
コード例 #3
0
ファイル: DefaultsTask.cs プロジェクト: ramarag/XTask
        protected virtual ExitCode ListSettings(IClientSettings clientSettings)
        {
            Table table = Table.Create(ColumnFormat.FromCount(2));

            table.HasHeader = true;
            table.AddRow(XTaskStrings.ConfigurationTypeColumn, XTaskStrings.ConfigurationLocationColumn);
            foreach (SettingsLocation location in new SettingsLocation[] { SettingsLocation.Local, SettingsLocation.Roaming, SettingsLocation.RunningExecutable })
            {
                table.AddRow(location.ToString(), clientSettings.GetConfigurationPath(location) ?? XTaskStrings.NoValue);
            }

            this.Loggers[LoggerType.Result].Write(table);
            this.Loggers[LoggerType.Result].WriteLine();

            List <ClientSetting> settings =
                (
                    from setting in clientSettings.GetAllSettings()
                    orderby setting.Name
                    orderby setting.Location
                    select setting
                ).ToList();

            this.Loggers[LoggerType.Result].WriteLine(XTaskStrings.DefaultsCount, settings.Count);
            table           = Table.Create(ColumnFormat.FromCount(3));
            table.HasHeader = true;
            table.AddRow(XTaskStrings.DefaultsSettingColumnHeader, XTaskStrings.DefaultsLocationColumnHeader, XTaskStrings.DefaultsValueColumnHeader);

            foreach (ClientSetting setting in settings)
            {
                table.AddRow(setting.Name, setting.Location.ToString(), setting.Value.ToString());
            }

            this.Loggers[LoggerType.Result].Write(table);
            return(ExitCode.Success);
        }
コード例 #4
0
        public void TooSmallWidthScale()
        {
            ColumnFormat[] columns = ColumnFormat.FromWidths(4, 6);
            Action         action  = () => ColumnFormat.ScaleColumnWidths(1, columns);

            action.Should().Throw <ArgumentException>()
            .And.ParamName.Should().Be("fullWidth");
        }
コード例 #5
0
        /// <summary>
        /// Stellt eine vereinfachte Ausgabe auf der Konsole dar.
        /// </summary>
        public SimpleConsole()
        {
            m_columns = new ColumnFormat[80];
            for (int i = 0; i < m_columns.Length; i++)
            {
                m_columns[i].Reset();
            }

            ResetInternal(false);
        }
コード例 #6
0
        protected TableCell GenerateCell(int rowindex, int columnindex)
        {
            TableCell cell = new TableCell();

            cell.Controls.Add(new TextBox {
                ID       = "Box_" + rowindex + "_" + columnindex,
                TextMode = FormatTextBox(ColumnFormat.Split(';')[columnindex], columnindex)
            });

            return(cell);
        }
コード例 #7
0
 public Column(string name, ColumnFormat fmt, Type type, Guid fmtid, int pid, int width, bool defaultVisible, bool slow)
 {
     this.name           = name;
     this.fmt            = fmt;
     this.type           = type;
     this.fmtid          = fmtid;
     this.pid            = pid;
     this.width          = width;
     this.defaultVisible = defaultVisible;
     this.slow           = slow;
 }
コード例 #8
0
ファイル: TextTableLoggerTests.cs プロジェクト: ramarag/XTask
        public void MinRoomHeader()
        {
            Table table = Table.Create(ColumnFormat.FromCount(3));

            table.AddRow("One", "Two", "Three");
            table.AddRow("Four", "Five", "Six");

            TextTableLoggerTester logger = new TextTableLoggerTester(6);

            logger.Write(table);
            logger.Output.ToString().Should().Be("O T T\r\n- - -\r\nF F S\r\n");
        }
コード例 #9
0
ファイル: TextTableLoggerTests.cs プロジェクト: ramarag/XTask
        public void SimpleOutputNoHeader()
        {
            Table table = Table.Create(ColumnFormat.FromCount(3));

            table.HasHeader = false;
            table.AddRow("One", "Two", "Three");
            table.AddRow("Four", "Five", "Six");

            TextTableLoggerTester logger = new TextTableLoggerTester(40);

            logger.Write(table);
            logger.Output.ToString().Should().Be("One   Two   Three\r\nFour  Five  Six\r\n");
        }
コード例 #10
0
ファイル: SourceList.cs プロジェクト: catwise/SourceComparer
            private NameEntry CreateNameEntry(
                string name,
                ColumnFormat format,
                Unit unit,
                string nullSpecifier)
            {
                if (unit == Unit.Degrees || unit == Unit.ArcSeconds)
                {
                    format = ColumnFormat.Angle;
                }

                return(new NameEntry(
                           name,
                           format,
                           unit,
                           nullSpecifier));
            }
コード例 #11
0
        private string getFormatsColumn(ColumnFormat format)
        {
            string curFormat = "@";

            switch (format)
            {
            case ColumnFormat.Text: curFormat = "@";
                break;

            case ColumnFormat.Numeric: curFormat = "0";
                break;

            case ColumnFormat.Date: curFormat = "DD.MM.YYYY";
                break;
            }
            return(curFormat);
        }
コード例 #12
0
ファイル: SourceList.cs プロジェクト: catwise/SourceComparer
            private IReadOnlyList <ColumnFormat> GetFormats(string line)
            {
                var names = GetNames(line);

                var formats = new ColumnFormat[names.Count];

                MultithreadHelper.For(
                    Multithreaded,
                    0,
                    formats.Length,
                    Iteration);

                return(formats);

                void Iteration(int index)
                {
                    formats[index] = GetColumnFormat(names[index]);
                }
            }
コード例 #13
0
 /// <param name="dataType" />
 /// <param name="notNull" />
 /// <param name="defaultVal">might be null</param>
 /// <param name="autoIncrement" />
 /// <param name="specialIndex">might be null</param>
 /// <param name="comment">might be null</param>
 /// <param name="columnFormat">might be null</param>
 public ColumnDefinition(DataType dataType,
                         bool notNull,
                         IExpression defaultVal,
                         bool autoIncrement,
                         SpecialIndex specialIndex,
                         LiteralString comment,
                         ColumnFormat columnFormat)
 {
     if (dataType == null)
     {
         throw new ArgumentException("data type is null");
     }
     DataType        = dataType;
     IsNotNull       = notNull;
     DefaultVal      = defaultVal;
     IsAutoIncrement = autoIncrement;
     SpecialIndex    = specialIndex;
     Comment         = comment;
     ColumnFormat    = columnFormat;
 }
コード例 #14
0
 /// <param name="dataType" />
 /// <param name="notNull" />
 /// <param name="defaultVal">might be null</param>
 /// <param name="autoIncrement" />
 /// <param name="specialIndex">might be null</param>
 /// <param name="comment">might be null</param>
 /// <param name="columnFormat">might be null</param>
 public ColumnDefinition(DataType dataType,
                         bool notNull,
                         IExpression defaultVal,
                         bool autoIncrement,
                         SpecialIndex specialIndex,
                         LiteralString comment,
                         ColumnFormat columnFormat)
 {
     if (dataType == null)
     {
         throw new ArgumentException("data type is null");
     }
     DataType = dataType;
     IsNotNull = notNull;
     DefaultVal = defaultVal;
     IsAutoIncrement = autoIncrement;
     SpecialIndex = specialIndex;
     Comment = comment;
     ColumnFormat = columnFormat;
 }
コード例 #15
0
        private static object GetValue(
            string text,
            ColumnFormat format,
            Unit unit,
            string nullSpecifier)
        {
            if (text == nullSpecifier)
            {
                if (format == ColumnFormat.Double)
                {
                    return(Double.NaN);
                }

                return(null);
            }

            if (ParseDictionary.TryGetValue(format, out var parse))
            {
                return(parse(text, unit));
            }

            return(null);
        }
        private static void ApplyColumnFormat(
            this Range wholeColumnRange,
            Range dataCellsRange,
            Range lastHeaderCellToLastNonSummaryDataCellRange,
            ColumnFormat columnFormat)
        {
            if (columnFormat == null)
            {
                return;
            }

            var implementedProperties = new[]
            {
                nameof(ColumnFormat.CellsFormat),
                nameof(ColumnFormat.WidthInPixels),
                nameof(ColumnFormat.AutofitColumnWidth),
                nameof(ColumnFormat.Options),
            };

            columnFormat.ThrowOnNotImplementedProperty(implementedProperties);

            dataCellsRange.ApplyCellFormat(columnFormat.CellsFormat);

            wholeColumnRange.SetPerColumnWidthInPixels(columnFormat.WidthInPixels);

            // Apply options before auto-fitting, in case options change width of column (e.g. filtering)
            wholeColumnRange.ApplyColumnFormatOptions(lastHeaderCellToLastNonSummaryDataCellRange, columnFormat.Options);

            if (columnFormat.AutofitColumnWidth == true)
            {
                wholeColumnRange.Worksheet.AutoFitColumn(
                    lastHeaderCellToLastNonSummaryDataCellRange.FirstColumn,
                    lastHeaderCellToLastNonSummaryDataCellRange.FirstRow,
                    lastHeaderCellToLastNonSummaryDataCellRange.FirstRow + lastHeaderCellToLastNonSummaryDataCellRange.RowCount - 1);
            }
        }
コード例 #17
0
ファイル: Telerik.cs プロジェクト: allenm84/ml-common
        /// <summary>
        ///
        /// </summary>
        /// <param name="listView"></param>
        /// <param name="column"></param>
        /// <param name="format"></param>
        public static void SetColumnFormat(this RadListView listView, string column, string format)
        {
            if (!ColumnFormat.listViews.Contains(listView))
            {
                ColumnFormat.listViews.Add(listView);
            }

            var value = new ColumnFormat {
                listView = listView, column = column, format = format
            };
            var index = columnFormats.BinarySearch(value);

            if (index < 0)
            {
                columnFormats.Insert(~index, value);
            }
            else
            {
                columnFormats[index] = value;
            }

            listView.CellFormatting -= new ListViewCellFormattingEventHandler(listView_CellFormatting);
            listView.CellFormatting += new ListViewCellFormattingEventHandler(listView_CellFormatting);
        }
コード例 #18
0
ファイル: NameEntry.cs プロジェクト: catwise/SourceComparer
        public NameEntry(
            string name,
            ColumnFormat format,
            Unit units,
            string nullSpecifier)
        {
            Name = name ??
                   throw new ArgumentNullException(nameof(name));

            if (!Enum.IsDefined(typeof(ColumnFormat), format))
            {
                throw new InvalidEnumArgumentException(
                          nameof(format),
                          (int)format,
                          typeof(ColumnFormat));
            }

            Format = format;

            if (!Enum.IsDefined(typeof(Unit), units))
            {
                throw new InvalidEnumArgumentException(
                          nameof(units),
                          (int)units,
                          typeof(Unit));
            }

            Units = units;

            if (Format == ColumnFormat.Double && Units == Unit.ModifiedJulianDate)
            {
                Format = ColumnFormat.ModifiedJulianDate;
            }

            NullSpecifier = nullSpecifier;
        }
コード例 #19
0
        /// <summary>
        /// Appelé lorsque l'utilisateur clique sur le bouton d'export excel
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">Les <see cref="RoutedEventArgs"/> contenant les données de l'évènement.</param>
        private async void OnExportExcelClick(object sender, RoutedEventArgs e)
        {
            var formats = new Dictionary <ColumnFormat, ExportFormatBehavior>();

            IEnumerable <DataGridColumn> columns;

            if (_target is DlhSoft.Windows.Controls.GanttChartDataGrid)
            {
                columns = ((DlhSoft.Windows.Controls.GanttChartDataGrid)_target).Columns;
            }
            else
            {
                columns = _target.Columns;
            }

            var sortedVisibileColumns = columns
                                        .Where(c => c.Visibility == Visibility.Visible)
                                        .OrderBy(c => c.DisplayIndex)
                                        .ToArray();

            // On crée les formats compatibles avec l'exporter.
            foreach (DataGridColumn column in sortedVisibileColumns)
            {
                ColumnFormat         excelFormat = new ColumnFormat();
                ExportFormatBehavior format      = Interaction.GetBehaviors(column).OfType <ExportFormatBehavior>().FirstOrDefault();

                if (format != null &&
                    format.Binding != null)
                {
                    excelFormat.Header   = format.Header ?? (column.Header != null ? column.Header.ToString() : string.Empty);
                    formats[excelFormat] = format;
                }
            }

            var data = new List <CellContent[]>();

            // On récupère les données grâce aux bindings
            foreach (object item in _target.Items)
            {
                CellContent[] row = new CellContent[formats.Count];

                int i = 0;
                foreach (var kvp in formats)
                {
                    var excelFormat = kvp.Key;
                    var behavior    = kvp.Value;
                    // Appliquer le binding
                    var element = new FrameworkElement
                    {
                        DataContext = item
                    };
                    BindingOperations.SetBinding(element, CellContentProperty, behavior.Binding);
                    object value = element.GetValue(CellContentProperty);
                    BindingOperations.ClearBinding(element, CellContentProperty);

                    row[i] = value?.ToString();

                    i++;
                }

                data.Add(row);
            }

            // Affiche la fenêtre de confirmation
            var result = IoC.Resolve <IDialogFactory>().GetDialogView <IExportDialog>().ShowExportToExcel(ExcelFormat.Xlsm);

            // On sauvegarde
            if (result.Accepts)
            {
                try
                {
                    string        fileName = ExcelExporter.GetFileNameWithExtension(result.Filename);
                    ExcelExporter file     = await ExcelExporter.Create(fileName);

                    WorksheetPart sheet = file.CreateSheet(LocalizationManager.GetString("DataGrid_ExcelExportSheetName"));
                    file.AddTable(sheet, formats.Keys.ToArray(), data.ToArray());
                    file.SaveAndClose();

                    if (result.OpenWhenCreated)
                    {
                        System.Diagnostics.Process.Start(fileName);
                    }
                }
                catch (ExcelExporter.FileAlreadyInUseExeption ex)
                {
                    TraceManager.TraceError(ex, ex.Message);
                    // Une notification a déjà été affichée dans ce cas précis
                }
                catch (Exception ex)
                {
                    TraceManager.TraceError(ex, ex.Message);
                    IoC.Resolve <IDialogFactory>().GetDialogView <IErrorDialog>().Show(ex.Message, LocalizationManager.GetString("Common_Error"), ex);
                }
            }
        }
コード例 #20
0
 public void IdentityScale()
 {
     ColumnFormat[] columns   = ColumnFormat.FromWidths(1, 1, 1);
     int[]          evenScale = ColumnFormat.ScaleColumnWidths(3, columns);
     evenScale.Should().ContainInOrder(1, 1, 1);
 }
コード例 #21
0
 public static int Min(ColumnFormat format)
 {
     return Math.Min(ValueFormatter.Format(format, true).Length,
         ValueFormatter.Format(format, false).Length);
 }
コード例 #22
0
ファイル: CCSListView.cs プロジェクト: vvFiCKvv/CCDetector
 public void addColumn(String _text , ColumnFormat _format)
 {
     this.Columns.Add(_text);
     this.ColumnFormatList.Add(_format);
 }
コード例 #23
0
ファイル: AOIFileParser.cs プロジェクト: windygu/.net-wms
        /// <summary>
        /// Laws Lu
        /// 2005/09/14
        /// 解析AOI文件格式
        /// </summary>
        new protected void AssignData()
        {
            if (!(((Array)_data.Content[0]).Length > 1))
            {
                return;                                                   //如果是空行,不操作]
            }
            int len = _format.ObjectMap.ColumnFormats.Length;

            Type type = Type.GetType(_format.ObjectMap.ObjectTypeName);

            object obj = type.Assembly.CreateInstance(_format.ObjectMap.ObjectTypeName.Split(new char[] { ',' })[0].ToString());

            string objValue = string.Empty;

            for (int i = 0; i < len; i++)
            {
                ColumnFormat col           = _format.ObjectMap.ColumnFormats[i];
                string       attributeName = col.AttributeName;
                string       columnName    = col.ColumnName;

                switch (col.DataSource)
                {
                case DataSource.FileName:
                    objValue = GetSubString(_data.GetFileName(col.DataLine, col.DataColumn), col.DataStringFrom, col.DataStringTo);
                    break;

                case DataSource.Header:
                    objValue = GetSubString(_data.GetHeader(col.DataLine, col.DataColumn), col.DataStringFrom, col.DataStringTo);;
                    break;

                case DataSource.Content:
                    if (i >= 8)
                    {
                        int iCurrentColumn = pCodePosition + 1;
                        //Get extend information
                        for (int iErrorCode = iCurrentColumn; iErrorCode < iTotalColumns; iErrorCode++)
                        {
                            objValue = objValue + GetSubString(_data.GetContent(col.DataLine, iErrorCode /*col.DataColumn*/), col.DataStringFrom, col.DataStringTo) + ",";
                        }
                    }
                    else
                    {
                        objValue = GetSubString(_data.GetContent(col.DataLine, col.DataColumn), col.DataStringFrom, col.DataStringTo);
                    }
                    break;

                case DataSource.DefaultValue:
                    objValue = col.Default;
                    break;

                default:
                    objValue = col.Default;
                    break;
                }

                if (objValue == string.Empty)
                {
                    objValue = col.Default;
                }

                // 数据强行转换

                if (col.DataType == DataType.Int)
                {
                    objValue = this.ConvertToInt(objValue).ToString();
                }

                if (col.DataType == DataType.Float)
                {
                    objValue = this.ConvertToFloat(objValue).ToString();
                }

                if (col.DataType == DataType.DateTime)
                {
                    objValue = this.ConvertToDateTimeFloat(objValue).ToString("#");
                }

                if (col.DataType == DataType.Date)
                {
                    objValue = this.ConvertToDateFloat(objValue).ToString("#");
                }

                if (col.DataType == DataType.Time)
                {
                    objValue = this.ConvertToTimeFloat(objValue).ToString("#");
                }


//				if(i >= 8)
//				{
//					objValue = objValue.Split(new char[]{',','0',',','0',',','0',','});
//				}
//				else
//				{	//sign error code
                if (objValue != String.Empty && objValue.Substring(objValue.Length - 1, 1) == ",")
                {
                    objValue = objValue.Substring(0, objValue.Length - 1);
                    if (objValue != String.Empty && objValue.IndexOf(ErrorCodeSplitSymbol) >= 0)
                    {
                        objValue = objValue.Replace(ErrorCodeSplitSymbol, "|");
                    }
                }

                BenQGuru.eMES.Common.Domain.DomainObjectUtility.SetValue(obj, attributeName, objValue);

                objValue = String.Empty;
//				}
            }


            // vizo 2005-04-14
            // 多加了一个委托的判断

            bool objectValid = true;

            if (this.CheckValidHandle != null)
            {
                objectValid = this.CheckValidHandle(obj);
            }

            // 如果 object 是无效的,不操作
            if (objectValid)
            {
                _ary.Add(obj);

                if (_format.SaveDataDirectly)
                {
                    _dataProvider.Insert(obj);
                }
            }
        }
コード例 #24
0
        public void SetColumnType(string col, ColumnFormat format, string endIndex)
        {
            Range rangeCol = activeSheet.get_Range(col + "1", col + endIndex);

            rangeCol.NumberFormat = getFormatsColumn(format);
        }
コード例 #25
0
 public void DistributedMinimumScale(int first, int second, int third)
 {
     ColumnFormat[] columns   = ColumnFormat.FromWidths(first, second, third);
     int[]          evenScale = ColumnFormat.ScaleColumnWidths(3, columns);
     evenScale.Should().ContainInOrder(1, 1, 1);
 }
コード例 #26
0
 public Column(string name, ColumnFormat fmt, int width)
     : this(name, fmt, typeof(string), Guid.Empty, -1, width, true, false)
 {
 }
コード例 #27
0
        private static int CompareValues(ColumnFormat columnFormat, string xValue, string yValue, ListViewItem itemX, ListViewItem itemY)
        {
            if (columnFormat == ColumnFormat.Text) return String.Compare(xValue, yValue, StringComparison.OrdinalIgnoreCase);
            if (columnFormat == ColumnFormat.Date) return CompareDates(xValue, yValue);
            if (columnFormat == ColumnFormat.Numeric) return CompareNumeric(xValue, yValue);
            if (columnFormat == ColumnFormat.Currency) return CompareCurrency(xValue, yValue);
            if (columnFormat == ColumnFormat.Tag) return CompareTags(itemX, itemY);

            return 0;
        }
コード例 #28
0
        public static ColumnFormat FormatColumn(GridSettingViewModel type, string primaryKey, Func <string, string, string, bool> hasAccess)
        {
            var width = "100";

            if (type.GridColumnWidth.HasValue)
            {
                width = type.GridColumnWidth.Value.ToString(CultureInfo.InvariantCulture) + "px";
            }

            var columnFormat = new ColumnFormat
            {
                field      = type.DataSourceEntityColumnName,
                title      = type.GridHeaderTitle,
                filterable = type.GridColumnFilterable,
                sortable   = type.GridColumnSortable,
                locked     = GetLocked(type),
                lockable   = GetLockable(type),
                width      = width,
                groupable  = type.GridColumnGroupable,
                menu       = type.GridColumnMenu,
            };

            switch (type.GridCellType)
            {
            case "ActionLink":
                columnFormat.template = CreateActionLink(type, primaryKey, hasAccess);
                break;

            case "LinkModal":
                columnFormat.template = CreateLinkModal(type, primaryKey, hasAccess);
                break;

            case "CheckBox":
                columnFormat.template = CreateGridCheckBox(type);
                break;

            case "LinkDetails":
                columnFormat.template = CreateCustomLinkDetails(type, primaryKey);
                break;

            case "LinkPlane":
                columnFormat.template = CreateCustomLinkPlane(type, primaryKey);
                break;

            case "Date":
                columnFormat.template = ParseDate(type);
                break;

            case "DateGroupable":
                columnFormat.template = ParseDateGroupable(type);
                break;

            case "LinkDateModal":
                columnFormat.template = ParseLinkDateModal(type, primaryKey);
                break;

            case "LinkNewTab":
                columnFormat.template = CreateLinkNewTab(type, primaryKey);
                break;
            }
            return(columnFormat);
        }
コード例 #29
0
        /// <summary>
        /// Exporte les solutions.
        /// </summary>
        /// <param name="scenario">Le scénario.</param>
        /// <param name="cellReference">La référence de la cellule.</param>
        /// <param name="file">Le fichier.</param>
        /// <param name="sheet">La feuille.</param>
        private void ExportSolutions(Scenario scenario, CellReference cellReference, WorksheetPart sheet)
        {
            ITimeTicksFormatService timeFormatService = IoC.Resolve <IServiceBus>().Get <ITimeTicksFormatService>();
            long timeScale = _data.Project.TimeScale;

            List <SolutionWrapper> solutions = new List <SolutionWrapper>();

            foreach (var solution in scenario.Solutions.OrderBy(s => s.SolutionDescription))
            {
                var w = CreateSolutionWrapper(scenario.Actions, solution);
                solutions.Add(w);
            }

            var originalScenario = scenario.Original;

            while (originalScenario != null)
            {
                // Déterminer les actions qui sont concernées
                var originalActions = originalScenario.Actions.Where(originalAction =>
                                                                     scenario.Actions.Any(currentScenarioAction =>
                                                                                          ScenarioActionHierarchyHelper.IsAncestor(originalAction, currentScenarioAction)));

                foreach (var solution in originalScenario.Solutions.OrderBy(s => s.SolutionDescription))
                {
                    var wrapper = CreateSolutionWrapper(originalActions, solution);
                    // Ignorer les solutions qui n'apportent pas de gain. C'est un surplus d'infos inutile
                    if (wrapper.Saving != 0)
                    {
                        solutions.Add(wrapper);
                    }
                }

                originalScenario = originalScenario.Original;
            }

            // Définir l'index
            int i = 1;

            foreach (var wrapper in solutions)
            {
                wrapper.Index = i++;
            }

            var solutionsFormats = new ColumnFormat[]
            {
                #region Format pour les solutions

                // Index
                new ColumnFormat()
                {
                    Header = ""
                },

                // Scénario
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_Scenario")
                },

                // Solution
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_Solution")
                },

                // Tâches liées
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_RelatedActions")
                },

                // Gain
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_Saving")
                },

                // Investissement
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_Investment")
                },

                // I/G
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_IG")
                },

                // Difficulté
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_Diffculty")
                },

                // Coûts
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_Cost")
                },

                // DC/G
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_DCG")
                },

                // OK
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_OK")
                },

                // Comments
                new ColumnFormat()
                {
                    Header = LocalizationManager.GetString("View_RestitutionSolutions_Columns_Comments")
                },

                #endregion
            };

            CellContent[][] data = new CellContent[solutions.Count][];

            i = 0;
            foreach (var solution in solutions)
            {
                CellContent[] row = new CellContent[solutionsFormats.Length];

                int j = 0;

                #region Data

                // Index
                row[j++] = solution.Index;

                // Scénario
                row[j++] = solution.Solution.Scenario.Label;

                // Solution
                row[j++] = solution.Solution.SolutionDescription;

                // Tâches liées
                row[j++] = solution.RelatedActions;

                // Gain
                row[j++] = CellContent.TimeSpan(timeFormatService.RoundTime(solution.Saving, timeScale));

                // Investissement
                if (solution.Solution.Investment.HasValue)
                {
                    row[j++] = solution.Solution.Investment;
                }
                else
                {
                    row[j++] = null;
                }

                // I/G
                if (solution.IG.HasValue)
                {
                    row[j++] = solution.IG;
                }
                else
                {
                    row[j++] = null;
                }

                // Difficulté
                if (solution.Solution.Difficulty.HasValue)
                {
                    row[j++] = solution.Solution.Difficulty;
                }
                else
                {
                    row[j++] = null;
                }

                // Coûts
                if (solution.Solution.Cost.HasValue)
                {
                    row[j++] = solution.Solution.Cost;
                }
                else
                {
                    row[j++] = null;
                }

                // DC/G
                if (solution.DCG.HasValue)
                {
                    row[j++] = solution.DCG;
                }
                else
                {
                    row[j++] = null;
                }

                // OK
                row[j++] = solution.Solution.Approved.ToString();

                // Comments
                row[j++] = solution.Solution.Comments;

                #endregion

                data[i] = row;
                i++;
            }

            _file.AddTable(sheet, solutionsFormats, data, cellReference);
        }
コード例 #30
0
        /* */
        public string CreateDataTable(SessionDB sesion, string DataTable = "DataTable")
        {
            this.numreg = this.ContRowsTable();
            int numrow = (this.pg - 1) * this.show;

            double numpag   = Math.Round(Convert.ToDouble(this.numreg / this.show));
            int    denumpag = Convert.ToInt16(numpag + 1);

            StringBuilder sb = new StringBuilder(10000);

            sb.Append("<div>")
            .Append("<div id=\"data-table_wrapper\" class=\"dataTables_wrapper no-footer\">")
            .Append("<div class='dataTables_length' id='data-table_length'><label>Mostrar: <select name='data-table_length' onChange='" + DataTable + ".setShow()' id='" + DataTable + "-data-elements-length' aria-controls=\"data-table\">");

            foreach (int showitem in this.SHOWVALUES)
            {
                var ietmselected = "";
                if (this.show == showitem)
                {
                    ietmselected = "selected";
                }
                else
                {
                    ietmselected = "";
                }

                //sb.Append("<option ").Append(ietmselected).Append(" value=\"").Append(showitem).Append("\"> ").Append((showitem == int.MaxValue ? "Todos" : showitem.ToString())).Append(" </option>");
                sb.Append("<option ").Append(ietmselected).Append(" value=\"").Append(showitem).Append("\"> ").Append(showitem.ToString()).Append(" </option>");
            }


            sb.Append("</select> </label></div>")
            .Append("<div class=\"dataTables_paginate paging_simple_numbers\" style=\"float:left !important; \" id=\"data-table_paginate\"><a class=\"paginate_button previous\" aria-controls=\"data-table\" data-dt-idx=\"0\" ><b>").Append(this.numreg).Append("</b> Registros</a><a class=\"paginate_button previous\" aria-controls=\"data-table\" data-dt-idx=\"0\" >Registro <b> ").Append(this.pg).Append("</b> /").Append(denumpag).Append("</a></div>");


            sb.Append("<div> ").Append(this.getPaged(DataTable)).Append(" </div>");
            //BOTON ELIMINAR
            if (this.enabledButtonDelete)
            {
                sb.Append("<div  style=\"float:left !important; margin-left:15px; \" id=\"data-table_paginate\"><a class=\"btn btn-sm btn-danger\"  data-dt-idx=\"0\" >Eliminar</a></div>");
            }
            sb.Append("<div id=\"data-table_filter\" style=\"float:right;\" class=\"dataTables_filter\"><img src=\"/Content/images/icon-excel.png\" onClick=\"").Append(DataTable).Append(".exportExcel('").Append(TABLE).Append("');\" style=\"cursor: pointer; \" /><input type=\"search\" style=\"background-color:#D9D9D9 !important\"  id='").Append(DataTable).Append("-searchtable' placeholder=\"Buscar\" value=\"").Append(this.search).Append("\" onkeyup=\"").Append(DataTable).Append(".onkeyup_colfield_check(event)\" aria-controls=\"data-table\"><a class=\"btn-search2\" href=\"javascript:void(0)\" onclick=\"").Append(DataTable).Append(".init();\"  ><i class=\"fa fa-search\"></i></a></div>");



            int           i           = (pg - 1) * show;
            List <String> campostable = new List <String>();
            String        htmlcampo   = "<th class='";

            //Agregamos las columnas a las tablas
            //------------- Parche ------------
            List <string> list_CAMPOS = new List <string>();

            foreach (string item in CAMPOS)
            {
                if (CAMPOSHIDDEN.Contains <string>(item) == false)
                {
                    list_CAMPOS.Add(item);
                }
            }
            //---------------------------------
            int x = 0;

            foreach (String columna in this.COLUMNAS)
            {
                String campotable = htmlcampo;
                if (list_CAMPOS[x] == orderby)
                {
                    campotable += "sorting_" + sort.ToLower();
                }
                else
                {
                    campotable += "sorting";
                }

                // Formato personalizado de los encabezados de la tabla en base a una clase adicional
                string _class = "";
                if (dictHeaderClass.ContainsKey(columna))
                {
                    string format = dictHeaderClass[columna];
                    if (format != null)
                    {
                        _class = format;
                    }
                }
                campotable += " " + _class;

                campotable += "' id='" + DataTable + "-SORT-" + list_CAMPOS[x] + "' onClick=\"" + DataTable + ".Orderby('" + list_CAMPOS[x] + "')\"";
                campotable += " data-sort=\"";

                if (list_CAMPOS[x] == orderby)
                {
                    campotable += sort;
                }
                else
                {
                    if (sort == "ASC")
                    {
                        campotable += "DESC";
                    }
                    else
                    {
                        campotable += "ASC";
                    }
                }

                campotable += "\">";
                campotable += columna.Replace(" ", "&nbsp;") + "</th>";
                campostable.Add(campotable);
                x++;
            }
            if (this.enabledButtonControls)
            {
                campostable.Add("<th class=\"sorting\">&nbsp;</th>");
            }

            sb.Append("<form name=\"formD\" id=\"formD\"><div class=\"outerbox\"><div class=\"innerbox\"><table class=\"bluetable table\" id='" + DataTable + "-fixed' role=\"grid\" aria-describedby=\"data-table_info\">")
            .Append("<thead>")
            .Append("<tr role=\"row\">");

            if (this.numreg > 0)
            {
                if (this.enabledCheckbox)
                {
                    sb.Append("<th class=\"sorting\" tabindex=\"0\" aria-controls=\"data-table\" rowspan=\"1\" colspan=\"1\" style=\"width: 50px;\" ><input type=\"checkbox\" id=\"checkboxallD\"  onclick=\"DataTable_ChangeChecked(this,'").Append(DataTable).Append("')\" /></th>");
                }
                if (this.enablednumRows)
                {
                    sb.Append("<th class=\"sorting\" tabindex=\"0\" aria-controls=\"data-table\" rowspan=\"1\" colspan=\"1\" style=\"width: 50px;\" aria-label=\"Browser: activate to sort column ascending\">No.</th>");
                }
                foreach (String columna in campostable)
                {
                    sb.Append(columna);
                }
            }
            sb.Append(" </tr>");
            sb.Append(" </thead>");
            sb.Append(" <tbody>");


            if (this.numreg > 0)
            {
                ResultSet res = this.getRowsTable(sesion.db);
                while (res.Next())
                {
                    numrow++;
                    sb.Append("<tr class=\"gradeA odd\" role=\"row\" ondblclick=\"").Append(DataTable).Append(".edit('").Append(res.Get(this.field_id)).Append("')\">");
                    if (this.enabledCheckbox)
                    {
                        sb.Append("<td class=\"sorting_1\"><input type=\"checkbox\" id=\"").Append(res.Get(this.field_id)).Append("\" value=\"").Append(res.Get(this.field_id)).Append("\" /></td>");
                    }

                    if (this.enablednumRows)
                    {
                        sb.Append("<td class=\"sorting_1\">").Append(numrow).Append("</td>");
                    }
                    string css_class = "";
                    foreach (string campo in this.CAMPOS)
                    {
                        if (!this.CAMPOSHIDDEN.Contains(campo))
                        {
                            var value = res.Get(campo);

                            // Formato personalizado.
                            if (dictColumnFormat.ContainsKey(campo))
                            {
                                ColumnFormat format = dictColumnFormat[campo];
                                if (format != null)
                                {
                                    value = format.Invoke(value, res);
                                }
                            }
                            if (dictColumnClass.ContainsKey(campo))
                            {
                                css_class = " " + dictColumnClass[campo];
                            }
                            else
                            {
                                css_class = string.Empty;
                            }
                            sb.Append("<td class='sorting_1").Append(css_class).Append("'>").Append(value).Append("</td>");
                        }
                    }

                    //ENABLEB BOTON DE ACCIONES
                    if (this.enabledButtonControls)
                    {
                        //table += "<td class=\"sorting_1\"><div class=\"btn-group m-r-5 m-b-5\"><a class=\"btn btn-warning dropdown-toggle\" data-toggle=\"dropdown\" href=\"javascript:;\" aria-expanded=\"false\">Acción<span class=\"caret\"></span></a><ul class=\"dropdown-menu\"><li><a href =\"javascript:Comision(20);\" > Comisión </a></li><li><a href=\"javascript:BuscarEditar(20);\">Editar</a></li><li><a href = \"javascript:Borrar(20);\" > Borrar </a></li><li></li><li class=\"divider\"></li><li></li></ul></div>";

                        sb.Append("<td class=\"sorting_1\"><div class=\"btn-group m-r-5 m-b-5\"><a class=\"btn btn-warning dropdown-toggle\" data-toggle=\"dropdown\" href=\"javascript:;\" aria-expanded=\"false\">Acción <span class=\"caret\"></span></a><ul class=\"dropdown-menu\">");
                        foreach (KeyValuePair <string, string> pair in LISTBTNACTIONS)
                        {
                            sb.Append("<li><a href =\"javascript:").Append(pair.Value).Append("(").Append(res.Get(this.field_id)).Append(");\"> ").Append(pair.Key).Append(" </a></li>");
                        }
                        sb.Append("</ul></div></td>");
                    }

                    sb.Append("</tr>");
                }
                sb.Append("</tr><input type='hidden' id='").Append(DataTable).Append("_data' value='has'>");

                if (this.enabledCheckbox)
                {
                    List <string> listIds = new List <string>();
                    res.ReStart();
                    while (res.Next())
                    {
                        listIds.Add(res.Get(this.field_id));
                    }
                    sb.Append("<script type=\"text/javascript\">").Append(DataTable).Append(".checkboxs=['").Append(string.Join("','", listIds)).Append("']; ").Append("</script>");
                }
            }
            else
            {
                sb.Append("<tr class=\"gradeA odd\" role=\"row\"><td colspan=\"").Append((this.COLUMNAS.Length + 2)).Append("\">")

                .Append("<div class=\"jumbotron m-b-0 text-center\" style=\"width:100%; \">")

                .Append("<h1>No existen registros</h1>")
                .Append("<p>Empiece creando un nuevo registro.</p>")

                .Append("</div>")
                .Append("</td>")
                .Append("</tr><input type='hidden' id='").Append(DataTable).Append("_data' value='empty'>");
            }

            sb.Append(" </tbody>")
            .Append(" </table></div></div></form>")

            .Append("</div>")
            .Append("</div>");

            return(sb.ToString());
        }
コード例 #31
0
 public void addColumnFormat(string columnName, ColumnFormat format)
 {
     dictColumnFormat[columnName] = format;
 }
コード例 #32
0
        public static void Inizialize(ISession Session)
        {
            #region Customer Inizialize
            Customer WallStreetDaily = new Customer
            {
                Id   = 1,
                Name = "Wall Street Daily"
            };
            Customer FleetStreetPublication = new Customer {
                Id = 2, Name = "Fleet Street Publication"
            };
            Customer DailyEdge = new Customer {
                Id = 3, Name = "Daily Edge"
            };
            Customer HeidiShubert = new Customer {
                Id = 6, Name = "Heidi Shubert"
            };
            Customer WeissResearch = new Customer {
                Id = 4, Name = "Weiss Research"
            };
            Customer WSD = new Customer {
                Id = 5, Name = "WSD Custom Strategy"
            };

            Session.Save(DailyEdge);
            Session.Save(HeidiShubert);
            Session.Save(WallStreetDaily);
            Session.Save(WeissResearch);
            Session.Save(WSD);
            Session.Save(FleetStreetPublication);
            #endregion

            #region Portfolios Inizialize
            Portfolio portfolio1 = new Portfolio
            {
                Id             = 1,
                Name           = "Strategic Investment Open Portfolio",
                Notes          = "A portfolio is a grouping of financial assets such as stocks,",
                DisplayIndex   = 1,
                LastUpdateDate = new DateTime(2017, 4, 28),
                Visibility     = false,
                Quantity       = 2,
                PercentWins    = 73.23m,
                BiggestWinner  = 234.32m,
                BiggestLoser   = 12.65m,
                AvgGain        = 186.65m,
                MonthAvgGain   = 99.436m,
                PortfolioValue = 1532.42m,
                Customer       = WallStreetDaily
            };

            Portfolio portfolio2 = new Portfolio
            {
                Id             = 2,
                Name           = "Strategic Investment Income Portfolio",
                Notes          = "A portfolio is a grouping of financial assets such as stocks,",
                DisplayIndex   = 2,
                LastUpdateDate = new DateTime(2017, 3, 12),
                Visibility     = true,
                Quantity       = 3,
                PercentWins    = 93.23m,
                BiggestWinner  = 534.32m,
                BiggestLoser   = 123.46m,
                AvgGain        = 316.65m,
                MonthAvgGain   = 341.436m,
                PortfolioValue = 5532.42m,
                Customer       = WallStreetDaily
                                 //Positions = new List<Position> { position3, position4, position5 }
            };
            Portfolio portfolio3 = new Portfolio
            {
                Id             = 3,
                Name           = "HDFC Bank",
                DisplayIndex   = 4,
                LastUpdateDate = new DateTime(2017, 3, 12),
                Visibility     = true,
                Quantity       = 3,
                PercentWins    = 93.23m,
                BiggestWinner  = 534.32m,
                BiggestLoser   = 123.46m,
                AvgGain        = 316.65m,
                MonthAvgGain   = 341.436m,
                PortfolioValue = 5532.42m,
                Customer       = WallStreetDaily
            };
            Portfolio portfolio4 = new Portfolio
            {
                Id             = 4,
                Name           = "IndusInd Bank",
                DisplayIndex   = 5,
                LastUpdateDate = new DateTime(2017, 3, 12),
                Visibility     = true,
                Quantity       = 3,
                PercentWins    = 93.23m,
                BiggestWinner  = 534.32m,
                BiggestLoser   = 123.46m,
                AvgGain        = 316.65m,
                MonthAvgGain   = 341.436m,
                PortfolioValue = 5532.42m,
                Customer       = FleetStreetPublication
            };
            Portfolio portfolio5 = new Portfolio
            {
                Id             = 5,
                Name           = "UltraTechCement",
                DisplayIndex   = 3,
                LastUpdateDate = new DateTime(2017, 3, 12),
                Visibility     = true,
                Quantity       = 3,
                PercentWins    = 93.23m,
                BiggestWinner  = 534.32m,
                BiggestLoser   = 123.46m,
                AvgGain        = 316.65m,
                MonthAvgGain   = 341.436m,
                PortfolioValue = 5532.42m,
                Customer       = FleetStreetPublication
            };

            Session.Save(portfolio1);
            Session.Save(portfolio2);
            Session.Save(portfolio3);
            Session.Save(portfolio4);
            Session.Save(portfolio5);
            #endregion

            #region Positions Inizialize
            Position position1 = new Position
            {
                Id              = 1,
                SymbolId        = 3,
                SymbolType      = Symbols.Option,
                SymbolName      = "PLSE",
                Name            = "Pulse Biosciences CS",
                OpenDate        = new DateTime(2015, 7, 20),
                OpenPrice       = 128.32m,
                OpenWeight      = 40,
                TradeType       = TradeTypes.Long,
                TradeStatus     = TradeStatuses.Open,
                Dividends       = 57.3m,
                CurrentPrice    = 99.53m,
                Gain            = 87.12m,
                AbsoluteGain    = 110.34m,
                MaxGain         = 154.34m,
                LastUpdateDate  = new DateTime(2016, 1, 1),
                LastUpdatePrice = 218.32m,
                Portfolio       = portfolio1
            };
            Position position2 = new Position
            {
                Id              = 2,
                SymbolId        = 2,
                SymbolType      = Symbols.Stock,
                SymbolName      = "WIWTY",
                Name            = "Witwatersrand Gold Rsrcs Ltd ",
                OpenDate        = new DateTime(2009, 2, 24),
                OpenPrice       = 4.00m,
                OpenWeight      = 125,
                TradeType       = TradeTypes.Long,
                TradeStatus     = TradeStatuses.Open,
                Dividends       = 0.00m,
                CurrentPrice    = 3.64m,
                Gain            = 40.0m,
                AbsoluteGain    = 1.60m,
                MaxGain         = 1.60m,
                LastUpdateDate  = new DateTime(2016, 1, 1),
                LastUpdatePrice = 218.32m,
                Portfolio       = portfolio1
            };
            Position position3 = new Position
            {
                Id              = 3,
                SymbolId        = 1,
                SymbolType      = Symbols.Option,
                SymbolName      = "AAT",
                Name            = "AAT Corporation Limited",
                OpenDate        = new DateTime(2017, 4, 28),
                OpenPrice       = 43.20m,
                OpenWeight      = 113,
                TradeType       = TradeTypes.Long,
                TradeStatus     = TradeStatuses.Wait,
                Dividends       = 17.34m,
                CloseDate       = new DateTime(2017, 5, 2),
                ClosePrice      = 54.24m,
                Gain            = 11.56m,
                AbsoluteGain    = 9.45m,
                MaxGain         = 14.34m,
                LastUpdateDate  = new DateTime(2016, 5, 1),
                LastUpdatePrice = 53.32m,
                Portfolio       = portfolio2
            };
            Position position4 = new Position
            {
                Id              = 4,
                SymbolId        = 4,
                SymbolType      = Symbols.Stock,
                SymbolName      = "FXI",
                Name            = "iShares FTSE/XINHUA 25",
                OpenDate        = new DateTime(2009, 8, 28),
                OpenPrice       = 39.81m,
                OpenWeight      = 65,
                TradeType       = TradeTypes.Long,
                TradeStatus     = TradeStatuses.Close,
                Dividends       = 1.54m,
                CloseDate       = new DateTime(2012, 1, 12),
                ClosePrice      = 36.74m,
                Gain            = 3.84m,
                AbsoluteGain    = 3.65m,
                MaxGain         = 3.65m,
                LastUpdateDate  = new DateTime(2011, 10, 11),
                LastUpdatePrice = 53.32m,
                Portfolio       = portfolio2
            };
            Position position5 = new Position
            {
                Id           = 1,
                SymbolId     = 3,
                SymbolType   = Symbols.Option,
                SymbolName   = "DBA",
                Name         = "Powershares DB Agri Index",
                OpenDate     = new DateTime(2009, 10, 30),
                OpenPrice    = 25.57m,
                OpenWeight   = 72,
                TradeType    = TradeTypes.Short,
                TradeStatus  = TradeStatuses.Open,
                Dividends    = 0.00m,
                CloseDate    = new DateTime(2012, 1, 12),
                ClosePrice   = 29.25m,
                CurrentPrice = 12.56m,
                Gain         = 14.39m,
                AbsoluteGain = 11.34m,
                MaxGain      = 13.34m,
                Portfolio    = portfolio2
            };

            var position10 = (Position)position1.Clone();
            var position11 = (Position)position1.Clone();
            var position12 = (Position)position1.Clone();
            var position13 = (Position)position1.Clone();
            var position14 = (Position)position1.Clone();
            var position15 = (Position)position1.Clone();
            var position16 = (Position)position1.Clone();
            var position17 = (Position)position1.Clone();
            var position18 = (Position)position1.Clone();
            var position19 = (Position)position1.Clone();

            var position21 = (Position)position2.Clone();
            var position20 = (Position)position2.Clone();
            var position22 = (Position)position2.Clone();
            var position23 = (Position)position2.Clone();
            var position24 = (Position)position2.Clone();
            var position25 = (Position)position2.Clone();
            var position26 = (Position)position2.Clone();
            var position27 = (Position)position2.Clone();
            var position28 = (Position)position2.Clone();
            var position29 = (Position)position2.Clone();

            Session.Save(position1);
            Session.Save(position10);
            Session.Save(position11);
            Session.Save(position12);
            Session.Save(position13);
            Session.Save(position14);
            Session.Save(position15);
            Session.Save(position16);
            Session.Save(position17);
            Session.Save(position18);
            Session.Save(position19);
            Session.Save(position20);
            Session.Save(position21);
            Session.Save(position22);
            Session.Save(position23);
            Session.Save(position24);
            Session.Save(position25);
            Session.Save(position26);
            Session.Save(position27);
            Session.Save(position28);
            Session.Save(position29);
            Session.Save(position2);
            Session.Save(position3);
            Session.Save(position4);
            Session.Save(position5);
            #endregion

            #region ColumnFormat Inizialize
            ColumnFormat None = new ColumnFormat
            {
                Id   = 1,
                Name = "None"
            };

            ColumnFormat Money = new ColumnFormat
            {
                Id   = 2,
                Name = "Money"
            };
            ColumnFormat Linked = new ColumnFormat
            {
                Id   = 3,
                Name = "Linked"
            };
            ColumnFormat Date = new ColumnFormat
            {
                Id   = 4,
                Name = "Date"
            };
            ColumnFormat DateAndTime = new ColumnFormat
            {
                Id   = 6,
                Name = "DateAndTime"
            };
            ColumnFormat Percent = new ColumnFormat
            {
                Id   = 7,
                Name = "Percent"
            };

            Session.Save(None);
            Session.Save(Money);
            Session.Save(Linked);
            Session.Save(Date);
            Session.Save(DateAndTime);
            Session.Save(Percent);

            #endregion

            #region Formats Inizialize

            Format DateFormat = new Format
            {
                Id            = 1,
                Name          = "Date Format",
                ColumnFormats = new List <ColumnFormat> {
                    Date, Linked, DateAndTime
                }
            };
            Format MoneyFormat = new Format
            {
                Id            = 2,
                Name          = "Money Format",
                ColumnFormats = new List <ColumnFormat> {
                    None, Money, Linked
                }
            };
            Format PercentFormat = new Format
            {
                Id            = 3,
                Name          = "Percent Format",
                ColumnFormats = new List <ColumnFormat> {
                    None, Percent
                }
            };
            Format NoneFormat = new Format
            {
                Id            = 4,
                Name          = "None Format",
                ColumnFormats = new List <ColumnFormat> {
                    None
                }
            };
            Format LineFormat = new Format
            {
                Id            = 5,
                Name          = "Line Format",
                ColumnFormats = new List <ColumnFormat> {
                    None, Linked
                }
            };

            Session.Save(DateFormat);
            Session.Save(MoneyFormat);
            Session.Save(PercentFormat);
            Session.Save(NoneFormat);
            Session.Save(LineFormat);
            #endregion

            #region ViewTemplate Inizialize
            ViewTemplate viewTemplate1 = new ViewTemplate
            {
                Id                 = 1,
                Name               = "Preview all",
                Positions          = TemplatePositions.All,
                ShowPortfolioStats = true,
                SortOrder          = Sorting.ASC,
                Customer           = WallStreetDaily,
                //Columns = new List<ViewTemplateColumn>
                //{
                //    viewTemplateColumn1, viewTemplateColumn2, viewTemplateColumn3, viewTemplateColumn4,
                //    viewTemplateColumn5, viewTemplateColumn6, viewTemplateColumn6, viewTemplateColumn7,
                //    viewTemplateColumn8, viewTemplateColumn9, viewTemplateColumn10, viewTemplateColumn11,
                //    viewTemplateColumn12, viewTemplateColumn13, viewTemplateColumn13, viewTemplateColumn14,
                //    viewTemplateColumn15, viewTemplateColumn16
                //}
            };

            ViewTemplate viewTemplate2 = new ViewTemplate
            {
                Id                 = 2,
                Name               = "Default",
                Positions          = TemplatePositions.OpenOnly,
                ShowPortfolioStats = false,
                SortOrder          = Sorting.DESC,
                Customer           = WallStreetDaily,
                //Columns = new List<ViewTemplateColumn>
                //{viewTemplateColumn21}
            };

            Session.Save(viewTemplate1);
            Session.Save(viewTemplate2);
            #endregion

            #region Columns Inizialize

            Column Name = new Column
            {
                Id     = 1,
                Name   = "Name",
                Format = LineFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn1, viewTemplateColumn21 }
            };
            Column SymbolName = new Column
            {
                Id     = 2,
                Name   = "Symbol Name",
                Format = LineFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn2 }
            };
            Column OpenPrice = new Column
            {
                Id     = 3,
                Name   = "Open Price",
                Format = MoneyFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn3 }
            };
            Column OpenDate = new Column
            {
                Id     = 4,
                Name   = "Open Date",
                Format = DateFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn4 }
            };
            Column OpenWeight = new Column
            {
                Id     = 5,
                Name   = "Open Weight",
                Format = NoneFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn5 }
            };
            Column CurrentPrice = new Column
            {
                Id     = 6,
                Name   = "Current Price",
                Format = MoneyFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn6 }
            };
            Column ClosePrice = new Column
            {
                Id     = 7,
                Name   = "Close Price",
                Format = MoneyFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn7 }
            };
            Column CloseDate = new Column
            {
                Id     = 8,
                Name   = "Close Date",
                Format = DateFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn8 }
            };
            Column TradeType = new Column
            {
                Id     = 9,
                Name   = "Trade Type",
                Format = NoneFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn9 }
            };
            Column TradeStatus = new Column
            {
                Id     = 10,
                Name   = "Trade Status",
                Format = NoneFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn10 }
            };
            Column Dividends = new Column
            {
                Id     = 11,
                Name   = "Dividends",
                Format = MoneyFormat,
                // ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn11 }
            };
            Column Gain = new Column
            {
                Id     = 12,
                Name   = "Gain",
                Format = MoneyFormat,
                // ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn12 }
            };
            Column AbsoluteGain = new Column
            {
                Id     = 13,
                Name   = "Absolute Gain",
                Format = PercentFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn13 }
            };
            Column MaxGain = new Column
            {
                Id     = 14,
                Name   = "Max Gain",
                Format = MoneyFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn14 }
            };
            Column LastUpdateDate = new Column
            {
                Id     = 15,
                Name   = "Last Update Date",
                Format = DateFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn15 }
            };

            Column LastUpdatePrice = new Column
            {
                Id     = 16,
                Name   = "Last Update Price",
                Format = MoneyFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn16 }
            };

            Session.Save(Name);
            Session.Save(SymbolName);
            Session.Save(OpenPrice);
            Session.Save(OpenDate);
            Session.Save(OpenWeight);
            Session.Save(CurrentPrice);
            Session.Save(ClosePrice);
            Session.Save(CloseDate);
            Session.Save(TradeType);
            Session.Save(TradeStatus);
            Session.Save(Dividends);
            Session.Save(Gain);
            Session.Save(AbsoluteGain);
            Session.Save(MaxGain);
            Session.Save(LastUpdateDate);
            Session.Save(LastUpdatePrice);
            #endregion

            #region ViewTemplateColumns Inizialize
            ViewTemplateColumn viewTemplateColumn1 = new ViewTemplateColumn
            {
                Id             = 1,
                Name           = "Name",
                ColumnEntiy    = Name,
                ViewTemplateId = 1,
                DisplayIndex   = 1,
                ColumnFormat   = Linked,
                ColumnId       = 1,
                ColumnFormatId = 3,
                ViewTemplate   = viewTemplate1,
                //ViewTemplatesForSorting = new List<ViewTemplate> { viewTemplate1 }
            };
            ViewTemplateColumn viewTemplateColumn2 = new ViewTemplateColumn
            {
                Id             = 2,
                Name           = "Symbol",
                ColumnEntiy    = SymbolName,
                ViewTemplateId = 1,
                DisplayIndex   = 2,
                ColumnFormat   = None,
                ColumnId       = 2,
                ColumnFormatId = 1,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn3 = new ViewTemplateColumn
            {
                Id             = 4,
                Name           = "Open Price",
                ColumnEntiy    = OpenPrice,
                ViewTemplateId = 1,
                DisplayIndex   = 4,
                ColumnFormat   = Money,
                ColumnId       = 3,
                ColumnFormatId = 2,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn4 = new ViewTemplateColumn
            {
                Id             = 5,
                Name           = "Open Date",
                ColumnEntiy    = OpenDate,
                ViewTemplateId = 1,
                DisplayIndex   = 5,
                ColumnFormat   = Date,
                ColumnId       = 4,
                ColumnFormatId = 4,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn5 = new ViewTemplateColumn
            {
                Id             = 3,
                Name           = "Weight",
                ColumnEntiy    = OpenWeight,
                ViewTemplateId = 1,
                DisplayIndex   = 3,
                ColumnFormat   = None,
                ColumnId       = 5,
                ColumnFormatId = 1,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn6 = new ViewTemplateColumn
            {
                Id             = 6,
                Name           = "Current Price",
                ColumnEntiy    = CurrentPrice,
                ViewTemplateId = 1,
                DisplayIndex   = 6,
                ColumnFormat   = Linked,
                ColumnId       = 6,
                ColumnFormatId = 3,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn7 = new ViewTemplateColumn
            {
                Id             = 7,
                Name           = "Close Price",
                ColumnEntiy    = ClosePrice,
                ViewTemplateId = 1,
                DisplayIndex   = 7,
                ColumnFormat   = None,
                ColumnId       = 7,
                ColumnFormatId = 1,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn8 = new ViewTemplateColumn
            {
                Id             = 8,
                Name           = "Close Date",
                ColumnEntiy    = CloseDate,
                ViewTemplateId = 1,
                DisplayIndex   = 8,
                ColumnFormat   = DateAndTime,
                ColumnId       = 8,
                ColumnFormatId = 6,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn9 = new ViewTemplateColumn
            {
                Id             = 9,
                Name           = "Trade Type",
                ColumnEntiy    = TradeType,
                ViewTemplateId = 1,
                DisplayIndex   = 9,
                ColumnFormat   = None,
                ColumnId       = 9,
                ColumnFormatId = 1,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn10 = new ViewTemplateColumn
            {
                Id             = 10,
                Name           = "Trade Status",
                ColumnEntiy    = TradeStatus,
                ViewTemplateId = 1,
                DisplayIndex   = 10,
                ColumnFormat   = None,
                ColumnId       = 10,
                ColumnFormatId = 1,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn11 = new ViewTemplateColumn
            {
                Id             = 11,
                Name           = "Dividends",
                ColumnEntiy    = Dividends,
                ViewTemplateId = 1,
                DisplayIndex   = 11,
                ColumnFormat   = Money,
                ColumnId       = 11,
                ColumnFormatId = 2,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn12 = new ViewTemplateColumn
            {
                Id             = 12,
                Name           = "Absolute Gain",
                ColumnEntiy    = AbsoluteGain,
                ViewTemplateId = 1,
                DisplayIndex   = 12,
                ColumnFormat   = Percent,
                ColumnId       = 13,
                ColumnFormatId = 7,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn13 = new ViewTemplateColumn
            {
                Id             = 13,
                Name           = "Max Gain",
                ColumnEntiy    = MaxGain,
                ViewTemplateId = 1,
                DisplayIndex   = 13,
                ColumnFormat   = Money,
                ColumnId       = 14,
                ColumnFormatId = 2,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn14 = new ViewTemplateColumn
            {
                Id             = 14,
                Name           = "Gain",
                ColumnEntiy    = Gain,
                ViewTemplateId = 1,
                DisplayIndex   = 14,
                ColumnFormat   = Linked,
                ColumnId       = 12,
                ColumnFormatId = 3,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn15 = new ViewTemplateColumn
            {
                Id             = 15,
                Name           = "Last Update Date",
                ColumnEntiy    = LastUpdateDate,
                ViewTemplateId = 1,
                DisplayIndex   = 15,
                ColumnFormat   = DateAndTime,
                ColumnId       = 15,
                ColumnFormatId = 6,
                ViewTemplate   = viewTemplate1
            };

            ViewTemplateColumn viewTemplateColumn16 = new ViewTemplateColumn
            {
                Id             = 16,
                Name           = "Last Update Price",
                ColumnEntiy    = LastUpdatePrice,
                ViewTemplateId = 1,
                DisplayIndex   = 16,
                ColumnFormat   = Linked,
                ColumnId       = 16,
                ColumnFormatId = 2,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn21 = new ViewTemplateColumn
            {
                Id             = 17,
                Name           = "Name",
                ColumnEntiy    = Name,
                ViewTemplateId = 2,
                DisplayIndex   = 1,
                ColumnFormat   = None,
                ColumnId       = 1,
                ColumnFormatId = 1,
                ViewTemplate   = viewTemplate2,
                //ViewTemplatesForSorting = new List<ViewTemplate> { viewTemplate2 }
            };
            Session.Save(viewTemplateColumn1);
            Session.Save(viewTemplateColumn2);
            Session.Save(viewTemplateColumn3);
            Session.Save(viewTemplateColumn4);
            Session.Save(viewTemplateColumn5);
            Session.Save(viewTemplateColumn6);
            Session.Save(viewTemplateColumn1);
            Session.Save(viewTemplateColumn7);
            Session.Save(viewTemplateColumn8);
            Session.Save(viewTemplateColumn9);
            Session.Save(viewTemplateColumn10);
            Session.Save(viewTemplateColumn11);
            Session.Save(viewTemplateColumn12);
            Session.Save(viewTemplateColumn13);
            Session.Save(viewTemplateColumn14);
            Session.Save(viewTemplateColumn15);
            Session.Save(viewTemplateColumn16);
            Session.Save(viewTemplateColumn21);
            #endregion

            //viewTemplate1.Columns.Add(viewTemplateColumn1);
            //viewTemplate1.Columns.Add(viewTemplateColumn2);
            //viewTemplate1.Columns.Add(viewTemplateColumn3);
            //viewTemplate1.Columns.Add(viewTemplateColumn4);
            //viewTemplate1.Columns.Add(viewTemplateColumn5);
            //viewTemplate1.Columns.Add(viewTemplateColumn6);
            //viewTemplate1.Columns.Add(viewTemplateColumn7);
            //viewTemplate1.Columns.Add(viewTemplateColumn8);
            //viewTemplate1.Columns.Add(viewTemplateColumn9);
            //viewTemplate1.Columns.Add(viewTemplateColumn10);
            //viewTemplate1.Columns.Add(viewTemplateColumn11);
            //viewTemplate1.Columns.Add(viewTemplateColumn12);
            //viewTemplate1.Columns.Add(viewTemplateColumn13);
            //viewTemplate1.Columns.Add(viewTemplateColumn14);
            //viewTemplate1.Columns.Add(viewTemplateColumn15);
            //viewTemplate1.Columns.Add(viewTemplateColumn16);
            //viewTemplate2.Columns.Add(viewTemplateColumn21);

            Session.Flush();

            #region View Inizialize

            ViewForTable previewAllView = new ViewForTable
            {
                Id                = 1,
                Name              = "Preview All View",
                ShowName          = true,
                DateFormat        = DateFormats.MonthDayYear,
                MoneyPrecision    = 2,
                PercentyPrecision = 4,
                ViewTemplate      = viewTemplate1,
                Customer          = WallStreetDaily
            };

            ViewForTable defaultView = new ViewForTable
            {
                Id                = 2,
                Name              = "Default View",
                ShowName          = false,
                DateFormat        = DateFormats.DayMonthNameYear,
                MoneyPrecision    = 1,
                PercentyPrecision = 2,
                ViewTemplate      = viewTemplate2,
                Customer          = WallStreetDaily
            };

            Session.Save(previewAllView);
            Session.Save(defaultView);
            #endregion

            #region User Inizialize
            var         userManager   = new ApplicationUserManager(new UserStore <UserEntity>(Session));
            var         roleManager   = new ApplicationRoleManager(new RoleStore <Role>(Session));
            List <Role> identityRoles = new List <Role>
            {
                new Role()
                {
                    Name = "Admin"
                },
                new Role()
                {
                    Name = "User"
                },
                new Role()
                {
                    Name = "Employee"
                }
            };

            foreach (Role role in identityRoles)
            {
                roleManager.Create(role);
            }
            UserEntity admin = new UserEntity {
                Email = "Admin", UserName = "******"
            };
            userManager.Create(admin, "Password");
            userManager.AddToRole(admin.Id, "Admin");
            userManager.AddToRole(admin.Id, "Employee");

            var clientProfile = new Profile
            {
                Id         = admin.Id,
                Login      = admin.UserName,
                Customer   = WallStreetDaily,
                CustomerId = WallStreetDaily.Id
            };
            WallStreetDaily.Profiles.Add(clientProfile);
            #endregion

            #region Records Inizialize
            Record record1 = new Record
            {
                UserId       = "1aaa023d-e950-47fc-9c3f-54fbffcc99cf",
                Entity       = Entities.Position,
                Operation    = Operations.Create,
                Successfully = true,
                EntityId     = 1,
                DateTime     = new DateTime(2017, 4, 1)
            };
            Record record2 = new Record
            {
                UserId       = "1aaa023d-e950-47fc-9c3f-54fbffcc99cf",
                Entity       = Entities.Position,
                Operation    = Operations.Delete,
                Successfully = false,
                EntityId     = 1,
                DateTime     = new DateTime(2017, 4, 3)
            };
            Record record3 = new Record
            {
                UserId       = "2da9e5e9-ee3e-473c-a131-c39050b26760",
                Entity       = Entities.Portfolio,
                Operation    = Operations.Update,
                Successfully = true,
                EntityId     = 2,
                DateTime     = new DateTime(2017, 4, 4)
            };
            Session.Save(record1);
            Session.Save(record2);
            Session.Save(record3);
            #endregion

            Session.Flush();
        }
コード例 #33
0
 public static int Min(ColumnFormat format)
 {
     return ValueFormatter.Format(format, string.Empty).Length;
 }
コード例 #34
0
 public static int Calculate(ColumnFormat format)
 {
     return ValueFormatter.Format(format, TimeSpan.MinValue).Length;
 }
コード例 #35
0
        protected void UpdateColumnFormats(bool restoreDefaultFormats)
        {
            var bindingListSource = DataSource as BindingListSource;

            if (bindingListSource == null)
            {
                return;
            }
            var newColumnFormats = ImmutableList.ValueOf(_itemProperties.Select(prop => bindingListSource.ColumnFormats.GetFormat(new ColumnId(prop.ColumnCaption))));

            if (Equals(newColumnFormats, _columnFormats))
            {
                return;
            }
            _columnFormats = newColumnFormats;
            foreach (var column in Columns.OfType <DataGridViewColumn>())
            {
                if (string.IsNullOrEmpty(column.DataPropertyName))
                {
                    continue;
                }
                DataPropertyDescriptor pd           = null;
                ColumnFormat           columnFormat = null;
                if (column.Index < _itemProperties.Count && _itemProperties[column.Index].Name == column.DataPropertyName)
                {
                    pd           = _itemProperties[column.Index];
                    columnFormat = _columnFormats[column.Index];
                }
                else
                {
                    for (int i = 0; i < _itemProperties.Count; i++)
                    {
                        if (_itemProperties[i].Name == column.DataPropertyName)
                        {
                            pd           = _itemProperties[i];
                            columnFormat = _columnFormats[i];
                        }
                    }
                }
                if (pd == null)
                {
                    continue;
                }
                if (null != columnFormat.Format)
                {
                    column.DefaultCellStyle.Format = columnFormat.Format;
                }
                else
                {
                    if (restoreDefaultFormats)
                    {
                        var originalColumn = _viewContext.CreateGridViewColumn(pd);
                        column.DefaultCellStyle.Format = originalColumn.DefaultCellStyle.Format;
                    }
                }
                if (columnFormat.Width.HasValue)
                {
                    column.Width = columnFormat.Width.Value;
                }
            }
        }
コード例 #36
0
        public static void Inizialize(ISession Session)
        {
            #region Customer Inizialize
            Customer WallStreetDaily = new Customer
            {
                Id   = 1,
                Name = "Wall Street Daily"
            };
            Customer FleetStreetPublication = new Customer {
                Id = 2, Name = "Fleet Street Publication"
            };
            Customer DailyEdge = new Customer {
                Id = 3, Name = "Daily Edge"
            };
            Customer HeidiShubert = new Customer {
                Id = 6, Name = "Heidi Shubert"
            };
            Customer WeissResearch = new Customer {
                Id = 4, Name = "Weiss Research"
            };
            Customer WSD = new Customer {
                Id = 5, Name = "WSD Custom Strategy"
            };

            Session.Save(DailyEdge);
            Session.Save(HeidiShubert);
            Session.Save(WallStreetDaily);
            Session.Save(WeissResearch);
            Session.Save(WSD);
            Session.Save(FleetStreetPublication);
            #endregion

            #region Portfolios Inizialize
            Portfolio portfolio1 = new Portfolio
            {
                Id             = 1,
                Name           = "Strategic Investment Open Portfolio",
                Notes          = "A portfolio is a grouping of financial assets such as stocks,",
                DisplayIndex   = 1,
                LastUpdateDate = new DateTime(2017, 4, 28),
                Visibility     = false,
                Quantity       = 2,
                PercentWins    = 73.23m,
                BiggestWinner  = 234.32m,
                BiggestLoser   = 12.65m,
                AvgGain        = 186.65m,
                MonthAvgGain   = 99.436m,
                PortfolioValue = 1532.42m,
                Customer       = WallStreetDaily
            };

            Portfolio portfolio2 = new Portfolio
            {
                Id             = 2,
                Name           = "Strategic Investment Income Portfolio",
                Notes          = "A portfolio is a grouping of financial assets such as stocks,",
                DisplayIndex   = 2,
                LastUpdateDate = new DateTime(2017, 3, 12),
                Visibility     = true,
                Quantity       = 3,
                PercentWins    = 93.23m,
                BiggestWinner  = 534.32m,
                BiggestLoser   = 123.46m,
                AvgGain        = 316.65m,
                MonthAvgGain   = 341.436m,
                PortfolioValue = 5532.42m,
                Customer       = WallStreetDaily
                                 //Positions = new List<Position> { position3, position4, position5 }
            };
            Portfolio portfolio3 = new Portfolio
            {
                Id             = 3,
                Name           = "HDFC Bank",
                DisplayIndex   = 4,
                LastUpdateDate = new DateTime(2017, 3, 12),
                Visibility     = true,
                Quantity       = 3,
                PercentWins    = 93.23m,
                BiggestWinner  = 534.32m,
                BiggestLoser   = 123.46m,
                AvgGain        = 316.65m,
                MonthAvgGain   = 341.436m,
                PortfolioValue = 5532.42m,
                Customer       = WallStreetDaily
            };
            Portfolio portfolio4 = new Portfolio
            {
                Id             = 4,
                Name           = "IndusInd Bank",
                DisplayIndex   = 5,
                LastUpdateDate = new DateTime(2017, 3, 12),
                Visibility     = true,
                Quantity       = 3,
                PercentWins    = 93.23m,
                BiggestWinner  = 534.32m,
                BiggestLoser   = 123.46m,
                AvgGain        = 316.65m,
                MonthAvgGain   = 341.436m,
                PortfolioValue = 5532.42m,
                Customer       = FleetStreetPublication
            };
            Portfolio portfolio5 = new Portfolio
            {
                Id             = 5,
                Name           = "UltraTechCement",
                DisplayIndex   = 3,
                LastUpdateDate = new DateTime(2017, 3, 12),
                Visibility     = true,
                Quantity       = 3,
                PercentWins    = 93.23m,
                BiggestWinner  = 534.32m,
                BiggestLoser   = 123.46m,
                AvgGain        = 316.65m,
                MonthAvgGain   = 341.436m,
                PortfolioValue = 5532.42m,
                Customer       = FleetStreetPublication
            };

            Session.Save(portfolio1);
            Session.Save(portfolio2);
            Session.Save(portfolio3);
            Session.Save(portfolio4);
            Session.Save(portfolio5);
            #endregion

            #region Positions Inizialize
            Position position1 = new Position
            {
                Id              = 1,
                SymbolId        = 3,
                SymbolType      = Symbols.Option,
                SymbolName      = "PLSE",
                Name            = "Pulse Biosciences CS",
                OpenDate        = new DateTime(2015, 7, 20),
                OpenPrice       = 128.32m,
                OpenWeight      = 40,
                TradeType       = TradeTypes.Long,
                TradeStatus     = TradeStatuses.Open,
                Dividends       = 57.3m,
                CurrentPrice    = 99.53m,
                Gain            = 87.12m,
                AbsoluteGain    = 110.34m,
                MaxGain         = 154.34m,
                LastUpdateDate  = new DateTime(2016, 1, 1),
                LastUpdatePrice = 218.32m,
                Portfolio       = portfolio1
            };
            Position position2 = new Position
            {
                Id              = 2,
                SymbolId        = 2,
                SymbolType      = Symbols.Stock,
                SymbolName      = "WIWTY",
                Name            = "Witwatersrand Gold Rsrcs Ltd ",
                OpenDate        = new DateTime(2009, 2, 24),
                OpenPrice       = 4.00m,
                OpenWeight      = 125,
                TradeType       = TradeTypes.Long,
                TradeStatus     = TradeStatuses.Open,
                Dividends       = 0.00m,
                CurrentPrice    = 3.64m,
                Gain            = 40.0m,
                AbsoluteGain    = 1.60m,
                MaxGain         = 1.60m,
                LastUpdateDate  = new DateTime(2016, 1, 1),
                LastUpdatePrice = 218.32m,
                Portfolio       = portfolio1
            };
            Position position3 = new Position
            {
                Id              = 3,
                SymbolId        = 1,
                SymbolType      = Symbols.Option,
                SymbolName      = "AAT",
                Name            = "AAT Corporation Limited",
                OpenDate        = new DateTime(2017, 4, 28),
                OpenPrice       = 43.20m,
                OpenWeight      = 113,
                TradeType       = TradeTypes.Long,
                TradeStatus     = TradeStatuses.Wait,
                Dividends       = 17.34m,
                CloseDate       = new DateTime(2017, 5, 2),
                ClosePrice      = 54.24m,
                Gain            = 11.56m,
                AbsoluteGain    = 9.45m,
                MaxGain         = 14.34m,
                LastUpdateDate  = new DateTime(2016, 5, 1),
                LastUpdatePrice = 53.32m,
                Portfolio       = portfolio2
            };
            Position position4 = new Position
            {
                Id              = 4,
                SymbolId        = 4,
                SymbolType      = Symbols.Stock,
                SymbolName      = "FXI",
                Name            = "iShares FTSE/XINHUA 25",
                OpenDate        = new DateTime(2009, 8, 28),
                OpenPrice       = 39.81m,
                OpenWeight      = 65,
                TradeType       = TradeTypes.Long,
                TradeStatus     = TradeStatuses.Close,
                Dividends       = 1.54m,
                CloseDate       = new DateTime(2012, 1, 12),
                ClosePrice      = 36.74m,
                Gain            = 3.84m,
                AbsoluteGain    = 3.65m,
                MaxGain         = 3.65m,
                LastUpdateDate  = new DateTime(2011, 10, 11),
                LastUpdatePrice = 53.32m,
                Portfolio       = portfolio2
            };
            Position position5 = new Position
            {
                Id           = 1,
                SymbolId     = 3,
                SymbolType   = Symbols.Option,
                SymbolName   = "DBA",
                Name         = "Powershares DB Agri Index",
                OpenDate     = new DateTime(2009, 10, 30),
                OpenPrice    = 25.57m,
                OpenWeight   = 72,
                TradeType    = TradeTypes.Short,
                TradeStatus  = TradeStatuses.Open,
                Dividends    = 0.00m,
                CloseDate    = new DateTime(2012, 1, 12),
                ClosePrice   = 29.25m,
                CurrentPrice = 12.56m,
                Gain         = 14.39m,
                AbsoluteGain = 11.34m,
                MaxGain      = 13.34m,
                Portfolio    = portfolio2
            };

            var position10 = (Position)position1.Clone();
            var position11 = (Position)position1.Clone();
            var position12 = (Position)position1.Clone();
            var position13 = (Position)position1.Clone();
            var position14 = (Position)position1.Clone();
            var position15 = (Position)position1.Clone();
            var position16 = (Position)position1.Clone();
            var position17 = (Position)position1.Clone();
            var position18 = (Position)position1.Clone();
            var position19 = (Position)position1.Clone();

            var position21 = (Position)position2.Clone();
            var position20 = (Position)position2.Clone();
            var position22 = (Position)position2.Clone();
            var position23 = (Position)position2.Clone();
            var position24 = (Position)position2.Clone();
            var position25 = (Position)position2.Clone();
            var position26 = (Position)position2.Clone();
            var position27 = (Position)position2.Clone();
            var position28 = (Position)position2.Clone();
            var position29 = (Position)position2.Clone();

            Session.Save(position1);
            Session.Save(position10);
            Session.Save(position11);
            Session.Save(position12);
            Session.Save(position13);
            Session.Save(position14);
            Session.Save(position15);
            Session.Save(position16);
            Session.Save(position17);
            Session.Save(position18);
            Session.Save(position19);
            Session.Save(position20);
            Session.Save(position21);
            Session.Save(position22);
            Session.Save(position23);
            Session.Save(position24);
            Session.Save(position25);
            Session.Save(position26);
            Session.Save(position27);
            Session.Save(position28);
            Session.Save(position29);
            Session.Save(position2);
            Session.Save(position3);
            Session.Save(position4);
            Session.Save(position5);
            #endregion

            #region ColumnFormat Inizialize
            ColumnFormat None = new ColumnFormat
            {
                Id   = 1,
                Name = "None"
            };

            ColumnFormat Money = new ColumnFormat
            {
                Id   = 2,
                Name = "Money"
            };
            ColumnFormat Linked = new ColumnFormat
            {
                Id   = 3,
                Name = "Linked"
            };
            ColumnFormat Date = new ColumnFormat
            {
                Id   = 4,
                Name = "Date"
            };
            ColumnFormat DateAndTime = new ColumnFormat
            {
                Id   = 6,
                Name = "DateAndTime"
            };
            ColumnFormat Percent = new ColumnFormat
            {
                Id   = 7,
                Name = "Percent"
            };

            Session.Save(None);
            Session.Save(Money);
            Session.Save(Linked);
            Session.Save(Date);
            Session.Save(DateAndTime);
            Session.Save(Percent);

            #endregion

            #region Formats Inizialize

            Format DateFormat = new Format
            {
                Id            = 1,
                Name          = "Date Format",
                ColumnFormats = new List <ColumnFormat> {
                    Date, Linked, DateAndTime
                }
            };
            Format MoneyFormat = new Format
            {
                Id            = 2,
                Name          = "Money Format",
                ColumnFormats = new List <ColumnFormat> {
                    None, Money, Linked
                }
            };
            Format PercentFormat = new Format
            {
                Id            = 3,
                Name          = "Percent Format",
                ColumnFormats = new List <ColumnFormat> {
                    None, Percent
                }
            };
            Format NoneFormat = new Format
            {
                Id            = 4,
                Name          = "None Format",
                ColumnFormats = new List <ColumnFormat> {
                    None
                }
            };
            Format LineFormat = new Format
            {
                Id            = 5,
                Name          = "Line Format",
                ColumnFormats = new List <ColumnFormat> {
                    None, Linked
                }
            };

            Session.Save(DateFormat);
            Session.Save(MoneyFormat);
            Session.Save(PercentFormat);
            Session.Save(NoneFormat);
            Session.Save(LineFormat);
            #endregion

            #region ViewTemplate Inizialize
            ViewTemplate viewTemplate1 = new ViewTemplate
            {
                Id                 = 1,
                Name               = "Preview all",
                Positions          = TemplatePositions.All,
                ShowPortfolioStats = true,
                SortOrder          = Sorting.ASC,
                Customer           = WallStreetDaily
            };

            ViewTemplate viewTemplate2 = new ViewTemplate
            {
                Id                 = 2,
                Name               = "Default",
                Positions          = TemplatePositions.OpenOnly,
                ShowPortfolioStats = false,
                SortOrder          = Sorting.DESC,
                Customer           = WallStreetDaily
            };

            Session.Save(viewTemplate1);
            Session.Save(viewTemplate2);
            #endregion

            #region Columns Inizialize

            Column Name = new Column
            {
                Id     = 1,
                Name   = "Name",
                Format = LineFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn1, viewTemplateColumn21 }
            };
            Column SymbolName = new Column
            {
                Id     = 2,
                Name   = "Symbol Name",
                Format = LineFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn2 }
            };
            Column OpenPrice = new Column
            {
                Id     = 3,
                Name   = "Open Price",
                Format = MoneyFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn3 }
            };
            Column OpenDate = new Column
            {
                Id     = 4,
                Name   = "Open Date",
                Format = DateFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn4 }
            };
            Column OpenWeight = new Column
            {
                Id     = 5,
                Name   = "Open Weight",
                Format = NoneFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn5 }
            };
            Column CurrentPrice = new Column
            {
                Id     = 6,
                Name   = "Current Price",
                Format = MoneyFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn6 }
            };
            Column ClosePrice = new Column
            {
                Id     = 7,
                Name   = "Close Price",
                Format = MoneyFormat,
                // ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn7 }
            };
            Column CloseDate = new Column
            {
                Id     = 8,
                Name   = "Close Date",
                Format = DateFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn8 }
            };
            Column TradeType = new Column
            {
                Id     = 9,
                Name   = "Trade Type",
                Format = NoneFormat,
                // ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn9 }
            };
            Column TradeStatus = new Column
            {
                Id     = 10,
                Name   = "Trade Status",
                Format = NoneFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn10 }
            };
            Column Dividends = new Column
            {
                Id     = 11,
                Name   = "Dividends",
                Format = MoneyFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn11 }
            };
            Column Gain = new Column
            {
                Id     = 12,
                Name   = "Gain",
                Format = MoneyFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn12 }
            };
            Column AbsoluteGain = new Column
            {
                Id     = 13,
                Name   = "Absolute Gain",
                Format = PercentFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn13 }
            };
            Column MaxGain = new Column
            {
                Id     = 14,
                Name   = "Max Gain",
                Format = MoneyFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn14 }
            };
            Column LastUpdateDate = new Column
            {
                Id     = 15,
                Name   = "Last Update Date",
                Format = DateFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn15 }
            };

            Column LastUpdatePrice = new Column
            {
                Id     = 16,
                Name   = "Last Update Price",
                Format = MoneyFormat,
                //ViewTemplateColumns = new List<ViewTemplateColumn> { viewTemplateColumn16 }
            };

            Session.Save(Name);
            Session.Save(SymbolName);
            Session.Save(OpenPrice);
            Session.Save(OpenDate);
            Session.Save(OpenWeight);
            Session.Save(CurrentPrice);
            Session.Save(ClosePrice);
            Session.Save(CloseDate);
            Session.Save(TradeType);
            Session.Save(TradeStatus);
            Session.Save(Dividends);
            Session.Save(Gain);
            Session.Save(AbsoluteGain);
            Session.Save(MaxGain);
            Session.Save(LastUpdateDate);
            Session.Save(LastUpdatePrice);
            #endregion

            #region ViewTemplateColumns Inizialize
            ViewTemplateColumn viewTemplateColumn1 = new ViewTemplateColumn
            {
                Id             = 1,
                Name           = "Name",
                ColumnEntiy    = Name,
                ViewTemplateId = 1,
                DisplayIndex   = 1,
                ColumnFormat   = Linked,
                ColumnId       = 1,
                ColumnFormatId = 3,
                ViewTemplate   = viewTemplate1,
                //ViewTemplatesForSorting = new List<ViewTemplate> { viewTemplate1 }
            };
            ViewTemplateColumn viewTemplateColumn2 = new ViewTemplateColumn
            {
                Id             = 2,
                Name           = "Symbol",
                ColumnEntiy    = SymbolName,
                ViewTemplateId = 1,
                DisplayIndex   = 2,
                ColumnFormat   = None,
                ColumnId       = 2,
                ColumnFormatId = 1,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn3 = new ViewTemplateColumn
            {
                Id             = 4,
                Name           = "Open Price",
                ColumnEntiy    = OpenPrice,
                ViewTemplateId = 1,
                DisplayIndex   = 4,
                ColumnFormat   = Money,
                ColumnId       = 3,
                ColumnFormatId = 2,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn4 = new ViewTemplateColumn
            {
                Id             = 5,
                Name           = "Open Date",
                ColumnEntiy    = OpenDate,
                ViewTemplateId = 1,
                DisplayIndex   = 5,
                ColumnFormat   = Date,
                ColumnId       = 4,
                ColumnFormatId = 4,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn5 = new ViewTemplateColumn
            {
                Id             = 3,
                Name           = "Weight",
                ColumnEntiy    = OpenWeight,
                ViewTemplateId = 1,
                DisplayIndex   = 3,
                ColumnFormat   = None,
                ColumnId       = 5,
                ColumnFormatId = 1,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn6 = new ViewTemplateColumn
            {
                Id             = 6,
                Name           = "Current Price",
                ColumnEntiy    = CurrentPrice,
                ViewTemplateId = 1,
                DisplayIndex   = 6,
                ColumnFormat   = Linked,
                ColumnId       = 6,
                ColumnFormatId = 3,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn7 = new ViewTemplateColumn
            {
                Id             = 7,
                Name           = "Close Price",
                ColumnEntiy    = ClosePrice,
                ViewTemplateId = 1,
                DisplayIndex   = 7,
                ColumnFormat   = None,
                ColumnId       = 7,
                ColumnFormatId = 1,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn8 = new ViewTemplateColumn
            {
                Id             = 8,
                Name           = "Close Date",
                ColumnEntiy    = CloseDate,
                ViewTemplateId = 1,
                DisplayIndex   = 8,
                ColumnFormat   = DateAndTime,
                ColumnId       = 8,
                ColumnFormatId = 6,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn9 = new ViewTemplateColumn
            {
                Id             = 9,
                Name           = "Trade Type",
                ColumnEntiy    = TradeType,
                ViewTemplateId = 1,
                DisplayIndex   = 9,
                ColumnFormat   = None,
                ColumnId       = 9,
                ColumnFormatId = 1,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn10 = new ViewTemplateColumn
            {
                Id             = 10,
                Name           = "Trade Status",
                ColumnEntiy    = TradeStatus,
                ViewTemplateId = 1,
                DisplayIndex   = 10,
                ColumnFormat   = None,
                ColumnId       = 10,
                ColumnFormatId = 1,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn11 = new ViewTemplateColumn
            {
                Id             = 11,
                Name           = "Dividends",
                ColumnEntiy    = Dividends,
                ViewTemplateId = 1,
                DisplayIndex   = 11,
                ColumnFormat   = Money,
                ColumnId       = 11,
                ColumnFormatId = 2,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn12 = new ViewTemplateColumn
            {
                Id             = 12,
                Name           = "Absolute Gain",
                ColumnEntiy    = AbsoluteGain,
                ViewTemplateId = 1,
                DisplayIndex   = 12,
                ColumnFormat   = Percent,
                ColumnId       = 13,
                ColumnFormatId = 7,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn13 = new ViewTemplateColumn
            {
                Id             = 13,
                Name           = "Max Gain",
                ColumnEntiy    = MaxGain,
                ViewTemplateId = 1,
                DisplayIndex   = 13,
                ColumnFormat   = Money,
                ColumnId       = 14,
                ColumnFormatId = 2,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn14 = new ViewTemplateColumn
            {
                Id             = 14,
                Name           = "Gain",
                ColumnEntiy    = Gain,
                ViewTemplateId = 1,
                DisplayIndex   = 14,
                ColumnFormat   = Linked,
                ColumnId       = 12,
                ColumnFormatId = 3,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn15 = new ViewTemplateColumn
            {
                Id             = 15,
                Name           = "Last Update Date",
                ColumnEntiy    = LastUpdateDate,
                ViewTemplateId = 1,
                DisplayIndex   = 15,
                ColumnFormat   = DateAndTime,
                ColumnId       = 15,
                ColumnFormatId = 6,
                ViewTemplate   = viewTemplate1
            };

            ViewTemplateColumn viewTemplateColumn16 = new ViewTemplateColumn
            {
                Id             = 16,
                Name           = "Last Update Price",
                ColumnEntiy    = LastUpdatePrice,
                ViewTemplateId = 1,
                DisplayIndex   = 16,
                ColumnFormat   = Linked,
                ColumnId       = 16,
                ColumnFormatId = 2,
                ViewTemplate   = viewTemplate1
            };
            ViewTemplateColumn viewTemplateColumn21 = new ViewTemplateColumn
            {
                Id             = 17,
                Name           = "Name",
                ColumnEntiy    = Name,
                ViewTemplateId = 2,
                DisplayIndex   = 1,
                ColumnFormat   = None,
                ColumnId       = 1,
                ColumnFormatId = 1,
                ViewTemplate   = viewTemplate2,
                //ViewTemplatesForSorting = new List<ViewTemplate> { viewTemplate2 }
            };
            Session.Save(viewTemplateColumn1);
            Session.Save(viewTemplateColumn2);
            Session.Save(viewTemplateColumn3);
            Session.Save(viewTemplateColumn4);
            Session.Save(viewTemplateColumn5);
            Session.Save(viewTemplateColumn6);
            Session.Save(viewTemplateColumn1);
            Session.Save(viewTemplateColumn7);
            Session.Save(viewTemplateColumn8);
            Session.Save(viewTemplateColumn9);
            Session.Save(viewTemplateColumn10);
            Session.Save(viewTemplateColumn11);
            Session.Save(viewTemplateColumn12);
            Session.Save(viewTemplateColumn13);
            Session.Save(viewTemplateColumn14);
            Session.Save(viewTemplateColumn15);
            Session.Save(viewTemplateColumn16);
            Session.Save(viewTemplateColumn21);
            #endregion

            #region View Inizialize

            ViewForTable previewAllView = new ViewForTable
            {
                Id                = 1,
                Name              = "Preview All View",
                ShowName          = true,
                DateFormat        = DateFormats.MonthDayYear,
                MoneyPrecision    = 2,
                PercentyPrecision = 4,
                ViewTemplate      = viewTemplate1,
                ViewTemplateId    = viewTemplate1.Id,
                Customer          = WallStreetDaily
            };

            ViewForTable defaultView = new ViewForTable
            {
                Id                = 2,
                Name              = "Default View",
                ShowName          = false,
                DateFormat        = DateFormats.DayMonthNameYear,
                MoneyPrecision    = 1,
                PercentyPrecision = 2,
                ViewTemplate      = viewTemplate2,
                ViewTemplateId    = viewTemplate2.Id,
                Customer          = WallStreetDaily
            };

            Session.Save(previewAllView);
            Session.Save(defaultView);
            #endregion

            #region User Inizialize
            var         userManager   = new ApplicationUserManager(new UserStore <UserEntity>(Session));
            var         roleManager   = new ApplicationRoleManager(new RoleStore <Role>(Session));
            List <Role> identityRoles = new List <Role>
            {
                new Role()
                {
                    Name = "Admin"
                },
                new Role()
                {
                    Name = "User"
                },
                new Role()
                {
                    Name = "Employee"
                }
            };

            foreach (Role role in identityRoles)
            {
                roleManager.Create(role);
            }
            UserEntity admin = new UserEntity {
                Email = "Admin", UserName = "******"
            };
            userManager.Create(admin, "Password");
            userManager.AddToRole(admin.Id, "Admin");
            userManager.AddToRole(admin.Id, "Employee");

            var clientProfile = new Profile
            {
                Id         = admin.Id,
                Login      = admin.UserName,
                Customer   = WallStreetDaily,
                CustomerId = WallStreetDaily.Id
            };
            WallStreetDaily.Profiles.Add(clientProfile);
            #endregion

            #region Records Inizialize
            Record record1 = new Record
            {
                UserId       = "1aaa023d-e950-47fc-9c3f-54fbffcc99cf",
                Entity       = Entities.Position,
                Operation    = Operations.Create,
                Successfully = true,
                EntityId     = 1,
                DateTime     = new DateTime(2017, 4, 1)
            };
            Record record2 = new Record
            {
                UserId       = "1aaa023d-e950-47fc-9c3f-54fbffcc99cf",
                Entity       = Entities.Position,
                Operation    = Operations.Delete,
                Successfully = false,
                EntityId     = 1,
                DateTime     = new DateTime(2017, 4, 3)
            };
            Record record3 = new Record
            {
                UserId       = "2da9e5e9-ee3e-473c-a131-c39050b26760",
                Entity       = Entities.Portfolio,
                Operation    = Operations.Update,
                Successfully = true,
                EntityId     = 2,
                DateTime     = new DateTime(2017, 4, 4)
            };
            Session.Save(record1);
            Session.Save(record2);
            Session.Save(record3);
            #endregion

            Session.Flush();

            #region View and function inizialize

            ISQLQuery createSymbolView = Session.CreateSQLQuery(
                "CREATE VIEW SymbolView AS " +
                "SELECT S.SymbolID, S.Symbol, S.Name, C.Symbol AS CurrencySymbol " +
                "FROM  HistoricalDataNew.dbo.Symbol AS S INNER JOIN " +
                "HistoricalDataNew.dbo.Currencies AS C ON S.CurrencyId = C.CurrencyId");

            ISQLQuery createSymbolDividends = Session.CreateSQLQuery(
                "CREATE VIEW SymbolDividends AS " +
                "SELECT    DividendAmount, SymbolID, TradeDate " +
                "FROM   HistoricalDataNew.dbo.Dividend");

            ISQLQuery createTradeSybolInformation = Session.CreateSQLQuery(
                "CREATE VIEW TradeSybolInformation AS " +
                "SELECT SymbolID, TradeDate, TradeIndex " +
                "FROM   HistoricalDataNew.dbo.IndexData " +
                "UNION " +
                "SELECT SymbolID, TradeDate, CAST(TradeOpen AS money) AS TradeIndex " +
                "FROM   HistoricalDataNew.dbo.StockData");

            ISQLQuery createGetPriceInDateInterval = Session.CreateSQLQuery(

                "CREATE FUNCTION[dbo].[getPriceDividendForSymbolInDateInterval](@dateFrom datetime, @dateTo datetime, @symbolId int) " +
                "RETURNS " +
                "@report TABLE(TradeDate datetime, Price MONEY, Dividends MONEY) " +
                "AS BEGIN " +
                "INSERT INTO @report SELECT DISTINCT tr.TradeDate, tr.TradeIndex AS Price, ISNULL(( " +
                "SELECT SUM(d.DividendAmount) " +

                "FROM SymbolDividends d " +

                "WHERE d.SymbolId = tr.SymbolId AND d.SymbolID = @symbolId AND " +

                "d.TradeDate = tr.TradeDate),0) AS Dividends " +

                "FROM TradeSybolInformation tr " +
                "WHERE tr.SymbolID = @symbolId  AND tr.TradeDate >= @dateFrom AND tr.TradeDate <= @dateTo " +

                "ORDER BY tr.TradeDate " +

                "RETURN " +
                "END ");

            ISQLQuery creategetMaxMinGain = Session.CreateSQLQuery(
                "CREATE FUNCTION[dbo].[getMaxMinGainForSymbolInDateInterval](@dateFrom datetime, @dateTo datetime, @symbolId int) " +
                "RETURNS " +
                "@report TABLE(TradeDate datetime, Price MONEY, Dividends MONEY) " +
                "AS BEGIN " +
                "DECLARE @tab TABLE(TradeDate datetime, Price MONEY, Dividends MONEY) " +

                "INSERT INTO @tab SELECT *FROM getPriceDividendForSymbolInDateInterval(@dateFrom, @dateTo, @symbolId) " +

                "INSERT INTO @report SELECT TOP 1 * FROM @tab " +
                "WHERE Price + Dividends = (SELECT MAX(Price + Dividends) FROM @tab) " +

                "INSERT INTO @report SELECT TOP 1 * FROM @tab " +
                "WHERE Price + Dividends = (SELECT MIN(Price + Dividends) FROM @tab) " +

                "RETURN " +
                "END");


            createSymbolView.ExecuteUpdate();
            createSymbolDividends.ExecuteUpdate();
            createTradeSybolInformation.ExecuteUpdate();
            createGetPriceInDateInterval.ExecuteUpdate();
            creategetMaxMinGain.ExecuteUpdate();

            #endregion
        }
コード例 #37
0
 public static int Min(ColumnFormat format)
 {
     return GetMaxWidth(format);
 }
コード例 #38
0
        public void SetColumnType(int colIndex, ColumnFormat format, string endIndex)
        {
            string col = GetColSymbol(colIndex);

            SetColumnType(col, format, endIndex);
        }