public ActionResult SoupKitchen() { // Get the logged in Site ID from the session int?SiteID = Session["SiteID"] as int?; // if there is none, redirect to the login page if (!SiteID.HasValue) { return(RedirectToAction("Login", "Account")); } // set up the response object SoupKitchenViewModel vm = new SoupKitchenViewModel(); // Find soup kitchen for given Site ID string sql = String.Format( "SELECT TotalSeatsAvailable, RemainingSeatsAvailable, HoursOfOperation, ConditionsForUse, Description " + "FROM soupkitchen WHERE SiteID = {0}; ", SiteID.Value.ToString()); // run the sql against the db object[] result = SqlHelper.ExecuteSingleSelect(sql, 5); // if we got a result, populate the view model fields if (result != null) { vm.SiteID = SiteID.Value; vm.TotalSeatsAvailable = int.Parse(result[0].ToString()); vm.RemainingSeatsAvailable = int.Parse(result[1].ToString()); vm.HoursOfOperation = result[2].ToString(); vm.ConditionsForUse = result[3].ToString(); vm.Description = result[4].ToString(); } return(View(vm)); }
public ActionResult SoupKitchen(SoupKitchenViewModel vm) { if (ModelState.IsValid) { // this is needed for some reason.. come back to it // http://stackoverflow.com/questions/4837744/hiddenfor-not-getting-correct-value-from-view-model ModelState.Remove("SiteID"); // find out if the soup kitchen exists for this SiteID already // and set up the SQL to INSERT or UPDATE accordingly if (vm.SiteID.Equals(0)) { // we didn't find an existing soup kitchen. so insert a new one based on the logged in users Site ID int?SiteID = Session["SiteID"] as int?; // Add soup kitchen for the user's site string sql = String.Format( "INSERT INTO soupkitchen (SiteID, TotalSeatsAvailable, RemainingSeatsAvailable, HoursOfOperation, ConditionsForUse, Description) " + "VALUES ({0}, {1}, {2}, '{3}', '{4}', '{5}'); ", SiteID.Value.ToString(), vm.TotalSeatsAvailable, vm.RemainingSeatsAvailable, vm.HoursOfOperation, vm.ConditionsForUse, vm.Description); SqlHelper.ExecuteNonQuery(sql); vm.SiteID = SiteID.Value; // set the ID since it now exists vm.StatusMessage = "Succesfully added!"; } else { // update the existing record string sql = String.Format( "UPDATE soupkitchen " + "SET TotalSeatsAvailable = {0}, " + "RemainingSeatsAvailable = {1}, " + "HoursOfOperation = '{2}', " + "ConditionsForUse = '{3}', " + "Description = '{4}' " + "WHERE SiteID = {5}; ", vm.TotalSeatsAvailable, vm.RemainingSeatsAvailable, vm.HoursOfOperation, vm.ConditionsForUse, vm.Description, vm.SiteID); SqlHelper.ExecuteNonQuery(sql); vm.StatusMessage = "Succesfully updated!"; } } return(View(vm)); }