/// <summary> /// Map Program Catalog Credit Requirements data. /// </summary> /// <param name="fileName">The file name.</param> private List <ProgramsCatalogsCreditReq> ReadProgramCatalogFile(string fileName) { List <ProgramsCatalogsCreditReq> programCatalogs = new List <ProgramsCatalogsCreditReq>(); try { using (TextFieldParser parser = new TextFieldParser(fileName)) { parser.TextFieldType = FieldType.Delimited; parser.SetDelimiters(","); bool firstfield = true; while (!parser.EndOfData) { //Process field string[] fields = parser.ReadFields(); if (firstfield) { firstfield = false; continue; } float minCredits; var programCatalog = new ProgramsCatalogsCreditReq(); var minCreditsResult = float.TryParse(fields[4]?.ToString(), out minCredits); programCatalog.ProgramID = fields[0]?.ToString() ?? ""; programCatalog.ProgramTitle = fields[1]?.ToString() ?? ""; programCatalog.CatalogYear = fields[2]?.ToString() ?? ""; programCatalog.Minimum_Institutional_credits = fields[3]?.ToString() ?? ""; if (minCreditsResult) { programCatalog.Minimum_credits = minCredits; } programCatalog.Minimum_Institutional_GPA = fields[5]?.ToString() ?? ""; programCatalog.ACPG_STATUS = fields[6]?.ToString() ?? ""; programCatalogs.Add(programCatalog); } } return(programCatalogs); } catch (Exception exp) { this.Log.Error($"Error occurred reading the program csv file. file {fileName}, exception {exp.Message}"); return(null); } }
/// <summary> /// Insert program catalog credit requirements. /// </summary> /// <param name="programCatalogs">The program catalog object.</param> /// <param name="programCatalogCnt">The program catalog count.</param> /// <returns>Returns a value indicating success of the insert.</returns> public bool InsertProgramCatalogCreditReq(ProgramsCatalogsCreditReq programCatalogs, ref int programCatalogCnt) { bool result = false; if (string.IsNullOrEmpty(this.sourceConnection)) { throw new ApplicationException("Connection string is empty or missing."); } if (programCatalogs != null) { try { programCatalogCnt += 1; var connection = new SqlConnection(this.sourceConnection); var parameters = new DynamicParameters(programCatalogs); using (var conn = connection) { conn.Open(); var sproc = "dbo.ProgramsCatalogsCreditReq_Ins"; var value = connection.Execute(sproc, parameters, commandType: CommandType.StoredProcedure); result = true; } } catch (Exception exp) { log.Error($"Failed to insert the program catalog. Program Title {programCatalogs.ProgramTitle}, Program ID {programCatalogs.ProgramID}, exception {exp.Message}"); } } else { throw new ApplicationException("No program catalog data to load."); } return(result); }