Example #1
0
        public static async Task SaveAssessmentImportAsync(byte[] zipFileToDatabase, int currentUserId, PerformContext context)
        {
            var           logger  = new HangfireLogger(context);
            ImportManager manager = new ImportManager();

            try
            {
                await manager.ProcessCSETAssessmentImport(zipFileToDatabase, currentUserId);
            }catch (Exception e)
            {
                logger.Log(e.Message);
                logger.Log(e.StackTrace);
            }
        }
Example #2
0
        public static async Task SaveImport(ExternalStandard externalStandard, PerformContext context)
        {
            var logger = new HangfireLogger(context);
            var result = await externalStandard.ToSet(logger);

            if (result.IsSuccess)
            {
                try
                {
                    using (var db = new CSET_Context())
                    {
                        db.SETS.Add(result.Result);
                        foreach (var question in result.Result.NEW_REQUIREMENT.SelectMany(s => s.NEW_QUESTIONs()).Where(s => s.Question_Id != 0).ToList())
                        {
                            db.Entry(question).State = EntityState.Unchanged;
                        }
                        await db.SaveChangesAsync();
                    }
                }
                //catch (DbEntityValidationException e)
                //{
                //    foreach(var error in e.EntityValidationErrors)
                //    {
                //        foreach(var validationError in error.ValidationErrors)
                //        {
                //            result.LogError(validationError.ErrorMessage);
                //        }
                //    }
                //    throw new Exception(String.Join("\r\n", result.ErrorMessages));
                //}
                catch (SqlException e)
                {
                    result.LogError(e.Message);
                }
                catch (Exception e)
                {
                    logger.Log("An error was encountered when adding the module to the database.  Please try again");
                    throw e;
                }
            }
            else
            {
                throw new Exception(String.Join("\r\n", result.ErrorMessages));
            }
        }
Example #3
0
 public static async Task ProcessAssessmentImportLegacyAsync(string csetFilePath, string token, string processPath, string apiURL, PerformContext context)
 {
     var           logger  = new HangfireLogger(context);
     ImportManager manager = new ImportManager();
     await manager.LaunchLegacyCSETProcess(csetFilePath, token, processPath, apiURL);
 }