示例#1
0
        public Dictionary <String, MeasureInfo> GetMeasures(String cubeName)
        {
            try
            {
                System.Diagnostics.Trace.TraceInformation("{0} Ranet.Olap.Core.Providers.OlapMetadataProvider Get Measures List Started \r\n cubeName: '{1}'",
                                                          DateTime.Now.ToString(), cubeName);

                Dictionary <String, MeasureInfo> list = new Dictionary <String, MeasureInfo>();

                CubeDef cube = FindCube(cubeName);
                if (cube != null)
                {
                    foreach (Measure measure in cube.Measures)
                    {
                        MeasureInfo info = InfoHelper.CreateMeasureInfo(measure);
                        if (info != null)
                        {
                            if (!list.ContainsKey(info.UniqueName))
                            {
                                list.Add(info.UniqueName, info);
                            }
                        }
                    }
                }

                return(list);
            }
            finally {
                System.Diagnostics.Trace.TraceInformation("{0} Ranet.Olap.Core.Providers.OlapMetadataProvider Get Measures List Completed ",
                                                          DateTime.Now.ToString(), cubeName);
            }
        }
示例#2
0
文件: TvPanel.cs 项目: Daoting/dt
        void MeasureChildRows(MeasureInfo p_info, TvItem p_item)
        {
            if (p_item.Children.Count == 0)
            {
                return;
            }

            if (p_item.IsExpanded)
            {
                foreach (var item in p_item.Children)
                {
                    var elem = (UIElement)Children[p_info.Index];
                    elem.Measure(p_info.Size);
                    p_info.TotalHeight += elem.DesiredSize.Height;
                    p_info.Index++;
                    MeasureChildRows(p_info, item);
                }
            }
            else
            {
                foreach (var item in p_item.Children)
                {
                    var elem = (UIElement)Children[p_info.Index];
                    elem.Measure(_sizeEmpty);
                    p_info.Index++;
                    MeasureChildRows(p_info, item);
                }
            }
        }
    public MeasureInfo GetMeasureInfo()
    {
        MeasureInfo measureInfo = new MeasureInfo();
        float       resolution  = song.resolution;

        {
            measureInfo.measureLine.tickOffset            = 0;
            measureInfo.measureLine.repetitions           = 1;
            measureInfo.measureLine.tickGap               = (uint)(resolution * 4.0f / denominator * numerator);
            measureInfo.measureLine.repetitionCycleOffset = 0;
        }

        {
            measureInfo.beatLine.tickGap               = measureInfo.measureLine.tickGap / numerator;
            measureInfo.beatLine.tickOffset            = measureInfo.beatLine.tickGap;
            measureInfo.beatLine.repetitions           = (int)numerator - 1;
            measureInfo.beatLine.repetitionCycleOffset = measureInfo.beatLine.tickOffset;
        }

        {
            measureInfo.quarterBeatLine.tickGap               = measureInfo.beatLine.tickGap;
            measureInfo.quarterBeatLine.tickOffset            = measureInfo.beatLine.tickGap / 2;
            measureInfo.quarterBeatLine.repetitions           = (int)numerator;
            measureInfo.quarterBeatLine.repetitionCycleOffset = 0;
        }

        return(measureInfo);
    }
示例#4
0
        public bool WriteMeasureInfo(MeasureInfo measureInfo)
        {
            if (_package == null || _excelWorksheet == null)
            {
                return(false);
            }

            try
            {
                _excelWorksheet.Cells[REPORT_DATE].Value    = measureInfo.ReportDate?.ToString(cstrDateFomatShow);
                _excelWorksheet.Cells[MEASURE_START].Value  = measureInfo.MeasureStart?.ToString(cstrDateTimeFomatShow);
                _excelWorksheet.Cells[MEASURE_END].Value    = measureInfo.MeasureEnd?.ToString(cstrDateTimeFomatShow);
                _excelWorksheet.Cells[MEASURE_TYPE].Value   = measureInfo.MeasureType == emMeasureType.AlarmTest ? ALARM_TEST : WALKING_TEST;
                _excelWorksheet.Cells[MEASURE_RESULT].Value = measureInfo.MeasureResult;
                _excelWorksheet.Cells[ALARM_VALUE].Value    = measureInfo.AlarmValue;
                _excelWorksheet.Cells[DEVICE_NAME].Value    = measureInfo.DeviceName;
                _excelWorksheet.Cells[MEASURE_ID].Value     = measureInfo.MeasureId;
                _excelWorksheet.Cells[USERNAME].Value       = measureInfo.UserName;

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
示例#5
0
 public MeasureTreeNode(MeasureInfo info)
     : base(info)
 {
     if (String.IsNullOrEmpty(info.Expression))
     {
         Icon = UriResources.Images.Measure16;
     }
     else
     {
         Icon = UriResources.Images.MeasureCalc16;
     }
 }
        /// <summary>
        /// Output collected statistics.
        /// Side effects: Updates statistics. Writes objects to stream.
        /// </summary>
        protected override void EndProcessing()
        {
            // Fix for 917114: If Property is not set,
            // and we aren't passed any records at all,
            // output 0s to emulate wc behavior.
            if (_totalRecordCount == 0 && Property == null)
            {
                _statistics.EnsureEntry(thisObject);
            }

            foreach (string propertyName in _statistics.Keys)
            {
                Statistics stat = _statistics[propertyName];
                if (stat.count == 0 && Property != null)
                {
                    // Why are there two different ids for this error?
                    string errorId = (IsMeasuringGeneric) ? "GenericMeasurePropertyNotFound" : "TextMeasurePropertyNotFound";
                    WritePropertyNotFoundError(propertyName, errorId);
                    continue;
                }

                MeasureInfo mi = null;
                if (IsMeasuringGeneric)
                {
                    double temp;
                    if ((stat.min == null || LanguagePrimitives.TryConvertTo <double>(stat.min, out temp)) &&
                        (stat.max == null || LanguagePrimitives.TryConvertTo <double>(stat.max, out temp)))
                    {
                        mi = CreateGenericMeasureInfo(stat, true);
                    }
                    else
                    {
                        mi = CreateGenericMeasureInfo(stat, false);
                    }
                }
                else
                {
                    mi = CreateTextMeasureInfo(stat);
                }

                // Set common properties.
                if (Property != null)
                {
                    mi.Property = propertyName;
                }

                WriteObject(mi);
            }
        }
示例#7
0
文件: TvPanel.cs 项目: Daoting/dt
        Size MeasureRealRows()
        {
            MeasureInfo info = new MeasureInfo();

            info.Size = new Size(_maxSize.Width, PanelMaxHeight);
            foreach (var item in _owner.RootItems)
            {
                var elem = (UIElement)Children[info.Index];
                elem.Measure(info.Size);
                info.TotalHeight += elem.DesiredSize.Height;
                info.Index++;
                MeasureChildRows(info, item);
            }
            return(new Size(_maxSize.Width, info.TotalHeight));
        }
        public MeasureItemControl(MeasureInfo info)
        {
            if (info == null)
            {
                throw new ArgumentNullException("info");
            }

            if (String.IsNullOrEmpty(info.Expression))
            {
                Icon = UriResources.Images.Measure16;
            }
            else
            {
                Icon = UriResources.Images.MeasureCalc16;
            }

            m_Info = info;
            Text   = info.Caption;
        }
示例#9
0
        public bool WriteMeasureInfo(MeasureInfo measureInfo, bool isNoMysql = true)
        {
            if (_package == null || _excelWorksheet == null)
            {
                return(false);
            }

            try
            {
                _excelWorksheet.Cells[REPORT_DATE].Value    = measureInfo.ReportDate?.ToString(cstrDateFomatShow);
                _excelWorksheet.Cells[MEASURE_START].Value  = measureInfo.MeasureStart?.ToString(cstrDateTimeFomatShow);
                _excelWorksheet.Cells[MEASURE_END].Value    = measureInfo.MeasureEnd?.ToString(cstrDateTimeFomatShow);
                _excelWorksheet.Cells[MEASURE_TYPE].Value   = measureInfo.MeasureType == emMeasureType.AlarmTest ? ALARM_TEST : WALKING_TEST;
                _excelWorksheet.Cells[MEASURE_RESULT].Value = measureInfo.MeasureResult;
                _excelWorksheet.Cells[ALARM_VALUE].Value    = measureInfo.AlarmValue;
                _excelWorksheet.Cells[DEVICE_NAME].Value    = measureInfo.DeviceName;

                if (measureInfo.MeasureType == emMeasureType.WalkingTest)
                {
                    _excelWorksheet.Cells[FAIL_LEVEL].Value = measureInfo.FailLevel;
                    _excelWorksheet.Cells[PERIOD].Value     = measureInfo.Period;
                }

                if (!isNoMysql)
                {
                    _excelWorksheet.InsertRow(4, 1, 7);
                    _excelWorksheet.Cells["B4"].Value = "Measure Id";
                    _excelWorksheet.Cells["C4"].Value = measureInfo.MeasureId;
                    _excelWorksheet.Cells["D4"].Value = "User Name";
                    _excelWorksheet.Cells["E4"].Value = measureInfo.UserName;
                }

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
示例#10
0
        public MeasureInfo GetMeasure(String cubeName, String measureUniqueName)
        {
            try
            {
                System.Diagnostics.Trace.TraceInformation("{0} Ranet.Olap.Core.Providers.OlapMetadataProvider Get Measure '{1}' Started \r\n cubeName: '{2}'",
                                                          DateTime.Now.ToString(), measureUniqueName, cubeName);

                if (String.IsNullOrEmpty(measureUniqueName))
                {
                    return(null);
                }

                CubeDef cube = FindCube(cubeName);
                if (cube != null)
                {
                    foreach (Measure measure in cube.Measures)
                    {
                        MeasureInfo info = InfoHelper.CreateMeasureInfo(measure);
                        if (info != null)
                        {
                            if (info.UniqueName.ToLower() == measureUniqueName.ToLower())
                            {
                                return(info);
                            }
                        }
                    }
                }

                return(null);
            }
            finally
            {
                System.Diagnostics.Trace.TraceInformation("{0} Ranet.Olap.Core.Providers.OlapMetadataProvider Get Measure '{1}' Completed ",
                                                          DateTime.Now.ToString(), measureUniqueName, cubeName);
            }
        }
示例#11
0
        /// <summary>
        /// Возвращает список кубов
        /// </summary>
        /// <returns></returns>
        public CubeDefInfo  GetCubeMetadata(String cubeName, MetadataQueryType type)
        {
            try
            {
                System.Diagnostics.Trace.TraceInformation("{0} Ranet.Olap.Core.Providers.OlapMetadataProvider Getting Cube '{1}' Metadata Started",
                                                          DateTime.Now.ToString(), cubeName);

                CubeDef cube = FindCube(cubeName);
                if (cube != null)
                {
                    CubeDefInfo cube_info = InfoHelper.CreateCubeInfo(cube);
                    foreach (Dimension dim in cube.Dimensions)
                    {
                        DimensionInfo dim_info = InfoHelper.CreateDimensionInfo(dim);
                        cube_info.Dimensions.Add(dim_info);

                        foreach (Hierarchy hierarchy in dim.Hierarchies)
                        {
                            HierarchyInfo hier_info = InfoHelper.CreateHierarchyInfo(hierarchy);
                            dim_info.Hierarchies.Add(hier_info);

                            foreach (Level level in hierarchy.Levels)
                            {
                                LevelInfo level_info = InfoHelper.CreateLevelInfo(level);
                                hier_info.Levels.Add(level_info);
                            }

                            //AdomdConnection conn = GetConnection(ConnectionString);

                            //// Для каждой иерархии пытаемся определить элемент, который имеет тип MemberTypeEnum.All
                            //try
                            //{
                            //    AdomdRestrictionCollection restrictions = new AdomdRestrictionCollection();
                            //    restrictions.Add("CATALOG_NAME", conn.Database);
                            //    restrictions.Add("CUBE_NAME", OlapHelper.ConvertToNormalStyle(cubeName));
                            //    restrictions.Add("DIMENSION_UNIQUE_NAME", dim.UniqueName);
                            //    restrictions.Add("HIERARCHY_UNIQUE_NAME", hierarchy.UniqueName);
                            //    restrictions.Add("MEMBER_TYPE", 2/*MemberTypeEnum.All*/);

                            //    DataSet ds = conn.GetSchemaDataSet("MDSCHEMA_MEMBERS", restrictions);
                            //    if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
                            //    {
                            //        DataTable table = ds.Tables[0];
                            //        if (table.Columns.Contains("MEMBER_UNIQUE_NAME"))
                            //        {
                            //            object obj = ds.Tables[0].Rows[0]["MEMBER_UNIQUE_NAME"];
                            //            if (obj != null)
                            //                hier_info.Custom_AllMemberUniqueName = obj.ToString();
                            //        }
                            //    }
                            //}catch
                            //{
                            //}

                            //// Для каждой иерархии пытаемся определить элемент, который имеет тип MemberTypeEnum.Unknown
                            //try
                            //{
                            //    AdomdRestrictionCollection restrictions = new AdomdRestrictionCollection();
                            //    restrictions.Add("CATALOG_NAME", conn.Database);
                            //    restrictions.Add("CUBE_NAME", OlapHelper.ConvertToNormalStyle(cubeName));
                            //    restrictions.Add("DIMENSION_UNIQUE_NAME", dim.UniqueName);
                            //    restrictions.Add("HIERARCHY_UNIQUE_NAME", hierarchy.UniqueName);
                            //    restrictions.Add("MEMBER_TYPE", 0 /*MemberTypeEnum.Unknown.All*/);

                            //    DataSet ds = conn.GetSchemaDataSet("MDSCHEMA_MEMBERS", restrictions);
                            //    if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
                            //    {
                            //        DataTable table = ds.Tables[0];
                            //        if (table.Columns.Contains("MEMBER_UNIQUE_NAME"))
                            //        {
                            //            object obj = ds.Tables[0].Rows[0]["MEMBER_UNIQUE_NAME"];
                            //            if (obj != null)
                            //                hier_info.Custom_UnknownMemberUniqueName = obj.ToString();
                            //        }
                            //    }
                            //}
                            //catch
                            //{
                            //}
                        }
                    }

                    foreach (Kpi kpi in cube.Kpis)
                    {
                        KpiInfo kpi_info = InfoHelper.CreateKpiInfo(kpi);
                        cube_info.Kpis.Add(kpi_info);
                    }

                    foreach (Measure measure in cube.Measures)
                    {
                        MeasureInfo measure_info = InfoHelper.CreateMeasureInfo(measure);
                        cube_info.Measures.Add(measure_info);
                    }

                    foreach (NamedSet set in cube.NamedSets)
                    {
                        NamedSetInfo set_info = InfoHelper.CreateNamedSetInfo(set);
                        cube_info.NamedSets.Add(set_info);
                    }

                    if (type == MetadataQueryType.GetCubeMetadata_AllMembers)
                    {
                        AdomdConnection conn = GetConnection();
                        // Для каждой иерархии пытаемся определить элемент, который имеет тип MemberTypeEnum.All
                        try
                        {
                            AdomdRestrictionCollection restrictions = new AdomdRestrictionCollection();
                            restrictions.Add("CATALOG_NAME", conn.Database);
                            restrictions.Add("CUBE_NAME", OlapHelper.ConvertToNormalStyle(cubeName));
                            restrictions.Add("MEMBER_TYPE", 2 /*MemberTypeEnum.All*/);

                            DataSet ds = conn.GetSchemaDataSet("MDSCHEMA_MEMBERS", restrictions);
                            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
                            {
                                DataTable table = ds.Tables[0];
                                if (table.Columns.Contains("MEMBER_UNIQUE_NAME") &&
                                    table.Columns.Contains("HIERARCHY_UNIQUE_NAME") &&
                                    table.Columns.Contains("DIMENSION_UNIQUE_NAME"))
                                {
                                    foreach (DataRow row in ds.Tables[0].Rows)
                                    {
                                        String dimension_UniqueName = row["DIMENSION_UNIQUE_NAME"] != null ? row["DIMENSION_UNIQUE_NAME"].ToString() : String.Empty;
                                        String hierarchy_UniqueName = row["HIERARCHY_UNIQUE_NAME"] != null ? row["HIERARCHY_UNIQUE_NAME"].ToString() : String.Empty;
                                        String member_UniqueName    = row["MEMBER_UNIQUE_NAME"] != null ? row["MEMBER_UNIQUE_NAME"].ToString() : String.Empty;

                                        if (!String.IsNullOrEmpty(dimension_UniqueName) &&
                                            !String.IsNullOrEmpty(hierarchy_UniqueName) &&
                                            !String.IsNullOrEmpty(member_UniqueName))
                                        {
                                            DimensionInfo dimension = cube_info.GetDimension(dimension_UniqueName);
                                            if (dimension != null)
                                            {
                                                HierarchyInfo hierarchy = dimension.GetHierarchy(hierarchy_UniqueName);
                                                if (hierarchy != null)
                                                {
                                                    hierarchy.Custom_AllMemberUniqueName = member_UniqueName;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            //throw ex;
                        }
                    }

                    cube_info.MeasureGroups = GetMeasureGroups(cubeName);

                    return(cube_info);
                }

                return(null);
            }
            finally {
                System.Diagnostics.Trace.TraceInformation("{0} Ranet.Olap.Core.Providers.OlapMetadataProvider Getting Cube '{1}' Metadata Completed",
                                                          DateTime.Now.ToString(), cubeName);
            }
        }
示例#12
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var plainText = GetDocumentContents(new HttpRequestWrapper(this.Request));

            if (string.IsNullOrWhiteSpace(plainText))
            {
                log.Info($"收到的資料為空\n" +
                         $"Data:{JsonConvert.SerializeObject(plainText)}\n");

                Response.Write(JsonConvert.SerializeObject(new { ResultCode = 404, ErrorMessage = $"轉換失敗,傳入的資料為空 Data:{plainText}" }));
                return;
            }

            log.Info($"開始解析資料,Data:{plainText}");
            var MIData = JsonConvert.DeserializeObject <MIData>(plainText);

            log.Info($"檢查是否存在會員資料:{MIData.Member_IDNo}");
            var dbIDNo = DBService.MemberInfo.QueryMemberInfoByIDNo(MIData.Member_IDNo);

            log.Trace($"回傳的會員資料UID", dbIDNo);

            try
            {
                if (string.IsNullOrEmpty(dbIDNo))
                {
                    log.Info($"新建會員資料");
                    //儲存該筆資料
                    var memberInfo = new MemberInfo();
                    //取得系統ID
                    var tmpID = ToolLibs.GetDateTimeNowDefaultString();
                    log.Info($"新建的會員資料ID:{tmpID}");
                    #region MemberInfo

                    memberInfo.ID         = tmpID;
                    memberInfo.IDNo       = MIData.Member_IDNo;
                    memberInfo.Name       = "Test";
                    memberInfo.Genger     = 0;
                    memberInfo.BDate      = DateTime.Now;
                    memberInfo.Tel        = "";
                    memberInfo.Mobile     = "";
                    memberInfo.Email      = "";
                    memberInfo.Fax        = "";
                    memberInfo.Occupation = "";
                    memberInfo.CreateDate = DateTime.Now;

                    #endregion
                    log.Trace("新增會員資料", memberInfo);
                    DBService.MemberInfo.InsertMemberInfo(memberInfo);
                }

                //建立新的測量資料
                var measuerInfo = new MeasureInfo();

                //傳入身份證字號
                measuerInfo.MemberIDNo = MIData.Member_IDNo;

                //字串處理,將多餘的 \n \r 去除,並將數據帶入
                measuerInfo.MIData = Regex.Replace(plainText, @"\n|\r", "");

                //帶入現在時間
                measuerInfo.MIDate = DateTime.Now;

                //新增資料,並紀錄新增後的UID
                var measureInfoID = DBService.MeasureInfo.InsertMeasureInfo(measuerInfo).ToString();

                //將網址帶入的UID加密
                var encryptID = ToolLibs.EncryptDES(measureInfoID, Config.DESKey, Config.DESIV);

                //組出網址
                var encryptCodeURL = $"{Config.BaseURL}MInfo.aspx?UID={encryptID}";

                log.Info($"回傳的網址", encryptCodeURL);

                var result = string.Empty;
                if (encryptCodeURL == "")
                {
                    result = JsonConvert.SerializeObject(new { ResultCode = 404, ErrorMessage = "轉換失敗" });
                    Response.Write(result);
                }
                else
                {
                    Response.Write(JsonConvert.SerializeObject(new { ResultCode = 200, Url = encryptCodeURL }));
                }
                log.Info($"回傳的結果,Data:{result}");
            }
            catch (Exception ex)
            {
                log.Error($"資料轉換錯誤\n" +
                          $"Data:{JsonConvert.SerializeObject(MIData)}\n" +
                          $"Exception:{ex.ToString()}");

                Response.Write(JsonConvert.SerializeObject(new { ResultCode = 404, ErrorMessage = $"{ex.ToString()}" }));
            }
        }
示例#13
0
 public SpacingWrapPanel()
 {
     _measureInfo = new MeasureInfo(this);
 }
示例#14
0
 public Measure_AreaItemWrapper(MeasureInfo info)
     : base(info)
 {
     UniqueName = info.UniqueName;
 }