public string ReorderLabSheetA1Sheet() { LabSheetA1Measurement LabSheetA1MeasurementDailyDuplicate = labSheetA1Sheet.LabSheetA1MeasurementList.Where(c => c.SampleType == CSSPEnumsDLL.Enums.SampleTypeEnum.DailyDuplicate).FirstOrDefault(); LabSheetA1Measurement LabSheetA1MeasurementIntertechDuplicate = labSheetA1Sheet.LabSheetA1MeasurementList.Where(c => c.SampleType == CSSPEnumsDLL.Enums.SampleTypeEnum.IntertechDuplicate).FirstOrDefault(); LabSheetA1Measurement LabSheetA1MeasurementIntertechRead = labSheetA1Sheet.LabSheetA1MeasurementList.Where(c => c.SampleType == CSSPEnumsDLL.Enums.SampleTypeEnum.IntertechRead).FirstOrDefault(); labSheetA1Sheet.LabSheetA1MeasurementList = (from c in labSheetA1Sheet.LabSheetA1MeasurementList where c.SampleType != CSSPEnumsDLL.Enums.SampleTypeEnum.IntertechDuplicate && c.SampleType != CSSPEnumsDLL.Enums.SampleTypeEnum.IntertechRead && c.SampleType != CSSPEnumsDLL.Enums.SampleTypeEnum.DailyDuplicate select c).ToList(); if (LabSheetA1MeasurementIntertechDuplicate != null) { // Insert empty Line labSheetA1Sheet.LabSheetA1MeasurementList.Add(GetEmptyLine()); // Insert modified IntertechDuplicate labSheetA1Sheet.LabSheetA1MeasurementList.Add(GetModifiedIntertechDuplicate(LabSheetA1MeasurementIntertechDuplicate)); // Insert modified IntertechDuplicate RLog labSheetA1Sheet.LabSheetA1MeasurementList.Add(GetRLogLineOfIntertechDuplicate()); // Insert modified IntertechDuplicate Pricision Criteria labSheetA1Sheet.LabSheetA1MeasurementList.Add(GetPrecisionCriteriaLineOfIntertechDuplicate()); } if (LabSheetA1MeasurementIntertechRead != null) { // Insert empty Line labSheetA1Sheet.LabSheetA1MeasurementList.Add(GetEmptyLine()); // Insert modified IntertechRead labSheetA1Sheet.LabSheetA1MeasurementList.Add(GetModifiedIntertechRead(LabSheetA1MeasurementIntertechRead)); // Insert modified IntertechRead labSheetA1Sheet.LabSheetA1MeasurementList.Add(GetAcceptableLineOfIntertechRead()); } if (LabSheetA1MeasurementDailyDuplicate != null) { labSheetA1Sheet.LabSheetA1MeasurementList.Add(LabSheetA1MeasurementDailyDuplicate); } return(""); }
public LabSheetA1Measurement GetModifiedIntertechRead(LabSheetA1Measurement LabSheetA1MeasurementIntertechRead) { LabSheetA1Measurement labSheetA1MeasurementModifiedIntertechDuplicate = new LabSheetA1Measurement() { Site = LabSheetA1MeasurementIntertechRead.Site, Time = null, MPN = LabSheetA1MeasurementIntertechRead.MPN, Tube10 = LabSheetA1MeasurementIntertechRead.Tube10, Tube1_0 = LabSheetA1MeasurementIntertechRead.Tube1_0, Tube0_1 = LabSheetA1MeasurementIntertechRead.Tube0_1, Salinity = null, Temperature = null, ProcessedBy = LabSheetA1MeasurementIntertechRead.ProcessedBy, SampleType = CSSPEnumsDLL.Enums.SampleTypeEnum.IntertechRead, SiteComment = null, TVItemID = -4, // when SampleType = IntertechRead and TVItemID = -4 then replace time text with "Int. R" }; return(labSheetA1MeasurementModifiedIntertechDuplicate); }
public LabSheetA1Measurement GetAcceptableLineOfIntertechRead() { LabSheetA1Measurement labSheetA1MeasurementModifiedIntertechRead = new LabSheetA1Measurement() { Site = null, Time = null, MPN = null, Tube10 = null, Tube1_0 = null, Tube0_1 = null, Salinity = null, Temperature = null, ProcessedBy = (labSheetA1Sheet.IntertechReadAcceptableOrUnacceptable == "Acceptable" ? "OK" : "Not OK"), SampleType = CSSPEnumsDLL.Enums.SampleTypeEnum.IntertechRead, SiteComment = null, TVItemID = -5, // when SampleType = IntertechRead and TVItemID = -3 then nothing to replace }; return(labSheetA1MeasurementModifiedIntertechRead); }
public LabSheetA1Measurement GetEmptyLine() { LabSheetA1Measurement labSheetA1MeasurementEmptyLine = new LabSheetA1Measurement() { Site = null, Time = null, MPN = null, Tube10 = null, Tube1_0 = null, Tube0_1 = null, Salinity = null, Temperature = null, ProcessedBy = null, SampleType = CSSPEnumsDLL.Enums.SampleTypeEnum.Error, SiteComment = null, TVItemID = 0, }; return(labSheetA1MeasurementEmptyLine); }
public LabSheetA1Measurement GetPrecisionCriteriaLineOfIntertechDuplicate() { LabSheetA1Measurement labSheetA1MeasurementModifiedIntertechDuplicate = new LabSheetA1Measurement() { Site = null, Time = null, MPN = (int)(float.Parse(labSheetA1Sheet.IntertechDuplicatePrecisionCriteria) * 1000000), Tube10 = null, Tube1_0 = null, Tube0_1 = null, Salinity = null, Temperature = null, ProcessedBy = (labSheetA1Sheet.IntertechDuplicateAcceptableOrUnacceptable == "Acceptable" ? "OK" : "Not OK"), SampleType = CSSPEnumsDLL.Enums.SampleTypeEnum.IntertechDuplicate, SiteComment = null, TVItemID = -3, // when SampleType = IntertechDuplicate and TVItemID = -3 then replace time text with "PCrit" and devide MPN by 1000000 }; return(labSheetA1MeasurementModifiedIntertechDuplicate); }
private LabSheetA1Measurement GetFilledRandomLabSheetA1Measurement(string OmitPropName) { LabSheetA1Measurement labSheetA1Measurement = new LabSheetA1Measurement(); if (OmitPropName != "Site") { labSheetA1Measurement.Site = GetRandomString("", 20); } if (OmitPropName != "TVItemID") { labSheetA1Measurement.TVItemID = GetRandomInt(1, 11); } if (OmitPropName != "Time") { labSheetA1Measurement.Time = new DateTime(2005, 3, 6); } // should implement a Range for the property MPN and type LabSheetA1Measurement // should implement a Range for the property Tube10 and type LabSheetA1Measurement // should implement a Range for the property Tube1_0 and type LabSheetA1Measurement // should implement a Range for the property Tube0_1 and type LabSheetA1Measurement // should implement a Range for the property Salinity and type LabSheetA1Measurement // should implement a Range for the property Temperature and type LabSheetA1Measurement if (OmitPropName != "ProcessedBy") { labSheetA1Measurement.ProcessedBy = GetRandomString("", 20); } if (OmitPropName != "SampleType") { labSheetA1Measurement.SampleType = (SampleTypeEnum)GetRandomEnumType(typeof(SampleTypeEnum)); } if (OmitPropName != "SiteComment") { labSheetA1Measurement.SiteComment = GetRandomString("", 20); } if (OmitPropName != "SampleTypeText") { labSheetA1Measurement.SampleTypeText = GetRandomString("", 5); } return(labSheetA1Measurement); }
public LabSheetA1Measurement GetRLogLineOfIntertechDuplicate() { if (labSheetA1Sheet.IntertechDuplicateRLog == "Not calculated") { labSheetA1Sheet.IntertechDuplicateRLog = "0.0"; } LabSheetA1Measurement labSheetA1MeasurementModifiedIntertechDuplicate = new LabSheetA1Measurement() { Site = null, Time = null, MPN = (int)(float.Parse(labSheetA1Sheet.IntertechDuplicateRLog) * 1000000), Tube10 = null, Tube1_0 = null, Tube0_1 = null, Salinity = null, Temperature = null, ProcessedBy = null, SampleType = CSSPEnumsDLL.Enums.SampleTypeEnum.IntertechDuplicate, SiteComment = null, TVItemID = -2, // when SampleType = IntertechDuplicate and TVItemID = -2 then replace time text with "RLog" and devide MPN by 1000000 }; return(labSheetA1MeasurementModifiedIntertechDuplicate); }
public LabSheetA1MeasurementTest() { labSheetA1Measurement = new LabSheetA1Measurement(); }
private IEnumerable <ValidationResult> Validate(ValidationContext validationContext, ActionDBTypeEnum actionDBType) { string retStr = ""; Enums enums = new Enums(LanguageRequest); LabSheetA1Measurement labSheetA1Measurement = validationContext.ObjectInstance as LabSheetA1Measurement; labSheetA1Measurement.HasErrors = false; if (string.IsNullOrWhiteSpace(labSheetA1Measurement.Site)) { labSheetA1Measurement.HasErrors = true; yield return(new ValidationResult(string.Format(CSSPServicesRes._IsRequired, "Site"), new[] { "Site" })); } //Site has no StringLength Attribute if (labSheetA1Measurement.TVItemID < 1) { labSheetA1Measurement.HasErrors = true; yield return(new ValidationResult(string.Format(CSSPServicesRes._MinValueIs_, "TVItemID", "1"), new[] { "TVItemID" })); } //MPN has no Range Attribute //Tube10 has no Range Attribute //Tube1_0 has no Range Attribute //Tube0_1 has no Range Attribute //Salinity has no Range Attribute //Temperature has no Range Attribute //ProcessedBy has no StringLength Attribute if (labSheetA1Measurement.SampleType != null) { retStr = enums.EnumTypeOK(typeof(SampleTypeEnum), (int?)labSheetA1Measurement.SampleType); if (labSheetA1Measurement.SampleType == null || !string.IsNullOrWhiteSpace(retStr)) { labSheetA1Measurement.HasErrors = true; yield return(new ValidationResult(string.Format(CSSPServicesRes._IsRequired, "SampleType"), new[] { "SampleType" })); } } if (string.IsNullOrWhiteSpace(labSheetA1Measurement.SiteComment)) { labSheetA1Measurement.HasErrors = true; yield return(new ValidationResult(string.Format(CSSPServicesRes._IsRequired, "SiteComment"), new[] { "SiteComment" })); } //SiteComment has no StringLength Attribute if (!string.IsNullOrWhiteSpace(labSheetA1Measurement.SampleTypeText) && labSheetA1Measurement.SampleTypeText.Length > 100) { labSheetA1Measurement.HasErrors = true; yield return(new ValidationResult(string.Format(CSSPServicesRes._MaxLengthIs_, "SampleTypeText", "100"), new[] { "SampleTypeText" })); } retStr = ""; // added to stop compiling CSSPError if (retStr != "") // will never be true { labSheetA1Measurement.HasErrors = true; yield return(new ValidationResult("AAA", new[] { "AAA" })); } }
public LabSheetA1Sheet ParseLabSheetA1(string LabSheetFileContent) { Thread.CurrentThread.CurrentCulture = new CultureInfo("en-CA"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-CA"); StringBuilder sbPrevCommands = new StringBuilder(); LabSheetA1Sheet labSheetA1Sheet = new LabSheetA1Sheet() { Error = "" }; List <string> VarArr = new List <string>(); StringBuilder sbFileContent = new StringBuilder(LabSheetFileContent); // Verison string retStr = GetVariableValueStr("Version", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.Version = int.Parse(retStr); // Sampling Plan Type retStr = GetVariableValueStr("Sampling Plan Type", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.SamplingPlanType = SamplingPlanTypeEnum.Error; for (int i = 1, count = Enum.GetNames(typeof(SamplingPlanTypeEnum)).Count(); i < count; i++) { if (((SamplingPlanTypeEnum)i).ToString() == retStr) { labSheetA1Sheet.SamplingPlanType = (SamplingPlanTypeEnum)i; break; } } // Sample Type retStr = GetVariableValueStr("Sample Type", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.SampleType = SampleTypeEnum.Error; for (int i = 101, count = Enum.GetNames(typeof(SampleTypeEnum)).Count() + 100; i < count; i++) { if (((SampleTypeEnum)i).ToString() == retStr) { labSheetA1Sheet.SampleType = (SampleTypeEnum)i; break; } } // Lab Sheet Type retStr = GetVariableValueStr("Lab Sheet Type", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.LabSheetType = LabSheetTypeEnum.Error; for (int i = 1, count = Enum.GetNames(typeof(LabSheetTypeEnum)).Count(); i < count; i++) { if (((LabSheetTypeEnum)i).ToString() == retStr) { labSheetA1Sheet.LabSheetType = (LabSheetTypeEnum)i; break; } } // Subsector retStr = GetVariableValueStr("Subsector", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToList(); if (VarArr.Count != 2) { labSheetA1Sheet.Error = "ERR: Subsector variable should have 2 values"; return(labSheetA1Sheet); } labSheetA1Sheet.SubsectorName = VarArr[0].Trim(); labSheetA1Sheet.SubsectorTVItemID = int.Parse(VarArr[1].Trim()); // Date retStr = GetVariableValueStr("Date", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToList(); if (VarArr.Count != 3) { labSheetA1Sheet.Error = "ERR: Date variable should have 3 values"; return(labSheetA1Sheet); } labSheetA1Sheet.RunYear = VarArr[0].Trim(); labSheetA1Sheet.RunMonth = VarArr[1].Trim(); labSheetA1Sheet.RunDay = VarArr[2].Trim(); // Run retStr = GetVariableValueStr("Run", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToList(); if (VarArr.Count != 1) { labSheetA1Sheet.Error = "ERR: Run variable should have 1 values"; return(labSheetA1Sheet); } labSheetA1Sheet.RunNumber = int.Parse(VarArr[0].Trim()); // Tides retStr = GetVariableValueStr("Tides", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.Tides = retStr; // Include Laboratory QA/QC retStr = GetVariableValueStr("IncludeLaboratoryQAQC", sbFileContent); VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 1) { labSheetA1Sheet.Error = "ERR: IncludeLaboratoryQAQC should have 1 values"; return(labSheetA1Sheet); } else { if (VarArr[0].ToLower().StartsWith("t")) { labSheetA1Sheet.IncludeLaboratoryQAQC = true; } else { labSheetA1Sheet.IncludeLaboratoryQAQC = false; } } if (labSheetA1Sheet.IncludeLaboratoryQAQC) { // Sample Crew Initials retStr = GetVariableValueStr("Sample Crew Initials", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.SampleCrewInitials = retStr; // Incubation Start Same Day retStr = GetVariableValueStr("Incubation Start Same Day", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.IncubationStartSameDay = retStr; // Incubation Start Time retStr = GetVariableValueStr("Incubation Start Time", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 3) { labSheetA1Sheet.Error = "ERR: Incubation Start Time variable should have 3 values"; return(labSheetA1Sheet); } labSheetA1Sheet.IncubationBath1StartTime = VarArr[0].Trim(); labSheetA1Sheet.IncubationBath2StartTime = VarArr[1].Trim(); labSheetA1Sheet.IncubationBath3StartTime = VarArr[2].Trim(); // Incubation End Time retStr = GetVariableValueStr("Incubation End Time", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 3) { labSheetA1Sheet.Error = "ERR: Incubation End Time variable should have 3 values"; return(labSheetA1Sheet); } labSheetA1Sheet.IncubationBath1EndTime = VarArr[0].Trim(); labSheetA1Sheet.IncubationBath2EndTime = VarArr[1].Trim(); labSheetA1Sheet.IncubationBath3EndTime = VarArr[2].Trim(); // Incubation Time Calculated retStr = GetVariableValueStr("Incubation Time Calculated", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 3) { labSheetA1Sheet.Error = "ERR: Incubation Time Calculated variable should have 3 values"; return(labSheetA1Sheet); } labSheetA1Sheet.IncubationBath1TimeCalculated = VarArr[0].Trim(); labSheetA1Sheet.IncubationBath2TimeCalculated = VarArr[1].Trim(); labSheetA1Sheet.IncubationBath3TimeCalculated = VarArr[2].Trim(); // Water Bath Count retStr = GetVariableValueStr("Water Bath Count", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.WaterBathCount = int.Parse(retStr); // Water Bath retStr = GetVariableValueStr("Water Bath", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 3) { labSheetA1Sheet.Error = "ERR: Water Bath variable should have 3 values"; return(labSheetA1Sheet); } labSheetA1Sheet.WaterBath1 = VarArr[0].Trim(); labSheetA1Sheet.WaterBath2 = VarArr[1].Trim(); labSheetA1Sheet.WaterBath3 = VarArr[2].Trim(); // TC Has 2 Coolers retStr = GetVariableValueStr("TC Has 2 Coolers", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.TCHas2Coolers = retStr; // TC Field retStr = GetVariableValueStr("TC Field", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 2) { labSheetA1Sheet.Error = "ERR: TC Field variable should have 2 values"; return(labSheetA1Sheet); } labSheetA1Sheet.TCField1 = VarArr[0].Trim(); labSheetA1Sheet.TCField2 = VarArr[1].Trim(); // TC Lab retStr = GetVariableValueStr("TC Lab", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 2) { labSheetA1Sheet.Error = "ERR: TC Lab variable should have 2 values"; return(labSheetA1Sheet); } labSheetA1Sheet.TCLab1 = VarArr[0].Trim(); labSheetA1Sheet.TCLab2 = VarArr[1].Trim(); // TC First retStr = GetVariableValueStr("TC First", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.TCFirst = retStr; // TC Average retStr = GetVariableValueStr("TC Average", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.TCAverage = retStr; // Control Lot retStr = GetVariableValueStr("Control Lot", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.ControlLot = retStr; // Positive 35 retStr = GetVariableValueStr("Positive 35", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.Positive35 = retStr; // Non Target 35 retStr = GetVariableValueStr("Non Target 35", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.NonTarget35 = retStr; // Negative 35 retStr = GetVariableValueStr("Negative 35", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.Negative35 = retStr; // Positive 44.5 retStr = GetVariableValueStr("Positive 44.5", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 3) { labSheetA1Sheet.Error = "ERR: Positive 44.5 variable should have 3 values"; return(labSheetA1Sheet); } labSheetA1Sheet.Bath1Positive44_5 = VarArr[0].Trim(); labSheetA1Sheet.Bath2Positive44_5 = VarArr[1].Trim(); labSheetA1Sheet.Bath3Positive44_5 = VarArr[2].Trim(); // Non Target 44.5 retStr = GetVariableValueStr("Non Target 44.5", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 3) { labSheetA1Sheet.Error = "ERR: Non Target 44.5 variable should have 3 values"; return(labSheetA1Sheet); } labSheetA1Sheet.Bath1NonTarget44_5 = VarArr[0].Trim(); labSheetA1Sheet.Bath2NonTarget44_5 = VarArr[1].Trim(); labSheetA1Sheet.Bath3NonTarget44_5 = VarArr[2].Trim(); // Negative 44.5 retStr = GetVariableValueStr("Negative 44.5", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 3) { labSheetA1Sheet.Error = "ERR: Negative 44.5 variable should have 3 values"; return(labSheetA1Sheet); } labSheetA1Sheet.Bath1Negative44_5 = VarArr[0].Trim(); labSheetA1Sheet.Bath2Negative44_5 = VarArr[1].Trim(); labSheetA1Sheet.Bath3Negative44_5 = VarArr[2].Trim(); // Blank 35 retStr = GetVariableValueStr("Blank 35", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.Blank35 = retStr; // Blank 44.5 retStr = GetVariableValueStr("Blank 44.5", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 3) { labSheetA1Sheet.Error = "ERR: Blank 44.5 variable should have 3 values"; return(labSheetA1Sheet); } labSheetA1Sheet.Bath1Blank44_5 = VarArr[0].Trim(); labSheetA1Sheet.Bath2Blank44_5 = VarArr[1].Trim(); labSheetA1Sheet.Bath3Blank44_5 = VarArr[2].Trim(); // Lot 35 retStr = GetVariableValueStr("Lot 35", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.Lot35 = retStr; // Lot 44.5 retStr = GetVariableValueStr("Lot 44.5", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; } labSheetA1Sheet.Lot44_5 = retStr; // Daily Duplicate retStr = GetVariableValueStr("Daily Duplicate", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 3) { labSheetA1Sheet.Error = "ERR: Daily Duplicate variable should have 3 values"; return(labSheetA1Sheet); } labSheetA1Sheet.DailyDuplicateRLog = VarArr[0].Trim(); labSheetA1Sheet.DailyDuplicatePrecisionCriteria = VarArr[1].Trim(); labSheetA1Sheet.DailyDuplicateAcceptableOrUnacceptable = VarArr[2].Trim(); // Intertech Duplicate retStr = GetVariableValueStr("Intertech Duplicate", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 3) { labSheetA1Sheet.Error = "ERR: Intertech Duplicate variable should have 3 values"; return(labSheetA1Sheet); } labSheetA1Sheet.IntertechDuplicateRLog = VarArr[0].Trim(); labSheetA1Sheet.IntertechDuplicatePrecisionCriteria = VarArr[1].Trim(); labSheetA1Sheet.IntertechDuplicateAcceptableOrUnacceptable = VarArr[2].Trim(); // Intertech Read retStr = GetVariableValueStr("Intertech Read", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.IntertechReadAcceptableOrUnacceptable = retStr; // Sample Bottle Lot Number retStr = GetVariableValueStr("Sample Bottle Lot Number", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.SampleBottleLotNumber = retStr; // Salinities retStr = GetVariableValueStr("Salinities", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 4) { labSheetA1Sheet.Error = "ERR: Salinities variable should have 4 values"; return(labSheetA1Sheet); } labSheetA1Sheet.SalinitiesReadBy = VarArr[0].Trim(); labSheetA1Sheet.SalinitiesReadYear = VarArr[1].Trim(); labSheetA1Sheet.SalinitiesReadMonth = VarArr[2].Trim(); labSheetA1Sheet.SalinitiesReadDay = VarArr[3].Trim(); // Results retStr = GetVariableValueStr("Results", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 4) { labSheetA1Sheet.Error = "ERR: Results variable should have 4 values"; return(labSheetA1Sheet); } labSheetA1Sheet.ResultsReadBy = VarArr[0].Trim(); labSheetA1Sheet.ResultsReadYear = VarArr[1].Trim(); labSheetA1Sheet.ResultsReadMonth = VarArr[2].Trim(); labSheetA1Sheet.ResultsReadDay = VarArr[3].Trim(); // Recorded retStr = GetVariableValueStr("Recorded", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 4) { labSheetA1Sheet.Error = "ERR: Recorded variable should have 4 values"; return(labSheetA1Sheet); } labSheetA1Sheet.ResultsRecordedBy = VarArr[0].Trim(); labSheetA1Sheet.ResultsRecordedYear = VarArr[1].Trim(); labSheetA1Sheet.ResultsRecordedMonth = VarArr[2].Trim(); labSheetA1Sheet.ResultsRecordedDay = VarArr[3].Trim(); // Approved By Supervisor Initials retStr = GetVariableValueStr("Approved By Supervisor Initials", sbFileContent); VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 1) { labSheetA1Sheet.Error = "ERR: Approved By Supervisor Initials should have 1 values"; return(labSheetA1Sheet); } labSheetA1Sheet.ApprovedBySupervisorInitials = VarArr[0].Trim(); // Approval Date retStr = GetVariableValueStr("Approval Date", sbFileContent); VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 3) { labSheetA1Sheet.Error = "ERR: Approval Date should have 3 values"; return(labSheetA1Sheet); } labSheetA1Sheet.ApprovalYear = VarArr[0].Trim(); labSheetA1Sheet.ApprovalMonth = VarArr[1].Trim(); labSheetA1Sheet.ApprovalDay = VarArr[2].Trim(); } else { if (labSheetA1Sheet.Version == 2) { // Daily Duplicate retStr = GetVariableValueStr("Daily Duplicate", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 3) { labSheetA1Sheet.Error = "ERR: Daily Duplicate variable should have 3 values"; return(labSheetA1Sheet); } labSheetA1Sheet.DailyDuplicateRLog = VarArr[0].Trim(); labSheetA1Sheet.DailyDuplicatePrecisionCriteria = VarArr[1].Trim(); labSheetA1Sheet.DailyDuplicateAcceptableOrUnacceptable = VarArr[2].Trim(); // Intertech Duplicate retStr = GetVariableValueStr("Intertech Duplicate", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } VarArr = retStr.Split("|".ToCharArray(), StringSplitOptions.None).ToList(); if (VarArr.Count != 3) { labSheetA1Sheet.Error = "ERR: Intertech Duplicate variable should have 3 values"; return(labSheetA1Sheet); } labSheetA1Sheet.IntertechDuplicateRLog = VarArr[0].Trim(); labSheetA1Sheet.IntertechDuplicatePrecisionCriteria = VarArr[1].Trim(); labSheetA1Sheet.IntertechDuplicateAcceptableOrUnacceptable = VarArr[2].Trim(); // Intertech Read retStr = GetVariableValueStr("Intertech Read", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.IntertechReadAcceptableOrUnacceptable = retStr; } } // Run Weather Comment retStr = GetVariableValueStr("Run Weather Comment", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.RunWeatherComment = retStr; // Run Comment retStr = GetVariableValueStr("Run Comment", sbFileContent); if (retStr.StartsWith("ERR:")) { labSheetA1Sheet.Error = retStr; return(labSheetA1Sheet); } labSheetA1Sheet.RunComment = retStr; using (StringReader sr = new StringReader(LabSheetFileContent)) { int LineNumber = 0; string OldFirstObj = ""; string lineStr = ""; while ((lineStr = sr.ReadLine()) != null) { if (!(lineStr.StartsWith("Site") || lineStr.StartsWith("Log"))) { continue; } LineNumber += 1; List <string> ValueArr = lineStr.Split("\t".ToCharArray(), StringSplitOptions.None).ToList(); for (int i = 0, count = ValueArr.Count; i < count; i++) { ValueArr[i] = ValueArr[i].Trim(); } switch (ValueArr[0]) { case "Site": { while ((lineStr = sr.ReadLine()) != null) { if (lineStr == "________________________________") { break; } ValueArr = lineStr.Split("\t".ToCharArray(), StringSplitOptions.None).ToList(); for (int i = 0, count = ValueArr.Count; i < count; i++) { ValueArr[i] = ValueArr[i].Trim(); } if (ValueArr.Count != 13) { labSheetA1Sheet.Error = string.Format(LabSheetParserRes.ErrorReadingFileAtLine_Error_, LineNumber, string.Format(LabSheetParserRes._Requires_Value, ValueArr[0], 13)); return(labSheetA1Sheet); } List <string> ValueList = new List <string>(); int col = 0; LabSheetA1Measurement a1Measurement = new LabSheetA1Measurement(); foreach (string s in ValueArr) { ValueList.Add(s); switch (col) { case 0: // Site { if (string.IsNullOrWhiteSpace(s)) { labSheetA1Sheet.Error = string.Format(LabSheetParserRes.ErrorReadingFileAtLine_Error_, LineNumber, string.Format(LabSheetParserRes._IsRequired, "Site")); return(labSheetA1Sheet); } a1Measurement.Site = s; } break; case 1: // Time converted into date for DB { a1Measurement.Time = null; if (!string.IsNullOrWhiteSpace(s)) { int Year = 0; int Month = 0; int Day = 0; int Hour = 0; int Minute = 0; int.TryParse(labSheetA1Sheet.RunYear, out Year); int.TryParse(labSheetA1Sheet.RunMonth, out Month); int.TryParse(labSheetA1Sheet.RunDay, out Day); if (s.Length == 5) { int.TryParse(s.Substring(0, 2), out Hour); int.TryParse(s.Substring(3, 2), out Minute); } if (Hour > 23) { Hour = 0; } if (Minute > 59) { Minute = 0; } a1Measurement.Time = new DateTime(Year, Month, Day, Hour, Minute, 0); } } break; case 2: // MPN { a1Measurement.MPN = null; if (!string.IsNullOrWhiteSpace(s)) { int TempInt = -1; if (s.Trim().StartsWith("<")) { TempInt = 1; } else if (s.Trim().StartsWith(">")) { TempInt = 1700; } else { if (!int.TryParse(s, out TempInt)) { TempInt = -999; } } a1Measurement.MPN = TempInt; } } break; case 3: // Tube 10 { a1Measurement.Tube10 = null; if (!string.IsNullOrWhiteSpace(s)) { int TempInt = -1; int.TryParse(s, out TempInt); if (TempInt == -1) { continue; } if (TempInt >= 0) { a1Measurement.Tube10 = TempInt; } } } break; case 4: // Tube 1.0 { a1Measurement.Tube1_0 = null; if (!string.IsNullOrWhiteSpace(s)) { int TempInt = -1; int.TryParse(s, out TempInt); if (TempInt == -1) { continue; } if (TempInt >= 0) { a1Measurement.Tube1_0 = TempInt; } } } break; case 5: // Tube 0.1 { a1Measurement.Tube0_1 = null; if (!string.IsNullOrWhiteSpace(s)) { int TempInt = -1; int.TryParse(s, out TempInt); if (TempInt == -1) { continue; } if (TempInt >= 0) { a1Measurement.Tube0_1 = TempInt; } } } break; case 6: // Salinity { a1Measurement.Salinity = null; if (!string.IsNullOrWhiteSpace(s)) { float TempFloat = -1; float.TryParse(s, out TempFloat); if (TempFloat == -1) { continue; } if (TempFloat >= 0) { a1Measurement.Salinity = TempFloat; } } } break; case 7: // Temperature { a1Measurement.Temperature = null; if (!string.IsNullOrWhiteSpace(s)) { float TempFloat = -99.0f; float.TryParse(s, out TempFloat); if (TempFloat == -99.0f) { continue; } a1Measurement.Temperature = TempFloat; } } break; case 8: // ProcessedBy { a1Measurement.ProcessedBy = null; if (!string.IsNullOrWhiteSpace(s)) { a1Measurement.ProcessedBy = s; } } break; case 9: // SampleType { a1Measurement.SampleType = SampleTypeEnum.Error; if (!string.IsNullOrWhiteSpace(s)) { for (int i = 1, count = Enum.GetNames(typeof(SampleTypeEnum)).Length; i < count; i++) { int j = i + 100; string SampleTypeTest = ((SampleTypeEnum)j).ToString(); SampleTypeEnum SampleTypeValue = (SampleTypeEnum)j; if (SampleTypeTest == s) { a1Measurement.SampleType = SampleTypeValue; break; } } } } break; case 10: // TVItemID of the MWQMSite { a1Measurement.TVItemID = 0; if (!string.IsNullOrWhiteSpace(s)) { int TempInt = 0; if (!int.TryParse(s, out TempInt)) { TempInt = 0; } a1Measurement.TVItemID = TempInt; } } break; case 11: // SiteComment { a1Measurement.SiteComment = null; if (!string.IsNullOrWhiteSpace(s)) { a1Measurement.SiteComment = s; } } break; default: break; } col += 1; } if (!string.IsNullOrWhiteSpace(a1Measurement.Site)) { labSheetA1Sheet.LabSheetA1MeasurementList.Add(a1Measurement); } } } break; case "Log": { sbPrevCommands.AppendLine("________________________________"); sbPrevCommands.AppendLine("Log"); while ((lineStr = sr.ReadLine()) != null) { sbPrevCommands.AppendLine(lineStr); } labSheetA1Sheet.Log = sbPrevCommands.ToString(); } break; default: { labSheetA1Sheet.Error = string.Format(LabSheetParserRes.ErrorReadingFileAtLine_Error_, LineNumber, string.Format(LabSheetParserRes.UnknownParameter_, ValueArr[0])); return(labSheetA1Sheet); } } OldFirstObj = ValueArr[0]; } } return(labSheetA1Sheet); }