/// <summary>
        /// Save evaluation information to sap result.
        /// </summary>
        /// <param name="evaInfo">The evaluation information.</param>
        /// <returns></returns>
        private ResultViewModel SendToEvaluationSapResult(Data.Pocos.Evaluation evaInfo)
        {
            var result = new ResultViewModel();

            try
            {
                var evaluationResult = _summaryEvaluation.GetDetail(evaInfo.Id);
                var periodItem       = _unitOfWork.GetRepository <PeriodItem>().GetCache(x => x.Id == evaInfo.PeriodItemId).FirstOrDefault();
                var sapResult        = new EvaluationSapResult
                {
                    ComCode   = evaInfo.ComCode,
                    PurOrg    = evaInfo.PurchasingOrg,
                    SendToSap = false,
                    Vendor    = evaInfo.VendorNo,
                    WeightKey = evaInfo.WeightingKey,
                    YearMonth = UtilityService.DateTimeToString(periodItem.EndEvaDate.Value, "yy.MM")
                };
                this.DeclareScore(sapResult, evaluationResult.Summarys);
                _unitOfWork.GetRepository <EvaluationSapResult>().Add(sapResult);
            }
            catch (Exception ex)
            {
                result = UtilityService.InitialResultError(ex.Message);
                _logger.LogError(ex, "The Errors Message : ");
            }
            return(result);
        }
        /// <summary>
        /// Declare kpi group score to sap fields.
        /// </summary>
        /// <param name="sapResult">The sap result entity model.</param>
        /// <param name="summaries">The summary score.</param>
        private void DeclareScore(EvaluationSapResult sapResult, IEnumerable <Models.SummaryEvaluationDetailViewModel> summaries)
        {
            var kpiGroups = _unitOfWork.GetRepository <KpiGroup>().GetCache();
            var sapFields = _unitOfWork.GetRepository <SapFields>().GetCache();

            foreach (var item in summaries)
            {
                if (item.KpiId == 0)
                {
                    var kpiGroup = kpiGroups.FirstOrDefault(x => x.Id == item.KpiGroupId);
                    var sapField = sapFields.FirstOrDefault(x => x.Id == kpiGroup.SapFieldsId);
                    sapResult.GetType().GetProperty(sapField.SapFields1).SetValue(sapResult, Convert.ToDecimal(item.Score));
                }
            }
        }