Ejemplo n.º 1
0
        private void SetGroupItems(GroupingOptionsCtrl.Grouping CurGrouping)
        {
            switch (CurGrouping)
            {
            case GroupingOptionsCtrl.Grouping.provider:
                graph.UseBuiltInColors = false;
                graph.LegendTitle      = "Provider";
                break;

            case GroupingOptionsCtrl.Grouping.clinic:
                graph.LegendTitle      = "Clinic";
                graph.UseBuiltInColors = true;
                break;

            default:
                graph.LegendTitle      = "Group";
                graph.UseBuiltInColors = true;
                break;
            }
        }
Ejemplo n.º 2
0
        private GraphQuantityOverTime.GraphDataPointClinic GetDataPointForGrouping(GraphQuantityOverTime.GraphDataPointClinic x, GroupingOptionsCtrl.Grouping curGrouping)
        {
            switch (curGrouping)
            {
            case GroupingOptionsCtrl.Grouping.provider:
                return(new GraphQuantityOverTime.GraphDataPointClinic()
                {
                    DateStamp = x.DateStamp,
                    SeriesName = DashboardCache.Providers.GetProvName(x.ProvNum),
                    Val = x.Val,
                    Count = x.Count
                });

            case GroupingOptionsCtrl.Grouping.clinic:
            default:
                return(new GraphQuantityOverTime.GraphDataPointClinic()
                {
                    DateStamp = x.DateStamp,
                    SeriesName = DashboardCache.Clinics.GetClinicName(x.ClinicNum),
                    Val = x.Val,
                    Count = x.Count
                });
            }
        }
Ejemplo n.º 3
0
        ///<summary>Will add the pre-defined default clinics tab.
        ///Only one default clinics tab can exist at a time, but the user may rename it to add multiple.
        ///This method does NOT save the tab to the database. The user will still have to save changes and will have the option of discarding this tab.</summary>
        public void AddDefaultsTabByGrouping(bool hasPrompt, GroupingOptionsCtrl.Grouping grouping)
        {
            string strGrouping = char.ToUpper(grouping.ToString()[0]) + grouping.ToString().Substring(1);

            if (!ValidateTabName(strGrouping + " Defaults"))
            {
                return;
            }
            //get current layouts
            List <DashboardLayout> layoutsCur;

            GetDashboardLayout(out layoutsCur);
            //create layout
            DashboardLayout layout = new DashboardLayout()
            {
                DashboardColumns   = 3,
                DashboardRows      = 2,
                DashboardGroupName = "Default",
                DashboardTabName   = strGrouping + " Defaults",
                //assigned default layout to first tab.
                DashboardTabOrder = layoutsCur.Count,
                UserGroupNum      = 0,
                UserNum           = 0,
                IsNew             = true,
            };
            int i = 0;

            for (int row = 0; row < layout.DashboardRows; row++)
            {
                for (int col = 0; col < layout.DashboardColumns; col++)
                {
                    DashboardCell cell = new DashboardCell()
                    {
                        CellRow    = row,
                        CellColumn = col,
                    };
                    switch (i++)
                    {
                    default:
                    case 0:
                        cell.CellType     = DashboardCellType.ProductionGraph;
                        cell.CellSettings = ODGraphJson.Serialize(new ODGraphJson()
                        {
                            FilterJson = ODGraphSettingsBase.Serialize(new GraphQuantityOverTimeFilter.GraphQuantityOverTimeFilterSettings()
                            {
                                CurGrouping          = grouping,
                                IncludeCompleteProcs = true,
                                IncludeAdjustements  = true,
                                IncludeWriteoffs     = true,
                            }),
                            GraphJson = ODGraphSettingsBase.Serialize(new GraphQuantityOverTime.QuantityOverTimeGraphSettings()
                            {
                                Title          = "Production - Last 12 Months",
                                QtyType        = OpenDentalGraph.Enumerations.QuantityType.money,
                                SeriesType     = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StackedColumn,
                                GroupByType    = System.Windows.Forms.DataVisualization.Charting.IntervalType.Months,
                                LegendDock     = OpenDentalGraph.Enumerations.LegendDockType.Bottom,
                                QuickRangePref = OpenDentalGraph.Enumerations.QuickRange.last12Months,
                                BreakdownPref  = OpenDentalGraph.Enumerations.BreakdownType.items,
                                BreakdownVal   = 10,
                            })
                        });
                        break;

                    case 1:
                        cell.CellType     = DashboardCellType.IncomeGraph;
                        cell.CellSettings = ODGraphJson.Serialize(new ODGraphJson()
                        {
                            FilterJson = ODGraphSettingsBase.Serialize(new GraphQuantityOverTimeFilter.GraphQuantityOverTimeFilterSettings()
                            {
                                CurGrouping            = grouping,
                                IncludePaySplits       = true,
                                IncludeInsuranceClaims = true,
                            }),
                            GraphJson = ODGraphSettingsBase.Serialize(new GraphQuantityOverTime.QuantityOverTimeGraphSettings()
                            {
                                Title          = "Income - Last 12 Months",
                                QtyType        = OpenDentalGraph.Enumerations.QuantityType.money,
                                SeriesType     = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StackedColumn,
                                GroupByType    = System.Windows.Forms.DataVisualization.Charting.IntervalType.Months,
                                LegendDock     = OpenDentalGraph.Enumerations.LegendDockType.Bottom,
                                QuickRangePref = OpenDentalGraph.Enumerations.QuickRange.last12Months,
                                BreakdownPref  = OpenDentalGraph.Enumerations.BreakdownType.items,
                                BreakdownVal   = 10,
                            })
                        });
                        break;

                    case 2:
                        cell.CellType     = DashboardCellType.BrokenApptGraph;
                        cell.CellSettings = ODGraphJson.Serialize(new ODGraphJson()
                        {
                            FilterJson = ODGraphSettingsBase.Serialize(new GraphQuantityOverTimeFilter.GraphQuantityOverTimeFilterSettings()
                            {
                                CurGrouping = grouping,
                                CurRunFor   = BrokenApptGraphOptionsCtrl.RunFor.appointment,
                            }),
                            GraphJson = ODGraphSettingsBase.Serialize(new GraphQuantityOverTime.QuantityOverTimeGraphSettings()
                            {
                                Title          = "Broken Appointments - Last 12 Months",
                                QtyType        = OpenDentalGraph.Enumerations.QuantityType.count,
                                SeriesType     = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StackedColumn,
                                GroupByType    = System.Windows.Forms.DataVisualization.Charting.IntervalType.Months,
                                LegendDock     = OpenDentalGraph.Enumerations.LegendDockType.Bottom,
                                QuickRangePref = OpenDentalGraph.Enumerations.QuickRange.last12Months,
                                BreakdownPref  = OpenDentalGraph.Enumerations.BreakdownType.items,
                                BreakdownVal   = 10,
                            })
                        });
                        break;

                    case 3:
                        cell.CellType     = DashboardCellType.ProductionGraph;
                        cell.CellSettings = ODGraphJson.Serialize(new ODGraphJson()
                        {
                            FilterJson = ODGraphSettingsBase.Serialize(new GraphQuantityOverTimeFilter.GraphQuantityOverTimeFilterSettings()
                            {
                                CurGrouping          = grouping,
                                IncludeCompleteProcs = true,
                                IncludeAdjustements  = true,
                                IncludeWriteoffs     = true,
                            }),
                            GraphJson = ODGraphSettingsBase.Serialize(new GraphQuantityOverTime.QuantityOverTimeGraphSettings()
                            {
                                Title          = "Production - Last 30 Days",
                                QtyType        = OpenDentalGraph.Enumerations.QuantityType.money,
                                SeriesType     = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StackedColumn,
                                GroupByType    = System.Windows.Forms.DataVisualization.Charting.IntervalType.Days,
                                LegendDock     = OpenDentalGraph.Enumerations.LegendDockType.Bottom,
                                QuickRangePref = OpenDentalGraph.Enumerations.QuickRange.last30Days,
                                BreakdownPref  = OpenDentalGraph.Enumerations.BreakdownType.items,
                                BreakdownVal   = 10,
                            })
                        });
                        break;

                    case 4:
                        cell.CellType     = DashboardCellType.IncomeGraph;
                        cell.CellSettings = ODGraphJson.Serialize(new ODGraphJson()
                        {
                            FilterJson = ODGraphSettingsBase.Serialize(new GraphQuantityOverTimeFilter.GraphQuantityOverTimeFilterSettings()
                            {
                                CurGrouping            = grouping,
                                IncludePaySplits       = true,
                                IncludeInsuranceClaims = true,
                            }),
                            GraphJson = ODGraphSettingsBase.Serialize(new GraphQuantityOverTime.QuantityOverTimeGraphSettings()
                            {
                                Title          = "Income - Last 30 Days",
                                QtyType        = OpenDentalGraph.Enumerations.QuantityType.money,
                                SeriesType     = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StackedColumn,
                                GroupByType    = System.Windows.Forms.DataVisualization.Charting.IntervalType.Days,
                                LegendDock     = OpenDentalGraph.Enumerations.LegendDockType.Bottom,
                                QuickRangePref = OpenDentalGraph.Enumerations.QuickRange.last30Days,
                                BreakdownPref  = OpenDentalGraph.Enumerations.BreakdownType.items,
                                BreakdownVal   = 10,
                            })
                        });
                        break;

                    case 5:
                        cell.CellType     = DashboardCellType.NewPatientsGraph;
                        cell.CellSettings = ODGraphJson.Serialize(new ODGraphJson()
                        {
                            FilterJson = ODGraphSettingsBase.Serialize(new GraphQuantityOverTimeFilter.GraphQuantityOverTimeFilterSettings()
                            {
                                CurGrouping = grouping
                            }),
                            GraphJson = ODGraphSettingsBase.Serialize(new GraphQuantityOverTime.QuantityOverTimeGraphSettings()
                            {
                                Title          = "New Patients - Last 12 Months",
                                QtyType        = OpenDentalGraph.Enumerations.QuantityType.count,
                                SeriesType     = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StackedColumn,
                                GroupByType    = System.Windows.Forms.DataVisualization.Charting.IntervalType.Months,
                                LegendDock     = OpenDentalGraph.Enumerations.LegendDockType.Bottom,
                                QuickRangePref = OpenDentalGraph.Enumerations.QuickRange.last12Months,
                                BreakdownPref  = OpenDentalGraph.Enumerations.BreakdownType.items,
                                BreakdownVal   = 10,
                            })
                        });
                        break;
                    }
                    layout.Cells.Add(cell);
                }
            }
            layoutsCur.Add(layout);
            //set dashboard tab control layouts
            SetDashboardLayout(layoutsCur, true);
            _hasUnsavedChanges = _hasUnsavedChanges || hasPrompt;
        }