J'appelle une API Web et enregistre les enregistrements sur la base de données via le contrôleur, je veux à chaque fois im appeler l'API pour vérifier si l'enregistrement existe dans la base de données si oui alors ne sauvegardez pas, sinon sauvegardez.Vérification des enregistrements existants dans la base de données quand j'appelle web api
var client = new WebClient();
var text = client.DownloadString("https://www.test.com/api/all-users?name=testusername%20&pass=334432");
var wclients = JsonConvert.DeserializeObject<dynamic>(text);
List<apicli> list1 = new List<apicli>();
var clie = new apicli();
if (wclients.message == "success")
{
var data = wclients.data;
//var account = wclients.account;
ViewBag.test = data;
foreach(var item in ViewBag.test)
{
clie.Email = item.email;
clie.Name = item.name;
clie.Aff = item.affiliated_id;
foreach(var item1 in @item.account.real)
{
clie.Login = item1.login;
clie.password = item1.pass;
}
list1.Add(clie);
db.apiclis.AddRange(list1);
db.SaveChanges();
};
}
Cela ne devrait pas être une tâche pour le côté client mais pour le côté api de réception. L'API doit vous renvoyer une erreur si le doublon existe et vous devez gérer l'erreur en conséquence. Une partie de la considération sur la logique, je voudrais également souligner le fait que pour tester l'existence de l'enregistrement, vous avez besoin de deux appels au lieu d'un. – Steve
Je ne peux pas modifier l'API de sorte que la seule façon de le faire est le côté client. J'ai besoin de vérifier avec ma base de données locale si un enregistrement existe ou non. –