public ActionResult SendPromocodePool([FromBody] SendPromocodePoolRequest request) { if (request != null) { Promocode.ChangePool(request); return(Ok(new { Result = "success" })); } return(BadRequest(new { Result = "parameter errors" })); }
public static void ChangePool(SendPromocodePoolRequest request) { using (var conn = new NpgsqlConnection(DBProvider.GetConnectionString())) { conn.Open(); var query = string.Format( @" do $$ begin if (select 1 from ""PromoCodePoolInfo"" where ""Id""='{0}') then UPDATE ""public"".""PromoCodePoolInfo"" SET ""Name"" = '{1}', ""Description"" = '{2}' WHERE ""Id"" = '{0}'; ELSE INSERT INTO ""public"".""PromoCodePoolInfo"" (""Name"", ""Id"", ""Description"") VALUES ('{1}', '{0}', '{2}'); END IF; END $$", request.Id.ToString(), request.Name.Replace("'", "''"), request.Description.Replace("'", "''")); new NpgsqlCommand(query, conn).ExecuteNonQuery(); } }