public BoxModelResultModel GetBoxModelResultModelWithBoxModelResultIDDB(int BoxModelResultID) { BoxModelResultModel boxModelResultModel = (from c in db.BoxModelResults where c.BoxModelResultID == BoxModelResultID select new BoxModelResultModel { Error = "", BoxModelResultID = c.BoxModelResultID, DBCommand = (DBCommandEnum)c.DBCommand, BoxModelID = c.BoxModelID, CircleCenterLatitude = c.CircleCenterLatitude, CircleCenterLongitude = c.CircleCenterLongitude, FixLength = c.FixLength, FixWidth = c.FixWidth, LeftSideDiameterLineAngle_deg = c.LeftSideDiameterLineAngle_deg, LeftSideLineAngle_deg = c.LeftSideLineAngle_deg, LeftSideLineStartLatitude = c.LeftSideLineStartLatitude, LeftSideLineStartLongitude = c.LeftSideLineStartLongitude, Radius_m = c.Radius_m, RectLength_m = c.RectLength_m, RectWidth_m = c.RectWidth_m, BoxModelResultType = (BoxModelResultTypeEnum)c.BoxModelResultType, Surface_m2 = c.Surface_m2, Volume_m3 = c.Volume_m3, LastUpdateDate_UTC = c.LastUpdateDate_UTC, LastUpdateContactTVItemID = c.LastUpdateContactTVItemID, }).FirstOrDefault <BoxModelResultModel>(); if (boxModelResultModel == null) { return(ReturnError(string.Format(ServiceRes.CouldNotFind_With_Equal_, ServiceRes.BoxModelResultModel, ServiceRes.BoxModelResultID, BoxModelResultID))); } return(boxModelResultModel); }
// Fill public string FillBoxModelResultModel(BoxModelResult boxModelResult, BoxModelResultModel boxModelResultModel, ContactOK contactOK) { boxModelResult.DBCommand = (int)boxModelResultModel.DBCommand; boxModelResult.BoxModelID = boxModelResultModel.BoxModelID; boxModelResult.CircleCenterLatitude = boxModelResultModel.CircleCenterLatitude; boxModelResult.CircleCenterLongitude = boxModelResultModel.CircleCenterLongitude; boxModelResult.FixLength = boxModelResultModel.FixLength; boxModelResult.FixWidth = boxModelResultModel.FixWidth; boxModelResult.LeftSideDiameterLineAngle_deg = boxModelResultModel.LeftSideDiameterLineAngle_deg; boxModelResult.LeftSideLineAngle_deg = boxModelResultModel.LeftSideLineAngle_deg; boxModelResult.LeftSideLineStartLatitude = boxModelResultModel.LeftSideLineStartLatitude; boxModelResult.LeftSideLineStartLongitude = boxModelResultModel.LeftSideLineStartLongitude; boxModelResult.Radius_m = boxModelResultModel.Radius_m; boxModelResult.RectLength_m = boxModelResultModel.RectLength_m; boxModelResult.RectWidth_m = boxModelResultModel.RectWidth_m; boxModelResult.BoxModelResultType = (int)boxModelResultModel.BoxModelResultType; boxModelResult.Surface_m2 = boxModelResultModel.Surface_m2; boxModelResult.Volume_m3 = boxModelResultModel.Volume_m3; boxModelResult.LastUpdateDate_UTC = DateTime.UtcNow; if (contactOK == null) { boxModelResult.LastUpdateContactTVItemID = 2; } else { boxModelResult.LastUpdateContactTVItemID = contactOK.ContactTVItemID; } return(""); }
// Check public string BoxModelResultModelOK(BoxModelResultModel boxModelResultModel) { string retStr = FieldCheckNotZeroInt(boxModelResultModel.BoxModelID, ServiceRes.BoxModelID); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = _BaseEnumService.BoxModelResultTypeOK(boxModelResultModel.BoxModelResultType); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckNotZeroDouble(boxModelResultModel.Radius_m, ServiceRes.Radius_m); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckNotZeroDouble(boxModelResultModel.RectLength_m, ServiceRes.RectLength_m); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckNotZeroDouble(boxModelResultModel.RectWidth_m, ServiceRes.RectWidth_m); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckNotZeroDouble(boxModelResultModel.Surface_m2, ServiceRes.Surface_m2); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckNotZeroDouble(boxModelResultModel.Volume_m3, ServiceRes.Volume_m3); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = _BaseEnumService.DBCommandOK(boxModelResultModel.DBCommand); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } return(""); }
public BoxModelResultModel PostUpdateBoxModelResultDB(BoxModelResultModel boxModelResultModel) { string retStr = BoxModelResultModelOK(boxModelResultModel); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } ContactOK contactOK = IsContactOK(); if (!string.IsNullOrEmpty(contactOK.Error)) { return(ReturnError(contactOK.Error)); } BoxModelResult boxModelResultToUpdate = GetBoxModelResultWithBoxModelResultIDDB(boxModelResultModel.BoxModelResultID); if (boxModelResultToUpdate == null) { return(ReturnError(string.Format(ServiceRes.CouldNotFind_ToUpdate, ServiceRes.BoxModelResult))); } retStr = FillBoxModelResultModel(boxModelResultToUpdate, boxModelResultModel, contactOK); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } using (TransactionScope ts = new TransactionScope()) { retStr = DoUpdateChanges(); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } LogModel logModel = _LogService.PostAddLogForObj("BoxModelResults", boxModelResultToUpdate.BoxModelID, LogCommandEnum.Change, boxModelResultToUpdate); if (!string.IsNullOrWhiteSpace(logModel.Error)) { return(ReturnError(logModel.Error)); } ts.Complete(); } return(GetBoxModelResultModelWithBoxModelIDAndResultTypeDB(boxModelResultToUpdate.BoxModelID, (BoxModelResultTypeEnum)boxModelResultToUpdate.BoxModelResultType)); }
// Post public BoxModelResultModel PostAddBoxModelResultDB(BoxModelResultModel boxModelResultModel) { string retStr = BoxModelResultModelOK(boxModelResultModel); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } ContactOK contactOK = IsContactOK(); if (!string.IsNullOrEmpty(contactOK.Error)) { return(ReturnError(contactOK.Error)); } BoxModelResult boxModelResultNew = new BoxModelResult(); retStr = FillBoxModelResultModel(boxModelResultNew, boxModelResultModel, contactOK); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } using (TransactionScope ts = new TransactionScope()) { db.BoxModelResults.Add(boxModelResultNew); retStr = DoAddChanges(); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } LogModel logModel = _LogService.PostAddLogForObj("BoxModelResults", boxModelResultNew.BoxModelID, LogCommandEnum.Add, boxModelResultNew); if (!string.IsNullOrWhiteSpace(logModel.Error)) { return(ReturnError(logModel.Error)); } ts.Complete(); } return(GetBoxModelResultModelWithBoxModelResultIDDB(boxModelResultNew.BoxModelResultID)); }
// Helper public BoxModelModel AddOrUpdateBoxModelResultModel(BoxModelModel boxModelModel) { ContactOK contactOK = IsContactOK(); if (!string.IsNullOrWhiteSpace(contactOK.Error)) { return(ReturnError(contactOK.Error)); } bool ShouldAdd = true; for (int i = 1; i < 6; i++) { BoxModelResultModel boxModelResultModel; BoxModelResultModel boxModelResultModelRet = _BoxModelResultService.GetBoxModelResultModelWithBoxModelIDAndResultTypeDB(boxModelModel.BoxModelID, (BoxModelResultTypeEnum)i); if (!string.IsNullOrWhiteSpace(boxModelResultModelRet.Error)) { ShouldAdd = true; boxModelResultModel = new BoxModelResultModel(); } else { ShouldAdd = false; boxModelResultModel = boxModelResultModelRet; } boxModelResultModel.DBCommand = DBCommandEnum.Original; boxModelResultModel.BoxModelID = boxModelModel.BoxModelID; boxModelResultModel.BoxModelResultType = (BoxModelResultTypeEnum)i; switch (i) { case (int)BoxModelResultTypeEnum.Dilution: { boxModelResultModel.Volume_m3 = (boxModelModel.Discharge_m3_day * (boxModelModel.DischargeDuration_hour / 24) * boxModelModel.Dilution); } break; case (int)BoxModelResultTypeEnum.NoDecayUntreated: { boxModelResultModel.Volume_m3 = (boxModelModel.Discharge_m3_day * (boxModelModel.DischargeDuration_hour / 24) * boxModelModel.FCUntreated_MPN_100ml) / boxModelModel.Concentration_MPN_100ml; } break; case (int)BoxModelResultTypeEnum.NoDecayPreDisinfection: { boxModelResultModel.Volume_m3 = (boxModelModel.Discharge_m3_day * (boxModelModel.DischargeDuration_hour / 24) * boxModelModel.FCPreDisinfection_MPN_100ml) / boxModelModel.Concentration_MPN_100ml; } break; case (int)BoxModelResultTypeEnum.DecayUntreated: { boxModelResultModel.Volume_m3 = (boxModelModel.Discharge_m3_day * (boxModelModel.DischargeDuration_hour / 24) * (boxModelModel.FCUntreated_MPN_100ml - boxModelModel.Concentration_MPN_100ml)) / boxModelModel.DecayRate_per_day / boxModelModel.Concentration_MPN_100ml; } break; case (int)BoxModelResultTypeEnum.DecayPreDisinfection: { boxModelResultModel.Volume_m3 = (boxModelModel.Discharge_m3_day * (boxModelModel.DischargeDuration_hour / 24) * (boxModelModel.FCPreDisinfection_MPN_100ml - boxModelModel.Concentration_MPN_100ml)) / boxModelModel.DecayRate_per_day / boxModelModel.Concentration_MPN_100ml; } break; default: break; } boxModelResultModel.Surface_m2 = boxModelResultModel.Volume_m3 / boxModelModel.Depth_m; boxModelResultModel.Radius_m = Math.Sqrt(2 * ((double)boxModelResultModel.Volume_m3) / boxModelModel.Depth_m / Math.PI); if (boxModelModel.FixLength == false && boxModelModel.FixWidth == false) { boxModelResultModel.FixLength = false; boxModelResultModel.FixWidth = false; boxModelResultModel.RectLength_m = Math.Sqrt((double)boxModelResultModel.Volume_m3 / boxModelModel.Depth_m); boxModelResultModel.RectWidth_m = boxModelResultModel.RectLength_m; } else if (boxModelModel.FixLength == true) { boxModelResultModel.FixLength = true; boxModelResultModel.FixWidth = false; boxModelResultModel.RectLength_m = boxModelModel.Length_m; boxModelResultModel.RectWidth_m = boxModelResultModel.Volume_m3 / (boxModelModel.Depth_m * boxModelResultModel.RectLength_m); } else if (boxModelModel.FixWidth == true) { boxModelResultModel.FixLength = false; boxModelResultModel.FixWidth = true; boxModelResultModel.RectWidth_m = boxModelModel.Width_m; boxModelResultModel.RectLength_m = boxModelResultModel.Volume_m3 / (boxModelModel.Depth_m * boxModelResultModel.RectWidth_m); } BoxModelResultModel boxModelResultModelRet2 = new BoxModelResultModel(); if (ShouldAdd) { boxModelResultModelRet2 = _BoxModelResultService.PostAddBoxModelResultDB(boxModelResultModel); } else { boxModelResultModelRet2 = _BoxModelResultService.PostUpdateBoxModelResultDB(boxModelResultModel); } if (!string.IsNullOrWhiteSpace(boxModelResultModelRet2.Error)) { return(ReturnError(boxModelResultModelRet2.Error)); } } return(GetBoxModelModelWithBoxModelIDDB(boxModelModel.BoxModelID)); }