示例#1
0
        public ForecastItemValue GetForecastItemValue(Entity itemValue)
        {
            var forecastItemValue = new ForecastItemValue()
            {
                Id    = GetEntityPrimaryColumnValue(itemValue),
                Value = (decimal)itemValue.GetColumnValue("Value"),
                ForecastIndicatorCode = itemValue.GetColumnValue("ForecastIndicator_Code").ToString(),
                PeriodName            = itemValue.GetColumnValue("PeriodName").ToString(),
                ForecastIndicatorId   = (Guid)itemValue.GetColumnValue("ForecastIndicatorId"),
                ForecastItemId        = (Guid)itemValue.GetColumnValue("ForecastItemId"),
                PeriodId = (Guid)itemValue.GetColumnValue("PeriodId")
            };

            return(forecastItemValue);
        }
示例#2
0
        private ForecastItemValue FindItemValueByPeriodAndIndicator(EntityCollection itemValuesCollection,
                                                                    Guid periodId, Guid indicatorId)
        {
            ForecastItemValue searchItem = null;

            foreach (Entity itemValue in itemValuesCollection)
            {
                if ((periodId == (Guid)itemValue.GetColumnValue("PeriodId")) &&
                    (indicatorId == (Guid)itemValue.GetColumnValue("ForecastIndicatorId")))
                {
                    searchItem = GetForecastItemValue(itemValue);
                    break;
                }
            }
            return(searchItem);
        }
示例#3
0
        public ForecastItemValueResponse GetForecastValue(Guid forecastItemValueId)
        {
            var response = new ForecastItemValueResponse();
            ForecastItemValue forecastItemValue = null;

            try {
                Entity itemValue      = ForecastHelper.GetForecastValueEntity(forecastItemValueId);
                Guid   forecastItemId = (Guid)itemValue.GetColumnValue("ForecastItemId");
                bool   canRead        = ForecastHelper.CheckForecastItemRights(forecastItemId, SchemaRecordRightLevels.CanRead);
                if (canRead)
                {
                    forecastItemValue = ForecastHelper.GetForecastItemValue(itemValue);
                }
                response.Success = true;
            } catch (Exception ex) {
                response.Success = false;
                response.Message = ex.Message;
            }
            response.ForecastItemValue = forecastItemValue;
            return(response);
        }
示例#4
0
 private ForecastHelper.ForecastItem[] GetDataCollection(ForecastData data)
 {
     return(data.Rows.Select(row => {
         var item = new ForecastHelper.ForecastItem {
             Name = row.Value,
             Id = row.Id,
             RowId = row.Cells.First().RowId,
             CanEdit = true
         };
         List <ForecastItemValue> values = new List <ForecastItemValue>();
         foreach (var column in data.Columns)
         {
             var cell = row.Cells.FirstOrDefault(e => e.PeriodId == column.Period.Id &&
                                                 e.IndicatorId == column.Indicator.Id);
             ForecastItemValue currentCellValue = cell == null
                                         ? CreateEmptyValue(column.Indicator.Id, column.Indicator.Code, column.Period.Id)
                                         : CreateValueFromCell(cell, column.Indicator.Code);
             values.Add(currentCellValue);
         }
         item.ForecastItemValues = values.ToArray();
         return item;
     }).ToArray());
 }