public void DrogueRunExtraB_Every_Property_Has_Get_Set_Test() { string val1 = "Some text"; drogueRunExtraB.DrogueRunReportTest = val1; Assert.AreEqual(val1, drogueRunExtraB.DrogueRunReportTest); string val2 = "Some text"; drogueRunExtraB.LastUpdateContactText = val2; Assert.AreEqual(val2, drogueRunExtraB.LastUpdateContactText); string val3 = "Some text"; drogueRunExtraB.DrogueTypeText = val3; Assert.AreEqual(val3, drogueRunExtraB.DrogueTypeText); int val4 = 45; drogueRunExtraB.DrogueRunID = val4; Assert.AreEqual(val4, drogueRunExtraB.DrogueRunID); int val5 = 45; drogueRunExtraB.SubsectorTVItemID = val5; Assert.AreEqual(val5, drogueRunExtraB.SubsectorTVItemID); int val6 = 45; drogueRunExtraB.DrogueNumber = val6; Assert.AreEqual(val6, drogueRunExtraB.DrogueNumber); DrogueTypeEnum val7 = (DrogueTypeEnum)3; drogueRunExtraB.DrogueType = val7; Assert.AreEqual(val7, drogueRunExtraB.DrogueType); DateTime val8 = new DateTime(2010, 3, 4); drogueRunExtraB.RunStartDateTime = val8; Assert.AreEqual(val8, drogueRunExtraB.RunStartDateTime); bool val9 = true; drogueRunExtraB.IsRisingTide = val9; Assert.AreEqual(val9, drogueRunExtraB.IsRisingTide); DateTime val10 = new DateTime(2010, 3, 4); drogueRunExtraB.LastUpdateDate_UTC = val10; Assert.AreEqual(val10, drogueRunExtraB.LastUpdateDate_UTC); int val11 = 45; drogueRunExtraB.LastUpdateContactTVItemID = val11; Assert.AreEqual(val11, drogueRunExtraB.LastUpdateContactTVItemID); bool val12 = true; drogueRunExtraB.HasErrors = val12; Assert.AreEqual(val12, drogueRunExtraB.HasErrors); IEnumerable <ValidationResult> val39 = new List <ValidationResult>() { new ValidationResult("First CSSPError Message") }.AsEnumerable(); drogueRunExtraB.ValidationResults = val39; Assert.AreEqual(val39, drogueRunExtraB.ValidationResults); }
public void DrogueRun_Every_Property_Has_Get_Set_Test() { int val1 = 45; drogueRun.DrogueRunID = val1; Assert.AreEqual(val1, drogueRun.DrogueRunID); int val2 = 45; drogueRun.SubsectorTVItemID = val2; Assert.AreEqual(val2, drogueRun.SubsectorTVItemID); int val3 = 45; drogueRun.DrogueNumber = val3; Assert.AreEqual(val3, drogueRun.DrogueNumber); DrogueTypeEnum val4 = (DrogueTypeEnum)3; drogueRun.DrogueType = val4; Assert.AreEqual(val4, drogueRun.DrogueType); DateTime val5 = new DateTime(2010, 3, 4); drogueRun.RunStartDateTime = val5; Assert.AreEqual(val5, drogueRun.RunStartDateTime); bool val6 = true; drogueRun.IsRisingTide = val6; Assert.AreEqual(val6, drogueRun.IsRisingTide); DateTime val7 = new DateTime(2010, 3, 4); drogueRun.LastUpdateDate_UTC = val7; Assert.AreEqual(val7, drogueRun.LastUpdateDate_UTC); int val8 = 45; drogueRun.LastUpdateContactTVItemID = val8; Assert.AreEqual(val8, drogueRun.LastUpdateContactTVItemID); bool val9 = true; drogueRun.HasErrors = val9; Assert.AreEqual(val9, drogueRun.HasErrors); IEnumerable <ValidationResult> val30 = new List <ValidationResult>() { new ValidationResult("First CSSPError Message") }.AsEnumerable(); drogueRun.ValidationResults = val30; Assert.AreEqual(val30, drogueRun.ValidationResults); }
// Post public DrogueRunModel PostAddOrModifyDB(FormCollection fc) { int tempInt = 0; int DrogueRunID = 0; int SubsectorTVItemID = 0; int DrogueNumber = 0; int TakeValueEveryXMinutes = 0; int TakeValueEveryXSeconds = 0; bool IsRisingTide = true; DrogueTypeEnum DrogueType = DrogueTypeEnum.Error; DateTime RunStartDateTime = DateTime.Now; string DroguePoints = ""; ContactOK contactOK = IsContactOK(); if (!string.IsNullOrWhiteSpace(contactOK.Error)) { return(ReturnError(contactOK.Error)); } int.TryParse(fc["DrogueRunID"], out DrogueRunID); // could be 0 if 0 then we need to add the new DrogueRun DrogueRunModel drogueRunModelToChange = new DrogueRunModel(); if (DrogueRunID != 0) { drogueRunModelToChange = GetDrogueRunModelWithDrogueRunIDDB(DrogueRunID); if (!string.IsNullOrWhiteSpace(drogueRunModelToChange.Error)) { return(drogueRunModelToChange); } } int.TryParse(fc["SubsectorTVItemID"], out SubsectorTVItemID); if (SubsectorTVItemID == 0) { return(ReturnError(string.Format(ServiceRes._IsRequired, ServiceRes.SubsectorTVItemID))); } int.TryParse(fc["TakeValueEveryXMinutes"], out TakeValueEveryXMinutes); TakeValueEveryXSeconds = TakeValueEveryXMinutes * 60; int.TryParse(fc["DrogueNumber"], out DrogueNumber); if (DrogueNumber == 0) { return(ReturnError(string.Format(ServiceRes._IsRequired, ServiceRes.DrogueNumber))); } if (string.IsNullOrWhiteSpace(fc["DrogueType"])) { return(ReturnError(string.Format(ServiceRes._IsRequired, ServiceRes.DrogueType))); } else { int.TryParse(fc["DrogueType"], out tempInt); DrogueType = (DrogueTypeEnum)tempInt; } if (string.IsNullOrWhiteSpace(fc["IsRisingTide"])) { IsRisingTide = false; } DroguePoints = fc["DroguePoints"]; DrogueRunModel drogueRunModelRet = new DrogueRunModel(); using (TransactionScope ts = new TransactionScope()) { if (DrogueRunID == 0) { DrogueRunModel drogueRunModelNew = new DrogueRunModel() { DBCommand = DBCommandEnum.Original, DrogueNumber = DrogueNumber, DrogueType = DrogueType, RunStartDateTime = RunStartDateTime, SubsectorTVItemID = SubsectorTVItemID, IsRisingTide = IsRisingTide, }; drogueRunModelRet = PostAddDrogueRunDB(drogueRunModelNew); } else { drogueRunModelToChange.DrogueNumber = DrogueNumber; drogueRunModelToChange.DrogueType = DrogueType; drogueRunModelToChange.RunStartDateTime = RunStartDateTime; drogueRunModelToChange.IsRisingTide = IsRisingTide; drogueRunModelRet = PostUpdateDrogueRunDB(drogueRunModelToChange); } // ts.Complete(); //} if (string.IsNullOrWhiteSpace(drogueRunModelRet.Error)) { int Ordinal = 0; List <DrogueRunPositionModel> drogueRunPositionModelList = new List <DrogueRunPositionModel>(); List <string> lineList = DroguePoints.Split("\r\n".ToCharArray(), StringSplitOptions.None).ToList(); DateTime OldStepDate = new DateTime(); foreach (string s in lineList) { if (s.Trim().Length == 0) { continue; } List <string> lineValList = s.Split(" ".ToCharArray(), StringSplitOptions.None).ToList(); if (lineValList.Count != 4) { return(ReturnError(ServiceRes.DroguePointsNotWellFormed)); } if (!float.TryParse(lineValList[0], out float Lat)) { return(ReturnError(string.Format(ServiceRes.CouldNotParse_, ServiceRes.Lat))); } if (!float.TryParse(lineValList[1], out float Lng)) { return(ReturnError(string.Format(ServiceRes.CouldNotParse_, ServiceRes.Lng))); } if (!int.TryParse(lineValList[2].Substring(0, 4), out int Year)) { return(ReturnError(string.Format(ServiceRes.CouldNotParse_, ServiceRes.Year))); } string MonthText = lineValList[2].Substring(5, 2); if (MonthText.StartsWith("0")) { MonthText = MonthText.Substring(1); } if (!int.TryParse(MonthText, out int Month)) { return(ReturnError(string.Format(ServiceRes.CouldNotParse_, ServiceRes.Month))); } string DayText = lineValList[2].Substring(8, 2); if (DayText.StartsWith("0")) { DayText = DayText.Substring(1); } if (!int.TryParse(DayText, out int Day)) { return(ReturnError(string.Format(ServiceRes.CouldNotParse_, ServiceRes.Day))); } string HourText = lineValList[3].Substring(0, 2); if (HourText.StartsWith("0")) { HourText = HourText.Substring(1); } if (!int.TryParse(HourText, out int Hour)) { return(ReturnError(string.Format(ServiceRes.CouldNotParse_, ServiceRes.Hour))); } string MinuteText = lineValList[3].Substring(3, 2); if (MinuteText.StartsWith("0")) { MinuteText = MinuteText.Substring(1); } if (!int.TryParse(MinuteText, out int Minute)) { return(ReturnError(string.Format(ServiceRes.CouldNotParse_, ServiceRes.Minute))); } if (!int.TryParse(lineValList[3].Substring(6, 2), out int Second)) { return(ReturnError(string.Format(ServiceRes.CouldNotParse_, ServiceRes.Second))); } DateTime StepDate = new DateTime(Year, Month, Day, Hour, Minute, Second); if (StepDate <= OldStepDate) { return(ReturnError(string.Format(ServiceRes.DatesAreNotAllInChronologicalOrder_And_, StepDate, OldStepDate))); } TimeSpan timeSpan = new TimeSpan(StepDate.Ticks - OldStepDate.Ticks); if (timeSpan.TotalSeconds > TakeValueEveryXSeconds || TakeValueEveryXMinutes == 0) { DrogueRunPositionModel drogueRunPositionModel = new DrogueRunPositionModel() { DBCommand = DBCommandEnum.Original, StepLat = Lat, StepLng = Lng, StepDateTime_Local = StepDate, Ordinal = Ordinal, DrogueRunID = drogueRunModelRet.DrogueRunID, CalculatedSpeed_m_s = 0.0f, CalculatedDirection_deg = 0.0f, }; drogueRunPositionModelList.Add(drogueRunPositionModel); Ordinal += 1; OldStepDate = StepDate; } } for (int i = 0, count = drogueRunPositionModelList.Count - 1; i < count; i++) { double dist = _MapInfoService.CalculateDistance((double)drogueRunPositionModelList[i].StepLat * d2r, (double)drogueRunPositionModelList[i].StepLng * d2r, (double)drogueRunPositionModelList[i + 1].StepLat * d2r, (double)drogueRunPositionModelList[i + 1].StepLng * d2r, base.R); TimeSpan timeSpan = new TimeSpan(drogueRunPositionModelList[i + 1].StepDateTime_Local.Ticks - drogueRunPositionModelList[i].StepDateTime_Local.Ticks); float Speed = Math.Abs((float)(dist / timeSpan.TotalSeconds)); drogueRunPositionModelList[i].CalculatedSpeed_m_s = Speed; double StepLat = drogueRunPositionModelList[i + 1].StepLat - drogueRunPositionModelList[i].StepLat; double StepLng = drogueRunPositionModelList[i + 1].StepLng - drogueRunPositionModelList[i].StepLng; double angle = Math.Atan2(StepLat, StepLng) * 180 / Math.PI; if (StepLat >= 0.0D && StepLng >= 0.0D) { angle = 90 - angle; } else if (StepLat <= 0.0D && StepLng >= 0.0D) { angle = 90 + Math.Abs(angle); } else if (StepLat <= 0.0D && StepLng <= 0.0D) { angle = 90 + Math.Abs(angle); } else if (StepLat >= 0.0D && StepLng <= 0.0D) { angle = 360 - Math.Abs(angle) + 90; } else { angle = 0.0f; } if (drogueRunPositionModelList[i].StepLat == drogueRunPositionModelList[i + 1].StepLat && drogueRunPositionModelList[i].StepLng == drogueRunPositionModelList[i + 1].StepLng) { Speed = 0.0f; angle = 0.0f; } drogueRunPositionModelList[i].CalculatedDirection_deg = (float)angle; } if (drogueRunPositionModelList.Count > 1) { drogueRunPositionModelList[drogueRunPositionModelList.Count - 1].CalculatedSpeed_m_s = drogueRunPositionModelList[drogueRunPositionModelList.Count - 2].CalculatedSpeed_m_s; drogueRunPositionModelList[drogueRunPositionModelList.Count - 1].CalculatedDirection_deg = drogueRunPositionModelList[drogueRunPositionModelList.Count - 2].CalculatedDirection_deg; } List <DrogueRunPositionModel> drogueRunPositionModelListInDB = _DrogueRunPositionService.GetDrogueRunPositionModelListWithDrogueRunIDDB(drogueRunModelRet.DrogueRunID).OrderBy(c => c.Ordinal).ToList(); if (drogueRunPositionModelList.Count == drogueRunPositionModelListInDB.Count) { for (int i = 0, count = drogueRunPositionModelList.Count; i < count; i++) { drogueRunPositionModelList[i].DrogueRunPositionID = drogueRunPositionModelListInDB[i].DrogueRunPositionID; DrogueRunPositionModel drogueRunPositionModel = _DrogueRunPositionService.PostUpdateDrogueRunPositionDB(drogueRunPositionModelList[i]); if (!string.IsNullOrWhiteSpace(drogueRunPositionModel.Error)) { return(ReturnError(drogueRunPositionModel.Error)); } } } else if (drogueRunPositionModelList.Count > drogueRunPositionModelListInDB.Count) { for (int i = 0, count = drogueRunPositionModelListInDB.Count; i < count; i++) { drogueRunPositionModelList[i].DrogueRunPositionID = drogueRunPositionModelListInDB[i].DrogueRunPositionID; DrogueRunPositionModel drogueRunPositionModel = _DrogueRunPositionService.PostUpdateDrogueRunPositionDB(drogueRunPositionModelList[i]); if (!string.IsNullOrWhiteSpace(drogueRunPositionModel.Error)) { return(ReturnError(drogueRunPositionModel.Error)); } } for (int i = drogueRunPositionModelListInDB.Count, count = drogueRunPositionModelList.Count; i < count; i++) { DrogueRunPositionModel drogueRunPositionModel = _DrogueRunPositionService.PostAddDrogueRunPositionDB(drogueRunPositionModelList[i]); if (!string.IsNullOrWhiteSpace(drogueRunPositionModel.Error)) { return(ReturnError(drogueRunPositionModel.Error)); } } } else { for (int i = 0, count = drogueRunPositionModelList.Count; i < count; i++) { drogueRunPositionModelList[i].DrogueRunPositionID = drogueRunPositionModelListInDB[i].DrogueRunPositionID; DrogueRunPositionModel drogueRunPositionModel = _DrogueRunPositionService.PostUpdateDrogueRunPositionDB(drogueRunPositionModelList[i]); if (!string.IsNullOrWhiteSpace(drogueRunPositionModel.Error)) { return(ReturnError(drogueRunPositionModel.Error)); } } for (int i = drogueRunPositionModelList.Count, count = drogueRunPositionModelListInDB.Count; i < count; i++) { DrogueRunPositionModel drogueRunPositionModel = _DrogueRunPositionService.PostDeleteDrogueRunPositionDB(drogueRunPositionModelListInDB[i].DrogueRunPositionID); if (!string.IsNullOrWhiteSpace(drogueRunPositionModel.Error)) { return(ReturnError(drogueRunPositionModel.Error)); } } } if (drogueRunPositionModelList.Count > 0) { drogueRunModelRet.RunStartDateTime = drogueRunPositionModelList[0].StepDateTime_Local; drogueRunModelRet = PostUpdateDrogueRunDB(drogueRunModelRet); } ts.Complete(); } } return(drogueRunModelRet); }