public ActionResult ClearTablesHandler(FormCollection collection) { string entityConnectionString = HydroServerToolsUtils.BuildConnectionStringForUserName(HttpContext.User.Identity.Name.ToString()); //var entityConnectionString = HydroServerToolsUtils.GetDBEntityConnectionStringByName(connectionName); //"Sites", "Variables", "OffsetTypes", "ISOMetadata", "Sources", "Methods", "LabMethods", "Samples", "Qualifiers", "QualityControlLevels", "DataValues", "GroupDescriptions", "Groups", "DerivedFrom", "Categories"}; //Sites try { if (collection.HasKeys()) { //do in this order to remove foreign keys in order if (collection.AllKeys.Contains("categories")) { var repo = new CategoriesRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("derivedfrom")) { var repo = new DerivedFromRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("groups")) { var repo = new GroupsRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("groupdescriptions")) { var repo = new GroupDescriptionsRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("datavalues")) { var repo = new DataValuesRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("qualitycontrollevels")) { var repo = new QualityControlLevelsRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("qualifiers")) { var repo = new QualifiersRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("samples")) { var repo = new SamplesRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("labmethods")) { var repo = new LabMethodsRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("methods")) { var repo = new MethodsRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("sources")) { var repo = new SourcesRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("offsettypes")) { var repo = new OffsetTypesRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("variables")) { var repo = new VariablesRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("sites")) { var repo = new SitesRepository(); repo.deleteAll(entityConnectionString); } } } catch (DbUpdateException ex) { //HttpContext.Response.ContentType = "text/plain"; Response.StatusCode = (int)HttpStatusCode.BadRequest; return Json(new { success = false }); } // Now we need to wire up a response so that the calling script understands what happened HttpContext.Response.ContentType = "text/plain"; HttpContext.Response.StatusCode = 200; // For compatibility with IE's "done" event we need to return a result as well as setting the context.response return Json(new { success = true }); }
public JsonResult Search(JQueryDataTablesModel jQueryDataTablesModel, string identifier) { int totalRecordCount; int searchRecordCount; //Get Connection string var entityConnectionString = HydroServerToolsUtils.BuildConnectionStringForUserName(HttpContext.User.Identity.Name); //var entityConnectionString = HydroServerToolsUtils.GetDBEntityConnectionStringByName(connectionName); if (String.IsNullOrEmpty(entityConnectionString)) { ModelState.AddModelError(String.Empty, Ressources.HYDROSERVER_USERLOOKUP_FAILED); } var sitesRepository = new SitesRepository(); var items = sitesRepository.GetSites(entityConnectionString, startIndex: jQueryDataTablesModel.iDisplayStart, pageSize: jQueryDataTablesModel.iDisplayLength, sortedColumns: jQueryDataTablesModel.GetSortedColumns(), totalRecordCount: out totalRecordCount, searchRecordCount: out searchRecordCount, searchString: jQueryDataTablesModel.sSearch); var result = from c in items select new[] { c.SiteCode, c.SiteName, c.Latitude, c.Longitude, c.LatLongDatumSRSName, c.Elevation_m, c.VerticalDatum, c.LocalX, c.LocalY, c.LocalProjectionSRSName, c.PosAccuracy_m, c.State, c.County, c.Comments, c.SiteType }; return this.DataTablesJson(items: result, totalRecords: totalRecordCount, totalDisplayRecords: searchRecordCount, sEcho: jQueryDataTablesModel.sEcho); }