private IEnumerable <string> UpdateStringConstruction(PutLandlord landlord) { List <string> fields = new List <string>(); if (!string.IsNullOrWhiteSpace(landlord.Forename)) { fields.Add("Forename = @Forename "); } if (!string.IsNullOrWhiteSpace(landlord.Surname)) { fields.Add("Surname = @Surname "); } if (!string.IsNullOrWhiteSpace(landlord.Email)) { fields.Add("Email = @Email "); } if (!string.IsNullOrWhiteSpace(landlord.Phone)) { fields.Add("Phone = @Phone "); } return(fields.ToArray()); }
public async Task <bool> Update(int id, PutLandlord landlord) { try { using (IDbConnection dbConnection = db) { var result = 0; var updateFields = UpdateStringConstruction(landlord); dbConnection.Open(); foreach (var updateField in updateFields) { string updateQuery = $"UPDATE dbo.Landlords " + $"SET { updateField }" + $"WHERE LandlordId = { id }"; result = await dbConnection.ExecuteAsync(updateQuery, landlord); } return(result > 0 ? true : false); } } catch (Exception ex) { return(false); } }
public async Task <IActionResult> Put(int id, [FromBody] PutLandlord landlord) { var result = await repository.Update(id, landlord); if (!result) { return(BadRequest("record not updated")); } return(Ok()); }