Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protected void ReadData(string filePath, bool upload)
- {
- StringBuilder sb = new StringBuilder();
- #region upload
- if (upload == true) // CSV file upload chosen
- {
- using (CsvReader csv = new CsvReader(new StreamReader(filePath), true)) // Cache CSV file to memory
- {
- int fieldCount = csv.FieldCount; // Total number of fields per row
- string[] headers = csv.GetFieldHeaders(); // Correct CSV headers stored in array
- SortedList<int, string> errorList = new SortedList<int, string>(); // This list will contain error values
- ORCData data = new ORCData();
- bool errorFlag = false;
- int errorCount = 0;
- // Check if headers are correct first before reading data
- if (headers[0] != "first name" || headers[1] != "last name" || headers[2] != "job title" || headers[3] != "email address" || headers[4] != "telephone number" || headers[5] != "company" || headers[6] != "research manager" || headers[7] != "user card number")
- {
- sb.Append("Headers are incorrect");
- }
- else
- {
- while (csv.ReadNextRecord())
- try
- {
- //Check csv obj data for valid values
- for (int i = 0; i < fieldCount; i++)
- {
- if (i == 0 || i == 1) // FirstName and LastName
- {
- if (Regex.IsMatch(csv[i].ToString(), "^[a-z]+$", RegexOptions.IgnoreCase) == false) //REGEX letters only min of 5 char max of 20
- {
- errorList.Add(errorCount, csv[i]);
- errorCount += 1;
- errorFlag = true;
- string text = csv[i].ToString();
- }
- }
- }
- if (errorFlag == true)
- {
- sb.Append("<b>" + "Number of Error: " + errorCount + "</b>");
- sb.Append("<ul>");
- foreach (KeyValuePair<int, string> key in errorList)
- {
- sb.Append("<li>" + key.Value + "</li>");
- }
- }
- else // All validation checks equaled to false. Create User
- {
- string message = ORCLdap.CreateUserAccount(rootLDAPPath, svcUsername, svcPassword, csv[0], csv[1], csv[2], csv[3], csv[4], csv[5], csv[7]);
- // TODO: Add to object here
- sb.Append(message);
- //sb.Append("<b>New user data uploaded successfully</b>");
- }
- }// end of try
- catch (Exception ex)
- {
- sb.Append(ex.ToString());
- }
- finally
- {
- lblMessage.Text = sb.ToString();
- sb.Remove(0, sb.Length);
- hdnRdoSelection.Value = "1";
- }
- }
- }
- }
- #endregion
- dynamic settings= new ExpandoObject();
Add Comment
Please, Sign In to add comment