예제 #1
0
        public string AddAnalysisJobSettings(AnalysisJobManager analysisJobSettings, DbContextType dbContextType)
        {
            var result = string.Empty;

            try {
                switch (dbContextType)
                {
                case DbContextType.RFSTAGINGCONTEXT:
                    return(AddStagingDbAnalysisJobSettings(analysisJobSettings));

                case DbContextType.SOURCEDATACONTEXT:
                    _dbContextSourceData.AnalysisJobManagers.Add(analysisJobSettings);
                    _dbContextSourceData.SaveChanges();
                    return(analysisJobSettings.AnalysisJobManagerId.ToString());

                default:
                    throw new NotImplementedException();
                }
            }
            catch (DbEntityValidationException e) {
                result = string.Empty;
                foreach (var eve in e.EntityValidationErrors)
                {
                    foreach (var ve in eve.ValidationErrors)
                    {
                        result += string.Format("{0}: {1} || ", ve.PropertyName, ve.ErrorMessage);
                    }
                }
                return(result);
            }
            catch (Exception ex) {
                return(ex.Message.ToString());
            }
        }
예제 #2
0
        private string AddStagingDbAnalysisJobSettings(AnalysisJobManager analysisJobSettings)
        {
            var sql = string.Format("{0}{1}", "[dbo].[ABSA_INSERT_AnalysisJobManager_CORE_DB] @JobId,@PortfolioName,@HoldingDate,",
                                    "@AnalysisDate,@AnalysisSettings,@DataSettings");
            var jobId            = new SqlParameter("@JobId", analysisJobSettings.JobId);
            var portfolioName    = new SqlParameter("@PortfolioName", analysisJobSettings.PortfolioName);
            var holdingDate      = new SqlParameter("@HoldingDate", analysisJobSettings.HoldingDate);
            var analysisDate     = new SqlParameter("@AnalysisDate", analysisJobSettings.AnalysisDate);
            var analysisSettings = new SqlParameter("@AnalysisSettings", analysisJobSettings.AnalysisSettings);
            var dataSettings     = new SqlParameter("@DataSettings", analysisJobSettings.DataSettings);

            _dbContextRFStaging.Database.ExecuteSqlCommand(sql, jobId, portfolioName, holdingDate,
                                                           analysisDate, analysisSettings, dataSettings);
            return("Successful");
        }