Exemplo n.º 1
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            var ret = new InqDefineSourceMDX(SelectedFields, SelectedMetrics, SelectedFilters)
            {
                PreffixDimTable = "AR",
                OlapCubeName    = Helpers.GetCubeName(GlobalVar.DbOLAP_ConnectionStr_Tiny)
            };

            lsttbl_DashboardSource objDs = new lsttbl_DashboardSource()
            {
                Code       = Lib.IfNOE(MySession.DSDefine_CurEditing, "ds_" + DateTime.Now.ToString("yyyyMMddHHmmss")),
                NameVI     = txtDataSourceName.Text,
                NameEN     = txtDataSourceName.Text,
                JsonStr    = ret.ToJsonStr(),
                WHCode     = Lib.NTE(cbDataWarehouse.Value),
                SettingCat = GlobalVar.SettingCat_DS
            };

            MyBI.Me.Save_DashboardSource(objDs);
            if (objDs.Code == MySession.DSDefine_CurEditing)
            {
                cbDataSource.Text = txtDataSourceName.Text;
            }
            else
            {
                MySession.DSDefine_CurEditing = objDs.Code;
                // Reload Data Source
                m_WHCode = cbDataWarehouse.Value.ToString();
                var dsItems = MyBI.Me.Get_DashboardSource(m_WHCode, GlobalVar.SettingCat_DS);
                Helpers.SetDataSource(cbDataSource, dsItems, "Code", "NameEN");
                cbDataSource.Value = MySession.DSDefine_CurEditing;
            }
        }
 public void Set_DataSource(lsttbl_DashboardSource ds)
 {
     try
     {
         this.Reset_Info();
         if (ds == null)
         {
             return;
         }
         if (ds.SettingCat == GlobalVar.SettingCat_DS)
         {
             var obj     = ds.JsonObjMDX;
             var dsUnion = obj.Fields.Union(obj.Summaries.Select(p => p.Field)).Distinct();
             Helpers.SetDataSource(this.cboField, dsUnion, "ColName", "ColAliasVI", this.cboField.Value);
             this.txtVisibleIndex.Text = (GlobalSsn.WidgetGrid_SsnModel.Columns.Count + 1).ToString();
         }
         else if (ds.SettingCat == GlobalVar.SettingCat_KPI)
         {
             var obj     = ds.JsonObjKPI;
             var dsX     = obj.Dimensions.Select(p => new COMCodeNameObj(p.FieldName, p.DisplayName)).ToList();
             var dsY     = obj.Get_SummaryFields();
             var dsUnion = dsX.Union(dsY);
             Helpers.SetDataSource(this.cboField, dsUnion, "Code", "Name", this.cboField.Value);
             this.txtVisibleIndex.Text = (GlobalSsn.WidgetGrid_SsnModel.Columns.Count + 1).ToString();
         }
     }
     catch { }
 }
Exemplo n.º 3
0
        protected void cbKPI_ValueChanged(object sender, EventArgs e)
        {
            ASPxComboBox           _sender = (ASPxComboBox)sender;
            lsttbl_DashboardSource _Kpi    = Kpi;

            if (_Kpi == null)
            {
                return;
            }

            MySession.KPIDefine_CurEditing = _Kpi.Code;
            txtKPIDisplayName.Text         = _Kpi.NameVI;
            var kpi = _Kpi.JsonObjKPI;

            // Set value to control
            if (!string.IsNullOrEmpty(kpi.CtrlTypeDefault) && !string.IsNullOrEmpty(kpi.VisibleTypeDefault))
            {
                cbCtrlType.Value = kpi.CtrlTypeDefault;
                cbCtrlType_ValueChanged(cbCtrlType, EventArgs.Empty);
                cbCtrl.Value = string.Format("{0}-{1}", kpi.CtrlTypeDefault, kpi.VisibleTypeDefault);
            }

            // Add new Part controls of KPI is selected
            foreach (var part in kpi.Dimensions)
            {
                KPIPartCtrlBase ctrl = AddKPIPartControl("dimension", String.Empty);
                ctrl.Set_Info(part);
                m_PartControls.Add(new PartControlInfo()
                {
                    ID = ctrl.ID, ControlType = ctrl.PartType
                });
            }

            /**
             * foreach (var part in kpi.Measures)
             * {
             *     var myCtrl = this.Add_PartControl("measure", false);
             *     myCtrl.Set_Info(part);
             * }
             * foreach (var part in kpi.Contexts)
             * {
             *     var type = "";
             *     if (part.HasCalcFields())
             *             type = "context-Calc";
             *     else
             *             type = "context-Normal";
             *     var myCtrl = this.Add_PartControl(type, false);
             *     myCtrl.Set_Info(part);
             * }
             * foreach (var part in kpi.Filters)
             * {
             *     var myCtrl = this.Add_FilterControl(part.GetTinyType(), false);
             *     myCtrl.Set_Info(part);
             * }
             * // Raise Event OnChange.
             * this.MyPage.My_wcLayoutSetting.Raise_OnChange("KPI", null);
             * this.MyPage.My_wcDSSetting.Raise_OnChange("KPI", new HTLBIEventArgs(item.ParentCode));
             */
        }
Exemplo n.º 4
0
        protected void cbp_Callback(object sender, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)
        {
            try
            {
                var cbp = sender as ASPxCallbackPanel;
                if (cbp == null)
                {
                    return;
                }

                if (cbp.ID == this.cbpPreViewSQL.ID || cbp.ID == this.cbpSavingMsg.ID)
                {
                    var objSett = this.Get_DefineInfo();
                    if (objSett == null)
                    {
                        return;
                    }
                    if (cbp.ID == this.cbpPreViewSQL.ID)
                    {
                        var inqObj = objSett.ReFilter_InqMDX();
                        this.Set_PreViewMDX(inqObj.ToMDX(true));
                    }
                    else if (cbp.ID == this.cbpSavingMsg.ID)
                    {
                        var actionName = Lib.IsNOE(MySession.KPIDefine_CurEditing) ? "Add new " : "Update ";
                        try
                        {
                            // Gọi hàm save
                            var obj = new lsttbl_DashboardSource()
                            {
                                Code       = Lib.IfNOE(MySession.KPIDefine_CurEditing, "kpi_" + DateTime.Now.ToString("yyyyMMddHHmmss")),
                                ParentCode = objSett.DatasourceID,
                                JsonStr    = objSett.ToJsonStr(),
                                NameVI     = this.txtKPIDisplayName.Text,
                                NameEN     = this.txtKPIDisplayName.Text,
                                WHCode     = this.WHCode,
                                SettingCat = GlobalVar.SettingCat_KPI
                            };
                            MyBI.Me.Save_DashboardSource(obj);
                            MySession.KPIDefine_CurEditing = obj.Code;
                        }
                        catch { this.Set_SaveMsgText(string.Format("{0} failed!", actionName), true); }
                        // Gửi trạng thái về client;
                        this.Set_SaveMsgText(string.Format("{0} success!", actionName), false);
                    }
                }
                else if (cbp.ID == this.cbp_Header.ID)
                {
                    if (!string.IsNullOrEmpty(MySession.KPIDefine_CurEditing))
                    {
                        var kpis = MyBI.Me.Get_DashboardKPI_ByWH(this.WHCode).ToList();
                        Helpers.SetDataSource(this.cboKPI, kpis, "Code", "NameVI", MySession.KPIDefine_CurEditing);
                        this.cboKPI.Enabled       = true;
                        this.TrDataSource.Visible = false;
                    }
                }
            }
            catch { }
        }
Exemplo n.º 5
0
        protected void cbDataSource_ValueChanged(object sender, EventArgs e)
        {
            Cleanup();

            // re-init information
            ASPxComboBox cb = (ASPxComboBox)sender;
            object       selectedItemValue = cb.SelectedItem != null ? cb.SelectedItem.Value : null;

            if (selectedItemValue != null)
            {
                m_DSCode = selectedItemValue.ToString();
                lsttbl_DashboardSource datasource = MyBI.Me.Get_DashboardSourceBy(m_DSCode);
                if (datasource != null)
                {
                    MySession.DSDefine_CurEditing = datasource.Code;

                    txtDataSourceName.Text = datasource.NameEN;
                    if (datasource.WHCode != Lib.NTE(cbDataWarehouse.Value))
                    {
                        cbDataWarehouse.Value = datasource.WHCode;
                    }

                    InqDefineSourceMDX inq = datasource.JsonObjMDX;
                    Helpers.SetDataSource(lbSelectedFields, inq.Fields, "UniqueName", "Caption");
                    Helpers.SetDataSource(lbSelectedMetricFields, inq.Summaries, "UniqueName", "Caption");
                    foreach (InqFilterInfoMDX filter in inq.Filters)
                    {
                        FilterCtrlBase ctrl = GenerateFilterControl(filter.FilterType, String.Empty);
                        ctrl.Set_Info(filter);
                        m_Filters.Add(new FilterControlInfo(ctrl)
                        {
                            Type = filter.FilterType
                        });
                    }
                }
            }
            else
            {
                m_DSCode = String.Empty;
            }

            // refress kpi tab
            if (!IsPostBack && MyPage != null)
            {
                MyPage.My_wcKPISetting.DSCode = m_DSCode;
                //MyPage.My_wcKPISetting.Raise_OnChange(String.Empty, EventArgs.Empty);
            }
        }
Exemplo n.º 6
0
        protected void cbp_Callback(object sender, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)
        {
            var cbp = sender as ASPxCallbackPanel;

            if (cbp == null)
            {
                return;
            }

            var inq = this.Get_DefineSource();

            if (cbp.ID == this.cbpPreViewSQL.ID)
            {
                this.Set_PreViewMDX(inq.ToMDX(true));
            }
            else if (cbp.ID == this.cbpSavingMsg.ID)
            {
                var actionName = string.IsNullOrEmpty(MySession.DSDefine_CurEditing) ? "Add new " : "Update ";
                try
                {
                    // Gọi hàm save
                    var objDs = new lsttbl_DashboardSource()
                    {
                        Code       = Lib.IfNOE(MySession.DSDefine_CurEditing, "ds_" + DateTime.Now.ToString("yyyyMMddHHmmss")),
                        NameVI     = this.txtDisplayNameDS.Text,
                        NameEN     = this.txtDisplayNameDS.Text,
                        JsonStr    = inq.ToJsonStr(),
                        WHCode     = Lib.NTE(this.cboDataDW.Value),
                        SettingCat = GlobalVar.SettingCat_DS
                    };
                    MyBI.Me.Save_DashboardSource(objDs);
                    MySession.DSDefine_CurEditing = objDs.Code;
                }
                catch { this.Set_SaveMsgText(string.Format("{0} failed!", actionName), true); }
                // Gửi trạng thái về client;
                this.Set_SaveMsgText(string.Format("{0} success!", actionName), false);
            }
            else if (cbp.ID == this.cbp_Header.ID)
            {
                if (!string.IsNullOrEmpty(MySession.DSDefine_CurEditing))
                {
                    var ds = MyBI.Me.Get_DashboardSource(this.WHCode, GlobalVar.SettingCat_DS).ToList();
                    Helpers.SetDataSource(this.cboDatasource, ds, "Code", "NameVI", MySession.DSDefine_CurEditing);
                }
            }
        }
Exemplo n.º 7
0
        public void Save_DashboardSource(lsttbl_DashboardSource info)
        {
            var db = GlobalVar.DbBI;

            try
            {
                var objFound = db.lsttbl_DashboardSources.FirstOrDefault(p => p.Code == info.Code);
                if (objFound == null)
                {
                    db.lsttbl_DashboardSources.InsertOnSubmit(info);
                }
                else
                {
                    objFound.UpdateOnSubmit(info);
                }

                db.SubmitChanges();
            }
            catch { }
        }