Beispiel #1
0
        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());
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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());
        }