public HttpResponseMessage delete(Int32 id = 0, Int32 languageId = 0) { // Create an error code variable Int32 errorCode = 0; // Check if we should delete the master post or just a language post if (languageId == 0) { errorCode = OptionType.DeleteOnId(id); } else { errorCode = OptionType.DeleteLanguagePostOnId(id, languageId); } // Check if there is an error if (errorCode != 0) { return(Request.CreateResponse <string>(HttpStatusCode.Conflict, "Foreign key constraint")); } // Return the success response return(Request.CreateResponse <string>(HttpStatusCode.OK, "The delete was successful")); } // End of the delete method
public ActionResult delete(Int32 id = 0, string returnUrl = "") { // Get the current domain Domain currentDomain = Tools.GetCurrentDomain(); ViewBag.CurrentDomain = currentDomain; // Get query parameters ViewBag.QueryParams = new QueryParams(returnUrl); // Check if the administrator is authorized if (Administrator.IsAuthorized(new string[] { "Administrator" }) == true) { ViewBag.AdminSession = true; } else if (Administrator.IsAuthorized(Administrator.GetAllAdminRoles()) == true) { ViewBag.AdminSession = true; ViewBag.AdminErrorCode = 1; ViewBag.TranslatedTexts = StaticText.GetAll(currentDomain.back_end_language, "id", "ASC"); return(View("index")); } else { // Redirect the user to the start page return(RedirectToAction("index", "admin_login")); } // Get the language id int languageId = 0; if (Request.Params["lang"] != null) { Int32.TryParse(Request.Params["lang"], out languageId); } // Create an error code variable Int32 errorCode = 0; // Check if we should delete the full post or just the translation if (languageId == 0 || languageId == currentDomain.back_end_language) { // Delete the option type and all the connected posts (CASCADE) errorCode = OptionType.DeleteOnId(id); } else { // Delete the option type post errorCode = OptionType.DeleteLanguagePostOnId(id, languageId); } // Check if there is an error if (errorCode != 0) { ViewBag.AdminErrorCode = errorCode; ViewBag.TranslatedTexts = StaticText.GetAll(currentDomain.back_end_language, "id", "ASC"); return(View("index")); } // Redirect the user to the list return(Redirect("/admin_options" + returnUrl)); } // End of the delete method