예제 #1
0
        /// <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);
            }
        }
예제 #2
0
        /// <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);
        }