/// <summary> /// Add a setting /// </summary> /// <param name="setting"></param> /// <returns></returns> public int AddNew(SettingPost setting) { // first validate input // rules // no null values if (setting.Value == null) { return(-1); } // string not > 50 or empty if (setting.Value.Length > 50 || setting.Value == "") { return(-1); } // serviceId and settingNameId must exist in relevant databases if (!validateIds(setting.SettingNameID, setting.ServiceID)) { return(-1); } // serviceId, settingNameId and value must not be duplicated if (GetBySettingServiceId(setting.SettingNameID, setting.ServiceID) != null || GetByValue(setting.Value) != null) { return(-1); } using (IDbConnection dbConnection = Connection) { // insert new record into database with params & return inserted id string sqlAddNew = "INSERT INTO Setting(SettingNameID, ServiceID, Value) " + "OUTPUT INSERTED.SettingId " + "VALUES(@SettingNameId, @ServiceId, @Value);"; dbConnection.Open(); try { // insert record and return inserted id return(dbConnection.Query <int>(sqlAddNew, setting).SingleOrDefault()); } catch (Exception e) { throw e; } } }
public IActionResult Post([FromBody] SettingPost setting) { if (setting == null) { return(new BadRequestResult()); } int insertedId = settingRepository.AddNew(setting); if (insertedId > 0) { return(new OkObjectResult(insertedId)); } else { return(new BadRequestResult()); } }