Advertisement
dragonbs

Untitled

Dec 2nd, 2023
677
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.65 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text.Json;
  6. using System.Xml.Linq;
  7.  
  8. public class Deserializer
  9. {
  10.     private readonly MedicinesContext _context;
  11.  
  12.     public Deserializer(MedicinesContext context)
  13.     {
  14.         _context = context;
  15.     }
  16.  
  17.     public void ImportDataFromJson(string jsonFilePath)
  18.     {
  19.         try
  20.         {
  21.             string jsonContent = File.ReadAllText(jsonFilePath);
  22.             List<Pharmacy> pharmacies = JsonSerializer.Deserialize<List<Pharmacy>>(jsonContent);
  23.  
  24.             foreach (var pharmacy in pharmacies)
  25.             {
  26.                 if (IsValidPharmacy(pharmacy))
  27.                 {
  28.                     _context.Pharmacies.Add(pharmacy);
  29.                 }
  30.                 else
  31.                 {
  32.                     Console.WriteLine("Error message: Invalid Data!");
  33.                 }
  34.             }
  35.  
  36.             _context.SaveChanges();
  37.         }
  38.         catch (Exception ex)
  39.         {
  40.             Console.WriteLine($"An error occurred while importing data from JSON: {ex.Message}");
  41.         }
  42.     }
  43.  
  44.     public void ImportDataFromXml(string xmlFilePath)
  45.     {
  46.         try
  47.         {
  48.             XDocument xmlDoc = XDocument.Load(xmlFilePath);
  49.             List<Medicine> medicines = xmlDoc.Descendants("Medicine")
  50.                 .Select(m => new Medicine
  51.                 {
  52.                     Id = int.Parse(m.Element("Id").Value),
  53.                 })
  54.                 .ToList();
  55.  
  56.             foreach (var medicine in medicines)
  57.             {
  58.                 if (IsValidMedicine(medicine))
  59.                 {
  60.                     _context.Medicines.Add(medicine);
  61.                 }
  62.                 else
  63.                 {
  64.                     Console.WriteLine("Error message: Invalid Data!");
  65.                 }
  66.             }
  67.  
  68.             _context.SaveChanges();
  69.         }
  70.         catch (Exception ex)
  71.         {
  72.             Console.WriteLine($"An error occurred while importing data from XML: {ex.Message}");
  73.         }
  74.     }
  75.  
  76.     private bool IsValidPharmacy(Pharmacy pharmacy)
  77.     {
  78.         // Пример:
  79.         // if (pharmacy.Name.Length < 2 || pharmacy.Name.Length > 50)
  80.         // {
  81.         //     return false;
  82.         // }
  83.  
  84.         // Аналогично добавям валидация за лекарствата в IsValidMedicine метода.
  85.  
  86.         return true;
  87.     }
  88.  
  89.     private bool IsValidMedicine(Medicine medicine)
  90.     {
  91.         // Добавям валидация за лекарството тук, спрямо изискванията от първата секция
  92.  
  93.         return true;
  94.     }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement