예제 #1
0
        private void InitializeDashboard()
        {
            // Get Group & Portfolio Data from Database
            var groupData = PortfolioAccess.GetGroupDataForDashboard();

            // Groups the data and Create Objects
            var groupDataList = groupData.AsEnumerable()
                                .GroupBy(x => new { ID = x.Field <int>("GroupID"), PortfolionName = x.Field <string>("GroupName") })
                                .Select(grp => new GroupUCModel // Creates a List of Group Objects
            {
                GroupID    = grp.Key.ID,
                GroupName  = grp.Key.PortfolionName,
                Portfolios = grp.Where(t => t.Field <int?>("PortfolioID") != null)
                             .Select(prtf => new PortfolioUCModel       // Creates a list of Portfolio Objects
                {
                    PortfolioId   = prtf.Field <int>("PortfolioID"),
                    PortfolioName = prtf.Field <string>("PortfolioName"),
                    CategoryID    = prtf.Field <int>("CategoryID"),
                    CategoryColor = prtf.Field <string>("Color"),
                }).ToList()
            }).OrderBy(t => t.GroupID).ToList();

            DashboardTblLyt.Controls.Clear();

            DashboardTblLyt.ColumnCount = 1;
            DashboardTblLyt.RowCount    = groupDataList.Count; // Set Row Count based on retrieved group count

            groupDataList.ForEach(grp =>
            {
                // Create GroupUserControl and add it into Dashboard Table Layout
                GroupUC grpUC = new GroupUC(grp);
                grpUC.Dock    = DockStyle.Fill;
                DashboardTblLyt.Controls.Add(grpUC);
            });
        }
예제 #2
0
        private void DeleteBtn_Click(object sender, EventArgs e)
        {
            try
            {
                var result = PortfolioAccess.DeletePortfolio(PortfolioFormData.PortfolioID);

                if (result)
                {
                    MessageBox.Show(this, "Portfolio Deleted", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, "Portfolio Deletion Failed: " + ex.Message, "Failure", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #3
0
        private void SaveBtn_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(prtfTextBox.Text))
                {
                    MessageBox.Show("Enter Portfolio Name");
                    return;
                }
                var portDT = GVToDataTable();
                portDT.Columns.Add("TickerId").SetOrdinal(0);
                portDT.Columns.Add("PortfolioID", typeof(int));

                PortfolioAccess.CreatePortfolio(prtfTextBox.Text, portDT);
                MessageBox.Show(this, "Portfolio Created", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, "Portfolio Creation Failed" + ex.Message, "Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #4
0
        private void InitializePortfolio()
        {
            var prtfData = PortfolioAccess.GetPortfolioData(PortfolioFormData.PortfolioID);

            PortfolioGV.DataSource = prtfData;
        }