private void UpdateKPI(FUpdateStockValue values)
        {
            var lastTime  = 0;
            var lastValue = StockValuesOverTime.FindAll(x => x.Name == values.ArticleType + " " + values.StockName);

            if (lastValue.Any())
            {
                lastTime = lastValue.Max(x => x.Time);
            }
            else
            {
                CreateKpiStartEntry(values);
            }

            var k = new Kpi {
                Name       = values.ArticleType + " " + values.StockName
                , Value    = values.NewValue
                , ValueMin = lastTime
                , Time     = (int)Collector.Time
                , KpiType  = DB.Nominal.KpiType.StockEvolution
                , SimulationConfigurationId = Collector.simulationId.Value
                , SimulationNumber          = Collector.simulationNumber.Value
                , IsFinal        = false
                , IsKpi          = true
                , SimulationType = Collector.simulationKind.Value
            };

            StockValuesOverTime.Add(item: k);
        }
Example #2
0
        public async Task <IActionResult> PutKpi([FromRoute] int id, [FromBody] Kpi kpi)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != kpi.Kpiid)
            {
                return(BadRequest());
            }

            _context.Entry(kpi).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!KpiExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Content("Successfully updated KPI"));
        }
        public Kpi CalculateKpis()
        {
            var calculator = new InteractionRateCalculator();

            var kpi = new Kpi();

            kpi.UsersCount = this.membersCount;

            if (this.postsCount <= 0)
            {
                return(kpi);
            }

            kpi.PostsCount             = this.postsCount;
            kpi.AverageLikesPerPost    = (double)this.postLikesCount / this.postsCount;
            kpi.AverageCommentsPerPost = (double)this.postCommentsCount / this.postsCount;
            kpi.InteractionRate        = this.membersCount > 0 ? calculator.GetInteractionRate(this.postCommentsCount, this.postLikesCount, this.postsCount, this.shareCount, this.membersCount) : 0;
            kpi.ResponseRate           = (double)this.postsWithAdminCommentsCount / this.postsCount;
            kpi.UgcRate       = (double)(this.postsCount - this.adminPostsCount) / this.postsCount;
            kpi.InvolmentRate = this.membersCount > 0 ? (double)this.postsCount / this.membersCount : 0;

            kpi.AdminPostsCount = this.adminPostsCount;
            kpi.UserPostsCount  = this.postsCount - this.adminPostsCount;
            kpi.SharePerPosts   = (double)this.shareCount / this.postsCount;

            return(kpi);
        }
Example #4
0
        /// <summary>
        /// Get Client KPI's AlertLevel With Operator. (Ex: >=,5555)
        /// </summary>
        /// <param name="clientID"></param>
        /// <param name="kpi"></param>
        /// <returns></returns>
        private string GetKPIAlertLevelWithOperatorForClient(int clientID, Kpi kpi)
        {
            string clientSpecificAlert = _m3PactContext.ClientKpimap.Where(ck => ck.ClientId == clientID && ck.Kpiid == kpi.Kpiid).Select(ck => ck.ClientStandard).FirstOrDefault();
            string alert = (clientSpecificAlert != null && clientSpecificAlert != "") ? clientSpecificAlert : kpi.AlertLevel;

            return(alert);
        }
Example #5
0
        public async Task <IActionResult> PostKpi([FromBody] Kpi kpi)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.Kpi.Add(kpi);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (KpiExists(kpi.Kpiid))
                {
                    return(new StatusCodeResult(StatusCodes.Status409Conflict));
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetKpi", new { id = kpi.Kpiid }, kpi));
        }
Example #6
0
        public static KpiInfo CreateKpiInfo(Kpi kpi)
        {
            if (kpi == null)
            {
                return(null);
            }
            KpiInfo info = new KpiInfo();

            info.Caption       = kpi.Caption;
            info.Description   = kpi.Description;
            info.Name          = kpi.Name;
            info.DisplayFolder = kpi.DisplayFolder;
            info.StatusGraphic = kpi.StatusGraphic;
            info.TrendGraphic  = kpi.TrendGraphic;

            // Информация о предках
            if (kpi.ParentCube != null)
            {
                info.ParentCubeId = kpi.ParentCube.Name;
            }
            if (kpi.ParentKpi != null)
            {
                info.ParentKpiId = kpi.ParentKpi.Name;
            }

            // Свойства
            foreach (Property prop in kpi.Properties)
            {
                //PropertyInfo pi = new PropertyInfo(prop.Name, prop.Type, prop.Value);
                PropertyInfo pi = new PropertyInfo(prop.Name, prop.Value);
                info.Properties.Add(pi);
            }

            return(info);
        }
Example #7
0
        private void button3_Click(object sender, EventArgs e)
        {
            //int cod = 994;
            DAOKpi      daok = new DAOKpi();
            DAORegistro daor = new DAORegistro();

            for (int i = 986; i >= 970; i--)
            {
                DataTable dt  = daok.ObtenerKPI(i);
                Kpi       kpi = new Kpi();
                foreach (DataRow rw in dt.Rows)
                {
                    kpi.IndCod_KPIDivision    = i + 2;
                    kpi.Ind_KPIDivision       = rw[1].ToString();
                    kpi.Ind_KPIDivisionAbrev  = rw[2].ToString();
                    kpi.Ind_KPIDivisionEstado = rw[3].ToString();
                    kpi.Ind_KPIDivisionCodUni = rw[4].ToString();
                    kpi.Ind_KPITipoData       = rw[5].ToString();
                    kpi.Ind_SLA             = (decimal)Decimal.Parse(rw[6].ToString());
                    kpi.IndCod_KPIGen       = (int)Int32.Parse(rw[7].ToString());
                    kpi.Cod_sociedad        = (int)Int32.Parse(rw[8].ToString());
                    kpi.Ind_KPIDivisionTipo = rw[9].ToString();
                    kpi.Uni_falla           = (decimal)Decimal.Parse(rw[10].ToString());
                    kpi.Tas_multa           = (decimal)Decimal.Parse(rw[11].ToString());
                }

                daok.insertKPICompleto(kpi);

                daor.updateRegistros(i, i + 2);

                daok.deleteKPI(i);
            }

            MessageBox.Show("Fin");
        }
Example #8
0
        public IHttpActionResult Post([FromBody] Kpi kpi)
        {
            LogManager.AddInfo(DateTime.Now + $" BEGIN : KpisController.Post Fecha:{kpi.Fecha}, PromedioEdad:{kpi.PromedioEdad}, DesviacionEstandar:{kpi.DesviacionEstandar}");
            var result = new JsonResultModel <string>()
            {
                Success = false
            };;

            var stopWatch = GetStopWatch();

            try
            {
                kpisService.Create(kpi);
                result.Success = true;
                LogManager.AddInfo(DateTime.Now + $" SUCCESS : KpisController.Post Fecha:{kpi.Fecha}, PromedioEdad:{kpi.PromedioEdad}, DesviacionEstandar:{kpi.DesviacionEstandar}");
                stopWatch.Stop();
            }
            catch (Exception ex)
            {
                stopWatch.Stop();
                LogManager.AddError("KpisController", "Post", string.Empty, string.Empty, stopWatch.ElapsedTicks, ex);
                //
                result.Message = ex.Message;
            }

            return(Ok(result));
        }
Example #9
0
        public IHttpActionResult Patch(string kpiId, [FromBody] Kpi client)
        {
            LogManager.AddInfo(DateTime.Now + $" BEGIN : KpisController.patch kpiId:{kpiId}");
            var result = new JsonResultModel <string>()
            {
                Success = false
            };;

            var stopWatch = GetStopWatch();

            try
            {
                kpisService.Update(kpiId, client);
                result.Success = true;
                LogManager.AddInfo(DateTime.Now + $" BEGIN : KpisController.patch kpiId:{kpiId}");
                stopWatch.Stop();
            }
            catch (Exception ex)
            {
                stopWatch.Stop();
                LogManager.AddError("KpisController", "patch", string.Empty, string.Empty, stopWatch.ElapsedTicks, ex);
                //
                result.Message = ex.Message;
            }

            return(Ok(result));
        }
Example #10
0
        private void button3_Click(object sender, EventArgs e)
        {
            Kpi kmodif = new Kpi();

            kmodif.IndCod_KPIDivision    = (int)Int32.Parse(txtcodsis.Text);
            kmodif.Ind_KPIDivisionCodUni = txtcodigoM.Text;
            kmodif.Ind_KPIDivision       = txtnombreM.Text;
            kmodif.Ind_KPIDivisionAbrev  = txtabrevM.Text;

            if (cboprioridadM.SelectedIndex == 0)
            {
                kmodif.Ind_KPITipoData = "Otros";
            }
            else
            {
                kmodif.Ind_KPITipoData = "Principal";
            }

            kmodif.Cod_sociedad = (int)Int32.Parse(cboempresaM.SelectedValue.ToString());

            if (cboestadoM.SelectedIndex == 0)
            {
                kmodif.Ind_KPIDivisionEstado = "Alta";
            }
            else
            {
                kmodif.Ind_KPIDivisionEstado = "Baja";
            }

            DAOKpi dao = new DAOKpi();

            dao.updateKPI(kmodif);

            MessageBox.Show("Guardado!");
        }
Example #11
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (CamposCompletos())
            {
                if (!ExisteelEnlace(txtcd.Text))
                {
                    Kpi nuevo = new Kpi();
                    nuevo.Cod_sociedad          = (int)Int32.Parse(cboempresa.SelectedValue.ToString());
                    nuevo.Ind_KPIDivision       = txtnombre.Text;
                    nuevo.Ind_KPIDivisionAbrev  = txtabrev.Text;
                    nuevo.Ind_KPIDivisionEstado = "Alta";
                    nuevo.Ind_KPIDivisionCodUni = txtcd.Text;
                    nuevo.Ind_KPITipoData       = cboprioridad.SelectedItem.ToString();
                    nuevo.Ind_SLA             = CalculodeSLAAcordado(cbozona.SelectedIndex, cboacceso.SelectedIndex);
                    nuevo.IndCod_KPIGen       = 1;
                    nuevo.Ind_KPIDivisionTipo = "Porcentaje";

                    DAOKpi dao = new DAOKpi();
                    dao.insertKPI(nuevo);
                    MessageBox.Show("Agregado el Nuevo Enlace");
                    this.Close();
                }
                else
                {
                    MessageBox.Show("Ya existe un enlace con el CD ingresado.");
                }
            }
            else
            {
                MessageBox.Show("Inserta todo los Datos");
            }
        }
Example #12
0
        public async Task <ActionResult <Kpi> > PostKpi(Kpi kpi)
        {
            kpi.CreationDate = DateTime.Now;
            _context.Kpis.Add(kpi);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetKpi", new { id = kpi.Id }, kpi));
        }
Example #13
0
        public static MboActuals Create(MboRev mboRev, Kpi kpi, MonthlyValuesValueObject values)
        {
            var entity = new MboActuals()
            {
                MboRev = mboRev, Kpi = kpi, Values = values
            };

            return(entity);
        }
Example #14
0
        public static MboKpi Create(MboRev mboRev, Kpi kpi)
        {
            var entity = new MboKpi()
            {
                Revision = mboRev, Kpi = kpi
            };

            return(entity);
        }
Example #15
0
        public Tuple <bool, List <GradeKpiItem> > KpiItemOperator(User user, IList <KpiItem> kpiItems,
                                                                  string logicalOperator, TimeType timeType)
        {
            // 条件结果

            var oldOperator      = logicalOperator;
            var kpiItemResult    = false;
            var gradeKpiItemList = new List <GradeKpiItem>();

            foreach (var kpiItem in kpiItems)
            {
                var kpi = new Kpi
                {
                    ModuleId = kpiItem.KpiConfigId,
                    UserId   = user.Id,
                    Type     = timeType
                };
                // 最后一条Kpi考核记录
                var lastKpi = Resolve <IKpiService>().GetLastSingle(kpi);
                if (lastKpi != null)
                {
                    kpiItemResult =
                        LinqHelper.CompareByOperator(kpiItem.OperatorCompare, kpiItem.Amount, lastKpi.TotalValue);

                    // 记录记录
                    var kpiConfig = Resolve <IAutoConfigService>().GetList <KpiAutoConfig>().ToList()
                                    .FirstOrDefault(r => r.Id == kpiItem.KpiConfigId);
                    var gradeKpiItem = new GradeKpiItem
                    {
                        Amount      = lastKpi.TotalValue,
                        KpiId       = kpi.Id,
                        KpiName     = kpiConfig?.Name,
                        KpiConfigId = kpiConfig?.Id
                    };
                    gradeKpiItemList.Add(gradeKpiItem);
                }
                else
                {
                    kpiItemResult = false;
                }

                // 将唯一标识,用条件结果替换
                logicalOperator = logicalOperator.Replace(kpiItem.Key, kpiItemResult.ToString().ToLower());
            }

            // 根据逻辑计算结算结果
            try
            {
                kpiItemResult = LogicExpression.Operate(logicalOperator);
            }
            catch
            {
                throw new ValidException("计算报错,请确认逻辑运算符格式是否正确,逻辑预算符:" + oldOperator);
            }

            return(Tuple.Create(kpiItemResult, gradeKpiItemList));
        }
Example #16
0
        public bool Update(string kpiId, Kpi client)
        {
            ThrowExceptionWhenKpiIdIsNull(kpiId);

            ValidateKpiInformation(client);

            client._id = kpiId;

            return(kpisRepository.Update(client));
        }
Example #17
0
        public void Create(Kpi kpi)
        {
            ValidateKpiInformation(kpi);
            if (!string.IsNullOrEmpty(kpi._id))
            {
                throw new ArgumentException("kpi._id deberia ser nulo o vacio");
            }

            kpisRepository.Create(kpi);
        }
Example #18
0
        public bool Delete(Kpi kpi)
        {
            var collection   = context.GetKpis();
            var deleteResult = collection.DeleteOne(
                Builders <Kpi> .Filter.Eq(x => x._id, kpi._id));

            var result = deleteResult.IsAcknowledged && (deleteResult.DeletedCount == 1 || deleteResult.DeletedCount == 0);

            return(result);
        }
Example #19
0
        private void button2_Click(object sender, EventArgs e)
        {
            DAOKpi daok = new DAOKpi();
            Kpi    kpi  = new Kpi();

            kpi.IndCod_KPIDivision    = (int)Int32.Parse(txtcodigo.Text);
            kpi.Ind_KPIDivisionEstado = "Baja";
            daok.updateKPI(kpi);
            MessageBox.Show("Se ha dado de baja el enlace!");
            this.Close();
        }
        public static void AddKpiToPivotTable(Kpi k, Excel.PivotTable pvt)
        {
            foreach (string sKpiPart in new string[] { "KPI_VALUE", "KPI_GOAL", "KPI_STATUS", "KPI_TREND" })
            {
                string sKpiMeasure = Convert.ToString(k.Properties[sKpiPart].Value);
                if (string.IsNullOrEmpty(sKpiMeasure))
                {
                    continue;
                }

                Excel.CubeField field = pvt.CubeFields.get_Item(sKpiMeasure);
                if (field.Orientation == Excel.XlPivotFieldOrientation.xlDataField)
                {
                    continue;
                }
                field.Orientation = Excel.XlPivotFieldOrientation.xlDataField;

                if (sKpiPart == "KPI_STATUS" || sKpiPart == "KPI_TREND")
                {
                    Excel.PivotItem        pi      = (Excel.PivotItem)pvt.DataPivotField.PivotItems(sKpiMeasure);
                    Excel.Range            range   = pi.DataRange;
                    Excel.IconSetCondition iconSet = (Excel.IconSetCondition)range.FormatConditions.AddIconSetCondition();

                    string            sStatusGraphic = (sKpiPart == "KPI_STATUS" ? k.StatusGraphic : k.TrendGraphic);
                    IconSetDefinition def            = new IconSetDefinition();
                    if (_dictIconSetLookup.ContainsKey(sStatusGraphic))
                    {
                        def = _dictIconSetLookup[sStatusGraphic];
                    }
                    else
                    {
                        System.Windows.Forms.MessageBox.Show("Status graphic type " + sStatusGraphic + " not expected. Please contact the authors of OLAP PivotTable Extensions on the About tab.", "OLAP PivotTable Extensions");
                    }

                    iconSet.IconSet = pvt.Application.ActiveWorkbook.IconSets[def.IconSet];
                    try
                    {
                        iconSet.ScopeType = Microsoft.Office.Interop.Excel.XlPivotConditionScope.xlDataFieldScope;
                    }
                    catch { }
                    iconSet.ShowIconOnly = true;
                    iconSet.ReverseOrder = def.Reverse;

                    int i = 2;
                    foreach (double d in def.ValueBoundaries)
                    {
                        Excel.IconCriterion crit = iconSet.IconCriteria[i++];
                        crit.Type     = Excel.XlConditionValueTypes.xlConditionValueNumber;
                        crit.Value    = d;
                        crit.Operator = (int)(Excel.XlFormatConditionOperator.xlGreaterEqual);
                    }
                }
            }
        }
Example #21
0
        public static Kpi BuildKpi(string classWrap, string title, long userId)
        {
            Kpi item = new Kpi()
            {
                Id               = GetRandomId(),
                Score            = GetRandom(1000),
                ClassWrapperName = classWrap,
                Title            = title,
                UserId           = userId
            };

            return(item);
        }
Example #22
0
 private static void ValidateKpiInformation(Kpi kpi)
 {
     if (kpi == null)
     {
         throw new ArgumentNullException("kpi");
     }
     if (kpi.Fecha == DateTime.MinValue || kpi.Fecha == DateTime.MaxValue)
     {
         throw new ArgumentException("Fecha inválida");
     }
     //if (kpi.PromedioEdad < 0) throw new ArgumentException("PromedioEdad no puede ser negatico o igual a cero");
     //if (kpi.DesviacionEstandar <= 0) throw new ArgumentException("DesviacionEstandar no puede ser negativa o igual a cero");
 }
Example #23
0
        public int calcularConsecutivos(Kpi kpi)
        {
            DAORegistro daoregistro = new DAORegistro();

            DataTable       dtregistro    = daoregistro.MostrarRegistroxKPI(kpi.IndCod_KPIDivision.Value);
            List <Registro> listaregistro = new List <Registro>();

            foreach (DataRow rw in dtregistro.Rows)
            {
                Registro reg = new Registro();
                reg.Fecha_registro     = DateTime.ParseExact(rw[0].ToString(), "yyyy-MM-dd HH:mm:ss", null);
                reg.Periodo_registro   = rw[1].ToString();
                reg.IndCod_KPIDivision = (int)Int32.Parse(rw[2].ToString());

                if (!rw[3].ToString().Equals(""))
                {
                    reg.Valor_registro = (decimal)Decimal.Parse(rw[3].ToString());
                }

                if (!rw[4].ToString().Equals(""))
                {
                    reg.Valor_penalidad = (decimal)Decimal.Parse(rw[4].ToString());
                }

                listaregistro.Add(reg);
            }

            int meses = 0;

            for (int i = listaregistro.Count - 1; i >= 0; i--)
            {
                if (kpi.Ind_KPIDivisionTipo.Equals("Porcentaje"))
                {
                    if (listaregistro[i].Valor_registro < kpi.Ind_SLA)
                    {
                        break;
                    }
                }
                else
                {
                    if (listaregistro[i].Valor_registro > kpi.Ind_SLA)
                    {
                        break;
                    }
                }

                meses++;
            }

            return(meses);
        }
Example #24
0
        public bool Update(Kpi kpi)
        {
            var collection   = context.GetKpis();
            var updateResult = collection.UpdateOne(
                Builders <Kpi> .Filter.Eq(x => x._id, kpi._id),
                Builders <Kpi> .Update
                .Set(x => x.Fecha, kpi.Fecha.Date)
                .Set(x => x.PromedioEdad, kpi.PromedioEdad)
                .Set(x => x.DesviacionEstandar, kpi.DesviacionEstandar));

            var result = updateResult.IsAcknowledged && (updateResult.ModifiedCount == 1 || updateResult.ModifiedCount == 0);

            return(result);
        }
        public SaveKpiTransformationLogResponse Save(SaveKpiTransformationLogRequest request)
        {
            try
            {
                var kpiTransformationLog      = request.MapTo <KpiTransformationLog>();
                var kpiTransformationSchedule = DataContext.KpiTransformationSchedules.Local.FirstOrDefault(x => x.Id == request.KpiTransformationScheduleId);
                if (kpiTransformationSchedule == null)
                {
                    kpiTransformationSchedule = new KpiTransformationSchedule {
                        Id = request.KpiTransformationScheduleId
                    };
                    DataContext.KpiTransformationSchedules.Attach(kpiTransformationSchedule);
                }
                kpiTransformationLog.Schedule = kpiTransformationSchedule;
                var kpi = DataContext.Kpis.Local.FirstOrDefault(x => x.Id == request.KpiId);
                if (kpi == null)
                {
                    kpi = new Kpi {
                        Id = request.KpiId
                    };
                    DataContext.Kpis.Attach(kpi);
                }
                kpiTransformationLog.Kpi = kpi;
                DataContext.KpiTransformationLogs.Add(kpiTransformationLog);

                //remove related kpi if error
                if (request.Status == Data.Enums.KpiTransformationStatus.Error && request.MethodId == 1 && request.NeedCleanRowWhenError)
                {
                    var achievements = DataContext.KpiAchievements.Where(
                        x => x.Kpi.Id == request.KpiId && x.Periode == request.Periode && x.PeriodeType == request.PeriodeType).ToList();
                    foreach (var achievement in achievements)
                    {
                        DataContext.KpiAchievements.Remove(achievement);
                    }
                    DataContext.SaveChanges();
                }

                DataContext.SaveChanges();
                return(new SaveKpiTransformationLogResponse {
                    IsSuccess = true, Message = "You have been successfully saved kpi transformation log"
                });
            }
            catch (Exception ex)
            {
                return(new SaveKpiTransformationLogResponse {
                    IsSuccess = false, Message = "Error when saving kpi transformation log" + ex.Message
                });
            }
        }
Example #26
0
        public SaveMirDataTableResponse SaveMirDataTableRespons(SaveMirDataTableRequest request)
        {
            var MirDataTable = request.MapTo <MirDataTable>();

            if (request.MirDataId == 0)
            {
                MirDataTable.MirConfiguration = DataContext.MirConfigurations.FirstOrDefault(x => x.Id == request.MirConfigurationId);
                MirDataTable.Kpis             = new List <Kpi>();
                foreach (var kpiId in request.KpiIds)
                {
                    var kpi = DataContext.Kpis.Local.FirstOrDefault(x => x.Id == kpiId);
                    if (kpi == null)
                    {
                        kpi = new Kpi {
                            Id = kpiId
                        };
                        DataContext.Kpis.Attach(kpi);
                    }
                    MirDataTable.Kpis.Add(kpi);
                }
                DataContext.MirDataTables.Add(MirDataTable);
            }
            else
            {
                MirDataTable = DataContext.MirDataTables.FirstOrDefault(x => x.Id == request.MirDataId);
                request.MapPropertiesToInstance <MirDataTable>(MirDataTable);
                MirDataTable.Kpis = new List <Kpi>();
                foreach (var kpiId in request.KpiIds)
                {
                    var kpi = DataContext.Kpis.Local.FirstOrDefault(x => x.Id == kpiId);
                    if (kpi == null)
                    {
                        kpi = new Kpi {
                            Id = kpiId
                        };
                        DataContext.Kpis.Attach(kpi);
                    }
                    MirDataTable.Kpis.Add(kpi);
                }
            }

            DataContext.SaveChanges();

            return(new SaveMirDataTableResponse
            {
                IsSuccess = true,
                Message = "Mir Data Table has been saved succesfully"
            });
        }
Example #27
0
        private void UpdateKPI(FUpdateStockValue values)
        {
            var k = new Kpi {
                Name      = values.StockName
                , Value   = values.NewValue
                , Time    = (int)Collector.Time
                , KpiType = DB.Enums.KpiType.StockEvolution
                , SimulationConfigurationId = Collector.simulationId.Value
                , SimulationNumber          = Collector.simulationNumber.Value
                , IsFinal        = false
                , IsKpi          = true
                , SimulationType = Collector.simulationKind.Value
            };

            StockValuesOverTime.Add(item: k);
        }
        private void CreateKpi(Collector agent, string value, string name, KpiType kpiType)
        {
            var k = new Kpi
            {
                Name    = name,
                Value   = Convert.ToDouble(value: value),
                Time    = (int)agent.Time,
                KpiType = kpiType,
                SimulationConfigurationId = agent.simulationId.Value,
                SimulationNumber          = agent.simulationNumber.Value,
                IsFinal        = false,
                IsKpi          = true,
                SimulationType = agent.simulationKind.Value
            };

            Kpis.Add(item: k);
        }
        private void CreateKpiStartEntry(FUpdateStockValue values)
        {
            var k = new Kpi
            {
                Name    = values.ArticleType + " " + values.StockName,
                Value   = values.NewValue,
                Time    = 0,
                KpiType = DB.Nominal.KpiType.StockEvolution,
                SimulationConfigurationId = Collector.simulationId.Value,
                SimulationNumber          = Collector.simulationNumber.Value,
                IsFinal        = false,
                IsKpi          = true,
                SimulationType = Collector.simulationKind.Value
            };

            StockValuesOverTime.Add(item: k);
        }
        private void CreateKpi(string name, double values)
        {
            var k = new Kpi
            {
                Name    = name,
                Value   = values,
                Time    = (int)Collector.Time,
                KpiType = DB.Nominal.KpiType.StockTotals,
                SimulationConfigurationId = Collector.simulationId.Value,
                SimulationNumber          = Collector.simulationNumber.Value,
                IsFinal        = true,
                IsKpi          = true,
                SimulationType = Collector.simulationKind.Value
            };

            StockTotalValues.Add(item: k);
        }
Example #31
0
        internal void FromKpi(Kpi k)
        {
            this.SetAllNull();

            if (k.UniqueName != null) this.UniqueName = k.UniqueName.Value;
            if (k.Caption != null) this.Caption = k.Caption.Value;
            if (k.DisplayFolder != null) this.DisplayFolder = k.DisplayFolder.Value;
            if (k.MeasureGroup != null) this.MeasureGroup = k.MeasureGroup.Value;
            if (k.ParentKpi != null) this.ParentKpi = k.ParentKpi.Value;
            if (k.Value != null) this.Value = k.Value.Value;
            if (k.Goal != null) this.Goal = k.Goal.Value;
            if (k.Status != null) this.Status = k.Status.Value;
            if (k.Trend != null) this.Trend = k.Trend.Value;
            if (k.Weight != null) this.Weight = k.Weight.Value;
        }
        public static KpiInfo CreateKpiInfo(Kpi kpi)
        {
            if (kpi == null)
                return null;
            KpiInfo info = new KpiInfo();
            info.Caption = kpi.Caption;
            info.Description = kpi.Description;
            info.Name = kpi.Name;
            info.DisplayFolder = kpi.DisplayFolder;
            info.StatusGraphic = kpi.StatusGraphic;
            info.TrendGraphic = kpi.TrendGraphic;

            // Информация о предках
            if (kpi.ParentCube != null)
            {
                info.ParentCubeId = kpi.ParentCube.Name;
            }
            if (kpi.ParentKpi != null)
            {
                info.ParentKpiId = kpi.ParentKpi.Name;
            }

            // Свойства
            foreach (Property prop in kpi.Properties)
            {
                //PropertyInfo pi = new PropertyInfo(prop.Name, prop.Type, prop.Value);
                PropertyInfo pi = new PropertyInfo(prop.Name, prop.Value);
                info.Properties.Add(pi);
            }

            return info;
        }
Example #33
0
        internal Kpi ToKpi()
        {
            Kpi k = new Kpi();
            k.UniqueName = this.UniqueName;
            if (this.Caption != null && this.Caption.Length > 0) k.Caption = this.Caption;
            if (this.DisplayFolder != null && this.DisplayFolder.Length > 0) k.DisplayFolder = this.DisplayFolder;
            if (this.MeasureGroup != null && this.MeasureGroup.Length > 0) k.MeasureGroup = this.MeasureGroup;
            if (this.ParentKpi != null && this.ParentKpi.Length > 0) k.ParentKpi = this.ParentKpi;
            k.Value = this.Value;
            if (this.Goal != null && this.Goal.Length > 0) k.Goal = this.Goal;
            if (this.Status != null && this.Status.Length > 0) k.Status = this.Status;
            if (this.Trend != null && this.Trend.Length > 0) k.Trend = this.Trend;
            if (this.Weight != null && this.Weight.Length > 0) k.Weight = this.Weight;

            return k;
        }