private void CheckHeaders(XlWorksheet worksheet) { if (worksheet != null) { Schema s; List <string> h; if (worksheet.Name == "DET_Deployments") { s = DeploymentDTO.GetSchema(); } else if (worksheet.Name == "DET_Measurements") { s = MeasurementDTO.GetSchema(); } else if (worksheet.Name == "LIST_Sites") { s = SiteDTO.GetSchema(); } else if (worksheet.Name == "LIST_Sensors") { s = SensorDTO.GetSchema(); } else { return; } h = new List <string>(); List <string> hdrs = ExcelBaseDet.Headers(worksheet); bool bad = false; for (int i = 0; i < hdrs.Count - 1; i++) { string t = hdrs[i]; for (int j = i + 1; j < hdrs.Count; j++) { if (t == hdrs[j]) { bad = true; break; //inner } } if (bad) { break; //outer } } if (bad) { generalDet.ValidationIssues.Add(ValidationIssue.Code.DuplicateHeader, "Duplicate column header in " + worksheet.Name); } foreach (SchemaEntry c in s) { h.Add(c.LowerColumnName); } if (!ExcelBaseDet.HasHeaders(hdrs, h)) { generalDet.ValidationIssues.Add(ValidationIssue.Code.MissingFieldHeader, "Missing column header in " + worksheet.Name); } } }
private void LoadRow(string sheetName, Dictionary <string, string> values) { ValidationIssues issues = generalDet.ValidationIssues; if (sheetName == "DET_Deployments") { DeploymentDTO newDto = new DeploymentDTO(values); newDto.Validate(); //issues.Merge(newDto.ValidationIssues); issues.Add(newDto.ValidationIssues.Collapse("Deployment " + newDto.DeployCode)); bool success = generalDet.Deployments.Add(newDto); if (!success) { issues.Add(ValidationIssue.Code.NonUniqueKeyCode, string.Format("The deployment with code {0} is not unique.", newDto.LookupKey)); } } else if (sheetName == "DET_Measurements") { values["measuredatetime"] = ExcelBaseDet.ParseDate(values["measuredatetime"]); MeasurementDTO newDto = new MeasurementDTO(values); newDto.Validate(); //issues.Merge(newDto.ValidationIssues); issues.Add(newDto.ValidationIssues.Collapse("Measurement " + newDto.DeployCode + " " + newDto.MeasureDateTime)); bool success = generalDet.Measurements.Add(newDto); if (!success) { issues.Add(ValidationIssue.Code.NonUniqueKeyCode, string.Format("The measurment with code {0} is not unique.", newDto.LookupKey)); } } else if (sheetName == "LIST_Sites") { SiteDTO newDto = new SiteDTO(values); newDto.Validate(); //issues.Merge(newDto.ValidationIssues); issues.Add(newDto.ValidationIssues.Collapse("Site " + newDto.Key)); bool success = generalDet.Sites.Add(newDto); if (!success) { issues.Add(ValidationIssue.Code.NonUniqueKeyCode, string.Format("The site with code {0} is not unique.", newDto.LookupKey)); } } else if (sheetName == "LIST_Sensors") { InstrumentDTO newDto = new InstrumentDTO(values); newDto.Validate(); //issues.Merge(newDto.ValidationIssues); issues.Add(newDto.ValidationIssues.Collapse("Instrument " + newDto.Key)); bool success = generalDet.Instruments.Add(newDto); if (!success) { issues.Add(ValidationIssue.Code.NonUniqueKeyCode, string.Format("The instrument with code {0} is not unique.", newDto.LookupKey)); } } }
protected MeasurementDTO MapMeasurement(IMeasurementModel model) { var modelDTO = new MeasurementDTO { Id = model.Id, MeasurementDate = model.MeasurementDate, Value = String.Format("{0:0.##}", Math.Round(model.Value, 2)), ApplicationUser = model.ApplicationUser }; return(modelDTO); }
private MeasurementViewModel MapMeasurementDTO(MeasurementDTO model) { var viewModel = new MeasurementViewModel { Id = model.Id, MeasurementDate = model.MeasurementDate, Value = model.Value, Difference = model.Difference, ApplicationUser = model.ApplicationUser }; return(viewModel); }
/// <summary> /// Post Measurement /// </summary> /// <param name="measurement">measurement that should be posted to the web api</param> /// <returns>HttpStatusCode</returns> public async Task <HttpStatusCode> PostMeasurement(Measurement measurement) { MeasurementDTO m = new MeasurementDTO(); m.SetMeasurementDTO(measurement); HttpResponseMessage response = await client.PostAsJsonAsync("measurements", m); // will throw an exception if not successful response.EnsureSuccessStatusCode(); return(response.StatusCode); }
private static MeasurementDTO CreatePhonyMeasurement(int index) { MeasurementDTO dto = new MeasurementDTO(); dto.DeployCode = string.Format("DeployCode {0}", index); dto.MeasureDateTime = Parsing.ParseDate(string.Format("{0}/01/2017", index)); dto.Conductivity = Parsing.ParseDouble(""); dto.DO = Parsing.ParseDouble(""); dto.Salinity = Parsing.ParseDouble(""); dto.SurfaceElevation = Parsing.ParseDouble("23.0"); dto.Temperature = Parsing.ParseDouble(""); dto.Velocity = Parsing.ParseDouble(""); dto.pH = Parsing.ParseDouble(""); return(dto); }
public async Task <IHttpActionResult> PostMeasurement(MeasurementDTO measurement) { /* Check if model is valid */ if (!ModelState.IsValid) { var errors = ModelState.ToDictionary( kvp => kvp.Key, kvp => kvp.Value.Errors.Select(e => e.ErrorMessage).ToArray() ); return(Content(HttpStatusCode.BadRequest, errors)); } IMeasurementDao dao = AdoFactory.Instance.GetMeasurementDao("wetr"); await dao.InsertAsync(measurement.ToMeasurement()); return(Content(HttpStatusCode.OK, new object())); }
private DataTab MeasurementsDataTab() { return(new DataTab("DET_Measurements", XlColor.White, MeasurementDTO.GetSchema(), generalDet.Measurements.Values)); }