public MikeSourceModel PostDeleteMikeSourceWithTVItemIDDB(int MikeSourceTVItemID) { ContactOK contactOK = IsContactOK(); if (!string.IsNullOrEmpty(contactOK.Error)) { return(ReturnError(contactOK.Error)); } MikeSourceModel mikeSourceModelToDelete = GetMikeSourceModelWithMikeSourceTVItemIDDB(MikeSourceTVItemID); if (!string.IsNullOrWhiteSpace(mikeSourceModelToDelete.Error)) { return(ReturnError(mikeSourceModelToDelete.Error)); } MikeSourceModel mikeSourceModelRet = PostDeleteMikeSourceDB(mikeSourceModelToDelete.MikeSourceID); if (!string.IsNullOrWhiteSpace(mikeSourceModelRet.Error)) { return(ReturnError(mikeSourceModelRet.Error)); } return(ReturnError("")); }
public string CheckIfSourceNameIsUniqueDB(int MikeScenarioTVItemID, string SourceName) { TVItemModel tvItemModelMikeScenario = _TVItemService.GetTVItemModelWithTVItemIDDB(MikeScenarioTVItemID); if (!string.IsNullOrWhiteSpace(tvItemModelMikeScenario.Error)) { return(tvItemModelMikeScenario.Error); } MikeSourceModel mikeSourceModel = new MikeSourceModel(); mikeSourceModel.MikeSourceTVText = SourceName; string TVText = CreateTVText(mikeSourceModel); if (string.IsNullOrWhiteSpace(TVText)) { return(string.Format(ServiceRes._IsRequired, ServiceRes.TVText)); } TVItemModel tvItemModelExist = _TVItemService.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(tvItemModelMikeScenario.TVItemID, TVText, TVTypeEnum.MikeSource); if (string.IsNullOrWhiteSpace(tvItemModelExist.Error)) { return(string.Format(ServiceRes._HasToBeUnique, ServiceRes.SourceName)); } else { return("true"); } }
public bool GetIsItSameObject(MikeSourceModel mikeSourceModel, TVItemModel tvItemModelMikeSourceExit) { bool IsSame = false; if (mikeSourceModel.MikeSourceTVItemID == tvItemModelMikeSourceExit.TVItemID) { IsSame = true; } return(IsSame); }
// Post public MikeSourceModel PostAddMikeSourceDB(MikeSourceModel mikeSourceModel) { string retStr = MikeSourceModelOK(mikeSourceModel); if (!string.IsNullOrEmpty(retStr)) { return(ReturnError(retStr)); } ContactOK contactOK = IsContactOK(); if (!string.IsNullOrEmpty(contactOK.Error)) { return(ReturnError(contactOK.Error)); } TVItemModel tvItemModelExist = _TVItemService.GetTVItemModelWithTVItemIDDB(mikeSourceModel.MikeSourceTVItemID); if (!string.IsNullOrWhiteSpace(tvItemModelExist.Error)) { return(ReturnError(tvItemModelExist.Error)); } MikeSource mikeSourceNew = new MikeSource(); retStr = FillMikeSource(mikeSourceNew, mikeSourceModel, contactOK); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } using (TransactionScope ts = new TransactionScope()) { db.MikeSources.Add(mikeSourceNew); retStr = DoAddChanges(); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } LogModel logModel = _LogService.PostAddLogForObj("MikeSources", mikeSourceNew.MikeSourceID, LogCommandEnum.Add, mikeSourceNew); if (!string.IsNullOrWhiteSpace(logModel.Error)) { return(ReturnError(logModel.Error)); } ts.Complete(); } return(GetMikeSourceModelWithMikeSourceIDDB(mikeSourceNew.MikeSourceID)); }
public MikeSourceModel GetMikeSourceModelWithMikeSourceTVItemIDDB(int MikeSourceTVItemID) { MikeSourceModel mikeSourceModel = (from c in db.MikeSources let sourceName = (from cl in db.TVItemLanguages where cl.Language == (int)LanguageRequest && cl.TVItemID == c.MikeSourceTVItemID select cl.TVText).FirstOrDefault <string>() where c.MikeSourceTVItemID == MikeSourceTVItemID select new MikeSourceModel { Error = "", MikeSourceID = c.MikeSourceID, DBCommand = (DBCommandEnum)c.DBCommand, MikeSourceTVText = sourceName, Include = c.Include, IsContinuous = c.IsContinuous, IsRiver = c.IsRiver, UseHydrometric = c.UseHydrometric, HydrometricTVItemID = c.HydrometricTVItemID, DrainageArea_km2 = c.DrainageArea_km2, Factor = c.Factor, SourceNumberString = c.SourceNumberString, MikeSourceTVItemID = c.MikeSourceTVItemID, LastUpdateDate_UTC = c.LastUpdateDate_UTC, LastUpdateContactTVItemID = c.LastUpdateContactTVItemID }).FirstOrDefault <MikeSourceModel>(); if (mikeSourceModel == null) { return(ReturnError(string.Format(ServiceRes.CouldNotFind_With_Equal_, ServiceRes.MikeSource, ServiceRes.MikeSourceTVItemID, MikeSourceTVItemID))); } else { List <MapInfoPointModel> mapInfoPointModelList = _MapInfoService._MapInfoPointService.GetMapInfoPointModelListWithTVItemIDAndTVTypeAndMapInfoDrawTypeDB(mikeSourceModel.MikeSourceTVItemID, TVTypeEnum.MikeSource, MapInfoDrawTypeEnum.Point); if (mapInfoPointModelList.Count > 0) { mikeSourceModel.Lat = (float)mapInfoPointModelList[0].Lat; mikeSourceModel.Lng = (float)mapInfoPointModelList[0].Lng; } } return(mikeSourceModel); }
// Fill public string FillMikeSource(MikeSource mikeSource, MikeSourceModel mikeSourceModel, ContactOK contactOK) { mikeSource.DBCommand = (int)mikeSourceModel.DBCommand; mikeSource.MikeSourceTVItemID = mikeSourceModel.MikeSourceTVItemID; mikeSource.Include = mikeSourceModel.Include; mikeSource.IsContinuous = mikeSourceModel.IsContinuous; mikeSource.IsRiver = mikeSourceModel.IsRiver; mikeSource.UseHydrometric = mikeSourceModel.UseHydrometric; mikeSource.HydrometricTVItemID = mikeSourceModel.HydrometricTVItemID; mikeSource.DrainageArea_km2 = mikeSourceModel.DrainageArea_km2; mikeSource.Factor = mikeSourceModel.Factor; mikeSource.SourceNumberString = mikeSourceModel.SourceNumberString; mikeSource.LastUpdateDate_UTC = DateTime.UtcNow; if (contactOK == null) { mikeSource.LastUpdateContactTVItemID = 2; } else { mikeSource.LastUpdateContactTVItemID = contactOK.ContactTVItemID; } return(""); }
// Check public string MikeSourceModelOK(MikeSourceModel mikeSourceModel) { string retStr = FieldCheckNotZeroInt(mikeSourceModel.MikeSourceTVItemID, ServiceRes.MikeSourceTVItemID); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckNotNullAndMinMaxLengthString(mikeSourceModel.MikeSourceTVText, ServiceRes.MikeSourceTVText, 3, 200); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckNotNullBool(mikeSourceModel.IsContinuous, ServiceRes.IsContinuous); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckNotNullBool(mikeSourceModel.Include, ServiceRes.Include); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckNotNullBool(mikeSourceModel.IsRiver, ServiceRes.IsRiver); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckNotNullBool(mikeSourceModel.UseHydrometric, ServiceRes.UseHydrometric); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckIfNotNullNotZeroInt(mikeSourceModel.HydrometricTVItemID, ServiceRes.HydrometricTVItemID); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckIfNotNullWithinRangeDouble(mikeSourceModel.DrainageArea_km2, ServiceRes.DrainageArea_km2, 0.0f, 100000.0f); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckIfNotNullWithinRangeDouble(mikeSourceModel.Factor, ServiceRes.Factor, 0.0f, 1000.0f); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = FieldCheckNotNullAndMinMaxLengthString(mikeSourceModel.SourceNumberString, ServiceRes.SourceNumberString, 3, 50); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } retStr = _BaseEnumService.DBCommandOK(mikeSourceModel.DBCommand); if (!string.IsNullOrWhiteSpace(retStr)) { return(retStr); } return(""); }
public MikeSourceModel PostUpdateMikeSourceDB(MikeSourceModel mikeSourceModel) { string retStr = MikeSourceModelOK(mikeSourceModel); if (!string.IsNullOrEmpty(retStr)) { return(ReturnError(retStr)); } ContactOK contactOK = IsContactOK(); if (!string.IsNullOrEmpty(contactOK.Error)) { return(ReturnError(contactOK.Error)); } MikeSource mikeSourceToUpdate = GetMikeSourceWithMikeSourceIDDB(mikeSourceModel.MikeSourceID); if (mikeSourceToUpdate == null) { return(ReturnError(string.Format(ServiceRes.CouldNotFind_ToUpdate, ServiceRes.MikeSource))); } retStr = FillMikeSource(mikeSourceToUpdate, mikeSourceModel, 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("MikeSources", mikeSourceToUpdate.MikeSourceID, LogCommandEnum.Change, mikeSourceToUpdate); if (!string.IsNullOrWhiteSpace(logModel.Error)) { return(ReturnError(logModel.Error)); } foreach (LanguageEnum Lang in LanguageListAllowable) { if (Lang == LanguageRequest) { TVItemLanguageModel tvItemLanguageModelToUpdate = _TVItemService._TVItemLanguageService.GetTVItemLanguageModelWithTVItemIDAndLanguageDB(mikeSourceToUpdate.MikeSourceTVItemID, Lang); if (!string.IsNullOrWhiteSpace(tvItemLanguageModelToUpdate.Error)) { return(ReturnError(tvItemLanguageModelToUpdate.Error)); } string TVText = CreateTVText(mikeSourceModel); if (string.IsNullOrWhiteSpace(TVText)) { return(ReturnError(string.Format(ServiceRes._IsRequired, ServiceRes.TVText))); } TVItemModel tvItemModelMikeSourceExit = _TVItemService.GetChildTVItemModelWithParentIDAndTVTextAndTVTypeDB(mikeSourceModel.MikeSourceTVItemID, TVText, TVTypeEnum.MikeSource); if (string.IsNullOrWhiteSpace(tvItemModelMikeSourceExit.Error)) { bool IsSameTVItemModel = GetIsItSameObject(mikeSourceModel, tvItemModelMikeSourceExit); if (!IsSameTVItemModel) { return(ReturnError(string.Format(ServiceRes._AlreadyExists, ServiceRes.MikeSource))); } } tvItemLanguageModelToUpdate.TVText = TVText; TVItemLanguageModel tvItemLanguageModel = _TVItemService._TVItemLanguageService.PostUpdateTVItemLanguageDB(tvItemLanguageModelToUpdate); if (!string.IsNullOrWhiteSpace(tvItemLanguageModel.Error)) { return(ReturnError(tvItemLanguageModel.Error)); } } } ts.Complete(); } return(GetMikeSourceModelWithMikeSourceIDDB(mikeSourceToUpdate.MikeSourceID)); }
public MikeSourceModel PostDeleteMikeSourceDB(int MikeSourceID) { ContactOK contactOK = IsContactOK(); if (!string.IsNullOrEmpty(contactOK.Error)) { return(ReturnError(contactOK.Error)); } MikeSource mikeSourceToDelete = GetMikeSourceWithMikeSourceIDDB(MikeSourceID); if (mikeSourceToDelete == null) { return(ReturnError(string.Format(ServiceRes.CouldNotFind_ToDelete, ServiceRes.MikeSource))); } int TVItemIDToDelete = mikeSourceToDelete.MikeSourceTVItemID; int SourceNumber = int.Parse(mikeSourceToDelete.SourceNumberString.Substring("SOURCE_".Length)); TVItemModel tvItemModelMikeSource = _TVItemService.GetTVItemModelWithTVItemIDDB(mikeSourceToDelete.MikeSourceTVItemID); if (!string.IsNullOrWhiteSpace(tvItemModelMikeSource.Error)) { return(ReturnError(tvItemModelMikeSource.Error)); } int MikeScenarioTVItemID = tvItemModelMikeSource.ParentID; TVItemModel tvItemModelMikeScenario = _TVItemService.GetTVItemModelWithTVItemIDDB(MikeScenarioTVItemID); if (!string.IsNullOrWhiteSpace(tvItemModelMikeScenario.Error)) { return(ReturnError(tvItemModelMikeScenario.Error)); } string ServerPath = _TVFileService.GetServerFilePath(MikeScenarioTVItemID); string ServerFileNameConc = $"{ tvItemModelMikeSource.TVText}_PollutionConcentration.dfs0"; TVFileModel tvFileModel = _TVFileService.GetTVFileModelWithServerFilePathAndServerFileNameDB(ServerPath, ServerFileNameConc); if (string.IsNullOrWhiteSpace(tvFileModel.Error)) { TVFileModel tvFileModelRet = _TVFileService.PostDeleteTVFileDB(tvFileModel.TVFileID); if (!string.IsNullOrWhiteSpace(tvFileModelRet.Error)) { return(ReturnError(tvFileModelRet.Error)); } } string ServerFileNameDischarge = $"{ tvItemModelMikeSource.TVText}_Discharge.dfs0"; TVFileModel tvFileModelDischarge = _TVFileService.GetTVFileModelWithServerFilePathAndServerFileNameDB(ServerPath, ServerFileNameDischarge); if (string.IsNullOrWhiteSpace(tvFileModelDischarge.Error)) { TVFileModel tvFileModelRet = _TVFileService.PostDeleteTVFileDB(tvFileModelDischarge.TVFileID); if (!string.IsNullOrWhiteSpace(tvFileModelRet.Error)) { return(ReturnError(tvFileModelRet.Error)); } } List <MikeSourceModel> mikeSourceModelList = GetMikeSourceModelListWithMikeScenarioTVItemIDDB(MikeScenarioTVItemID); using (TransactionScope ts = new TransactionScope()) { MapInfoModel mapInfoModelRet = _MapInfoService.PostDeleteMapInfoWithTVItemIDDB(mikeSourceToDelete.MikeSourceTVItemID); if (!string.IsNullOrWhiteSpace(mapInfoModelRet.Error)) { return(ReturnError(mapInfoModelRet.Error)); } db.MikeSources.Remove(mikeSourceToDelete); string retStr = DoDeleteChanges(); if (!string.IsNullOrWhiteSpace(retStr)) { return(ReturnError(retStr)); } LogModel logModel = _LogService.PostAddLogForObj("MikeSources", mikeSourceToDelete.MikeSourceID, LogCommandEnum.Delete, mikeSourceToDelete); if (!string.IsNullOrWhiteSpace(logModel.Error)) { return(ReturnError(logModel.Error)); } TVItemModel tvItemModelRet = _TVItemService.PostDeleteTVItemWithTVItemIDDB(TVItemIDToDelete); if (!string.IsNullOrWhiteSpace(tvItemModelRet.Error)) { return(ReturnError(tvItemModelRet.Error)); } bool ok = false; while (!ok) { SourceNumber += 1; MikeSourceModel mikeSourceModel = mikeSourceModelList.Where(c => c.SourceNumberString == "SOURCE_" + SourceNumber.ToString()).FirstOrDefault(); if (mikeSourceModel != null) { mikeSourceModel.SourceNumberString = "SOURCE_" + (SourceNumber - 1).ToString(); MikeSourceModel mikeSourceModelRet = PostUpdateMikeSourceDB(mikeSourceModel); if (!string.IsNullOrWhiteSpace(mikeSourceModelRet.Error)) { return(ReturnError(mikeSourceModelRet.Error)); } } else { ok = true; } } ts.Complete(); } return(ReturnError("")); }
// Helper public string CreateTVText(MikeSourceModel mikeSourceModel) { return(mikeSourceModel.MikeSourceTVText); }