public frmEntityChartReport(int entityID, int chartReportID)
        {
            InitializeComponent();
            Message  = new ModelEntites.EntityChartReportDTO();
            EntityID = entityID;
            //  SetValueColumns();
            SetEntityListViews();
            SetSearchRepositoryList();
            SetChartTypes();
            SetFunctoinTypes();
            SetSeriesArrangeTypes();
            if (chartReportID != 0)
            {
                GetEntityChartReport(chartReportID);
            }
            else
            {
                Message = new EntityChartReportDTO();
                ShowMessage();
            }
            lokEntityListView.SelectionChanged += LokEntityListView_SelectionChanged;


            cmbChartType.SelectionChanged += CmbChartType_SelectionChanged;

            ControlHelper.GenerateContextMenu(dtgCategories);
            ControlHelper.GenerateContextMenu(dtgSeries);
            ControlHelper.GenerateContextMenu(dtgValues);
        }
Exemplo n.º 2
0
        //public List<EnumModel> GetFunctionTypes()
        //{
        //    return Enum.GetValues(typeof(ChartReportValueFunction)).Cast<ChartReportValueFunction>().Select(c => new EnumModel() { Value = (int)c, Name = c.ToString() }).ToList();
        //}
        public EntityChartReportDTO ToEntityChartReportDTO(DR_Requester requester, EntityChartReport item, bool withDetails)
        {
            EntityChartReportDTO result = new EntityChartReportDTO();

            result.ID = item.ID;
            bizEntitySearchableReport.ToEntitySearchableReportDTO(item.EntitySearchableReport, result, withDetails);
            result.ChartType        = (ChartType)item.ChartType;
            result.EntityListViewID = item.EntityListViewID;

            if (withDetails)
            {
                BizEntityListView bizEntityListView = new BizEntityListView();
                result.EntityListView = bizEntityListView.GetEntityListView(requester, item.EntityListViewID);
                if (result.EntityListView == null)
                {
                    throw new Exception("عدم دسترسی به لیست نمایش به شناسه" + " " + item.EntityListViewID);
                }
                BizEntityRelationshipTail bizEntityRelationshipTail = new MyModelManager.BizEntityRelationshipTail();
                foreach (var sub in item.CharetReportSeries)
                {
                    EntityChartReportSerieDTO rColumn = new EntityChartReportSerieDTO();
                    rColumn.EntityListViewColumnID = sub.EntityListViewColumnsID.Value;
                    rColumn.EntityListViewColumn   = result.EntityListView.EntityListViewAllColumns.FirstOrDefault(x => x.ID == sub.EntityListViewColumnsID);
                    if (rColumn.EntityListViewColumn == null)
                    {
                        throw new Exception("Chart Report Serie" + " " + sub.ID + " " + "is not accessable!");
                    }
                    rColumn.ArrangeType = (ChartSerieArrangeType)sub.ArrangeType;
                    result.EntityChartReportSeries.Add(rColumn);
                }
                foreach (var sub in item.CharetReportCategories)
                {
                    EntityChartReportCategoryDTO rColumn = new EntityChartReportCategoryDTO();
                    rColumn.EntityListViewColumnID = sub.EntityListViewColumnsID.Value;
                    rColumn.EntityListViewColumn   = result.EntityListView.EntityListViewAllColumns.FirstOrDefault(x => x.ID == sub.EntityListViewColumnsID);
                    if (rColumn.EntityListViewColumn == null)
                    {
                        throw new Exception("Chart Report Category" + " " + sub.ID + " " + "is not accessable!");
                    }
                    result.EntityChartReportCategories.Add(rColumn);
                }
                foreach (var sub in item.CharetReportValues)
                {
                    EntityChartReportValueDTO rColumn = new EntityChartReportValueDTO();
                    rColumn.EntityListViewColumnID = sub.EntityListViewColumnsID.Value;
                    rColumn.EntityListViewColumn   = result.EntityListView.EntityListViewAllColumns.FirstOrDefault(x => x.ID == sub.EntityListViewColumnsID);
                    if (rColumn.EntityListViewColumn == null)
                    {
                        throw new Exception("Chart Report Value" + " " + sub.ID + " " + "is not accessable!");
                    }
                    rColumn.FunctionType = (ChartReportValueFunction)sub.FunctoinType;

                    result.EntityChartReportValues.Add(rColumn);
                }
            }

            return(result);
        }
Exemplo n.º 3
0
        public int UpdateEntityChartReports(EntityChartReportDTO message)
        {
            using (var projectContext = new DataAccess.MyProjectEntities())
            {
                var dbEntitySpecifiedReport = projectContext.EntityChartReport.FirstOrDefault(x => x.ID == message.ID);
                if (dbEntitySpecifiedReport == null)
                {
                    message.ReportType           = ReportType.SearchableReport;
                    message.SearchableReportType = SearchableReportType.ChartReport;
                    dbEntitySpecifiedReport      = new EntityChartReport();
                    dbEntitySpecifiedReport.EntitySearchableReport = bizEntitySearchableReport.ToNewEntitySearchableReport(message);
                }
                else
                {
                    bizEntitySearchableReport.ToUpdateEntitySearchableReport(dbEntitySpecifiedReport.EntitySearchableReport, message);
                }
                dbEntitySpecifiedReport.ChartType        = (Int16)message.ChartType;
                dbEntitySpecifiedReport.EntityListViewID = message.EntityListViewID;

                while (dbEntitySpecifiedReport.CharetReportCategories.Any())
                {
                    projectContext.CharetReportCategories.Remove(dbEntitySpecifiedReport.CharetReportCategories.First());
                }
                if (message.ChartType != ChartType.Pie)
                {
                    var firstCategory = message.EntityChartReportCategories.First();
                    foreach (var sub in message.EntityChartReportCategories)
                    {
                        CharetReportCategories rColumn = new CharetReportCategories();
                        rColumn.EntityListViewColumnsID = sub.EntityListViewColumnID;
                        dbEntitySpecifiedReport.CharetReportCategories.Add(rColumn);
                    }
                    if (message.EntityChartReportCategories.Any() &&
                        !message.EntityChartReportSeries.Any())
                    {   //اگر سری نباشد یک اورلپ باید درست شود
                        EntityChartReportSerieDTO newSerie = new EntityChartReportSerieDTO();
                        newSerie.EntityListViewColumnID = firstCategory.EntityListViewColumnID;
                        newSerie.ArrangeType            = ChartSerieArrangeType.Overlapped;
                        //newSerie.RelationshipPath = firstCategory.RelationshipPath;
                        message.EntityChartReportSeries.Add(newSerie);
                    }

                    while (dbEntitySpecifiedReport.CharetReportSeries.Any())
                    {
                        projectContext.CharetReportSeries.Remove(dbEntitySpecifiedReport.CharetReportSeries.First());
                    }
                    foreach (var sub in message.EntityChartReportSeries)
                    {
                        CharetReportSeries rColumn = new CharetReportSeries();
                        rColumn.EntityListViewColumnsID = sub.EntityListViewColumnID;
                        rColumn.ArrangeType             = (Int16)sub.ArrangeType;
                        dbEntitySpecifiedReport.CharetReportSeries.Add(rColumn);
                    }
                }
                else
                {
                    //کتگوری ندارد
                    while (dbEntitySpecifiedReport.CharetReportSeries.Any())
                    {
                        projectContext.CharetReportSeries.Remove(dbEntitySpecifiedReport.CharetReportSeries.First());
                    }
                    foreach (var sub in message.EntityChartReportSeries)
                    {
                        CharetReportSeries rColumn = new CharetReportSeries();
                        rColumn.EntityListViewColumnsID = sub.EntityListViewColumnID;
                        //ارنج تایپ مهم نیست چون در هر حال موقع ساخت گزارش استک 100 میشود
                        rColumn.ArrangeType = (Int16)ChartSerieArrangeType.Stacked100;

                        dbEntitySpecifiedReport.CharetReportSeries.Add(rColumn);
                    }
                }


                while (dbEntitySpecifiedReport.CharetReportValues.Any())
                {
                    projectContext.CharetReportValues.Remove(dbEntitySpecifiedReport.CharetReportValues.First());
                }
                foreach (var sub in message.EntityChartReportValues)
                {
                    CharetReportValues rColumn = new CharetReportValues();
                    rColumn.EntityListViewColumnsID = sub.EntityListViewColumnID;

                    rColumn.FunctoinType = (short)sub.FunctionType;
                    dbEntitySpecifiedReport.CharetReportValues.Add(rColumn);
                }

                if (dbEntitySpecifiedReport.ID == 0)
                {
                    projectContext.EntityChartReport.Add(dbEntitySpecifiedReport);
                }
                projectContext.SaveChanges();
                return(dbEntitySpecifiedReport.ID);
            }
        }
 private void btnNew_Click(object sender, RoutedEventArgs e)
 {
     Message = new EntityChartReportDTO();
     ShowMessage();
 }