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); }); }
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); } }
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); } }
private void InitializePortfolio() { var prtfData = PortfolioAccess.GetPortfolioData(PortfolioFormData.PortfolioID); PortfolioGV.DataSource = prtfData; }