public ActionResult GetFranchiseSettings(Guid?FranchiseId) { if (FranchiseId == null) { ModelState.AddModelError(string.Empty, $"Franchise ID not provided. Unable to load franchise settings."); return(JsonFormResponse()); } Franchise _franchise = null; FranchiseSettingsVM _dataItem = null; List <SystemSetting> _settings = new List <SystemSetting>(); using (DBManager db = new DBManager()) { StringBuilder _sql = new StringBuilder(); _sql.Append("Select * from SystemSettings where IsActive = 1"); _settings = db.getConnection().Query <SystemSetting>(_sql.ToString()).ToList(); _sql.Clear(); _sql.Append($"select * from Franchises where ID = '{FranchiseId}'"); _franchise = db.getConnection().Query <Franchise>(_sql.ToString()).SingleOrDefault(); if (_franchise == null) { ModelState.AddModelError(string.Empty, $"Franchise [{FranchiseId.ToString()}] not found. Please try again."); return(JsonFormResponse()); } _dataItem = new FranchiseSettingsVM(); _dataItem.PopulateVM(_franchise, _settings); return(new JsonNetResult() { Data = new { item = _dataItem }, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); } }
public ActionResult SaveFranchiseSettings(FranchiseSettingsVM dataItem) { //https://stackoverflow.com/questions/13541225/asp-net-mvc-how-to-display-success-confirmation-message-after-server-side-proce if (dataItem == null || !Helpers.IsValidGuid(dataItem.Id)) { ModelState.AddModelError(string.Empty, "Valid franchise settings not found. Ensure a valid franchise is selected."); } if (ModelState.IsValid) { String _id = dataItem.Id; try { Franchise _objToUpdate = null; StringBuilder _sql = new StringBuilder(); using (DBManager db = new DBManager()) { _sql.Append($"select * from Franchises where Id = '{_id}'"); _objToUpdate = db.getConnection().Query <Franchise>(_sql.ToString()).SingleOrDefault(); if (_objToUpdate == null) { ModelState.AddModelError(string.Empty, $"Franchise [{_id.ToString()}] not found. Please try again."); return(JsonFormResponse()); } _objToUpdate.ManagementFeePercentage = dataItem.ManagementFeePercentage; _objToUpdate.RoyaltyFeePercentage = dataItem.RoyaltyFeePercentage; _sql.Clear(); _sql.Append("Update Franchises set "); _sql.Append($"UpdatedAt = '{_objToUpdate.UpdatedAt.FormatDatabaseDateTime()}'"); _sql.Append($",RowVersion = '{_objToUpdate.RowVersion.FormatDatabaseDateTime()}'"); _sql.Append($",UpdatedBy = '{_objToUpdate.UpdatedBy}'"); _sql.Append($",ManagementFeePercentage = {_objToUpdate.ManagementFeePercentage}"); _sql.Append($",RoyaltyFeePercentage = {_objToUpdate.RoyaltyFeePercentage}"); _sql.Append($" where Id = '{_objToUpdate.Id}' "); db.getConnection().Execute(_sql.ToString()); } return(JsonSuccessResponse("Franchise settings saved successfully", _objToUpdate)); } //catch (DbUpdateConcurrencyException ex) //{ // var entry = ex.Entries.Single(); // var clientValues = (Franchise)entry.Entity; // var databaseEntry = entry.GetDatabaseValues(); // if (databaseEntry == null) // { // ModelState.AddModelError(string.Empty, "Unable to save changes. The franchise was deleted by another user."); // } // else // { // var databaseValues = (Franchise)databaseEntry.ToObject(); // if (databaseValues.RoyaltyFeePercentage != clientValues.RoyaltyFeePercentage) // ModelState.AddModelError("RoyaltyFeePercentage", "Current database value for franchise royalty fee: " + databaseValues.RoyaltyFeePercentage); // if (databaseValues.ManagementFeePercentage != clientValues.ManagementFeePercentage) // ModelState.AddModelError("TradingName", "Current database value for franchise management fee: " + databaseValues.ManagementFeePercentage); // ModelState.AddModelError(string.Empty, "The record you attempted to edit " // + "was modified by another user after you got the original value. The edit operation " // + "was canceled. If you still want to edit this record, click the Save button again."); // } //} catch (Exception ex) { ModelState.AddModelError(string.Empty, Helpers.FormatModelError("Error saving franchise settings", ex)); LogHelper log = new LogHelper(); log.Log(LogHelper.LogLevels.Error, "Error saving franchise settings", nameof(SaveFranchise), ex, dataItem, Helpers.ParseValidationErrors(ex)); } } if (!ModelState.IsValid) { Helpers.LogFormValidationErrors(ModelState, nameof(SaveFranchiseSettings), dataItem); } return(JsonFormResponse()); }