Advertisement
Mihailo21

Servis

Apr 18th, 2024
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.19 KB | None | 0 0
  1. using Common;
  2. using System;
  3. using System.CodeDom;
  4. using System.Collections.Generic;
  5. using System.IO;
  6. using System.Linq;
  7. using System.Security.Cryptography.X509Certificates;
  8. using System.ServiceModel;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11.  
  12. namespace Service
  13. {
  14.     public class ApotekaService : IApoteka
  15.     {
  16.         public string filePath = "log.txt";
  17.  
  18.         public List<Lek> dobaviSveLekove()
  19.         {
  20.             List<Lek> ret = new List<Lek>();    
  21.             foreach(Lek lek in DataBase.DataBaseOfLek.Values)
  22.             {
  23.                 ret.Add(lek);
  24.             }
  25.             return ret;
  26.         }
  27.  
  28.         public void DodajLek(Lek lek)
  29.         {
  30.             bool canBeAdded = !DataBase.DataBaseOfLek.ContainsKey(lek.Id);
  31.             if (canBeAdded)
  32.             {
  33.                 DataBase.DataBaseOfLek.Add(lek.Id, lek);
  34.             }
  35.             string existingText = File.ReadAllText(filePath, Encoding.UTF8);
  36.             using (StreamWriter sw = new StreamWriter(filePath, false, Encoding.UTF8))
  37.             {
  38.                 sw.WriteLine($"Zavrsena operacija dodaj lek {lek.Ime} {DateTime.Now}\n");
  39.                 sw.Write(existingText);
  40.             }
  41.         }
  42.  
  43.         public void dodajSastojak(int id, string sastojak)
  44.         {
  45.             if (!(DataBase.DataBaseOfLek.ContainsKey(id)))
  46.             {
  47.                 //throw new FaultException<CustomException>(new CustomException("Ne postoji lek sa tim id"));
  48.             }
  49.             else
  50.             {
  51.                 foreach(var l in DataBase.DataBaseOfLek.Values)
  52.                 {
  53.                     if(l.Id == id)
  54.                     {
  55.                         l.Sastojci.Add(sastojak);
  56.                         Console.WriteLine($"Uspesno dodat sastojak: {sastojak} u lek: {l.Ime}");
  57.                     }
  58.                 }
  59.             }
  60.             string existingText = File.ReadAllText(filePath, Encoding.UTF8);
  61.             using (StreamWriter sw = new StreamWriter(filePath, false, Encoding.UTF8))
  62.             {
  63.                 sw.WriteLine($"Zavrsena operacija dodaj sastojak ID:{id} SASTOJAK:{sastojak} {DateTime.Now}\n");
  64.                 sw.Write(existingText);
  65.             }
  66.         }
  67.  
  68.         public void ObrisiLek(int id)
  69.         {
  70.             if(!(DataBase.DataBaseOfLek.Remove(id)))
  71.             {
  72.                 //throw new FaultException<CustomException>(new CustomException("Ne postoji lek sa tim id"));
  73.             }
  74.             string existingText = File.ReadAllText(filePath, Encoding.UTF8);
  75.             using (StreamWriter sw = new StreamWriter(filePath, false, Encoding.UTF8))
  76.             {
  77.                 sw.WriteLine($"Zavrsena operacija obrisi lek ID:{id} {DateTime.Now}\n");
  78.                 sw.Write(existingText);
  79.             }
  80.         }
  81.  
  82.         public void PromeniKolicinuLek(int id, int kolicina, bool povecaIliSmanji)
  83.         {
  84.             if(kolicina<0)
  85.             {
  86.                 throw new FaultException<CustomException>(new CustomException("Ne moze kolicina da bude manja od 0"));
  87.             }
  88.             else if (!(DataBase.DataBaseOfLek.ContainsKey(id)))
  89.             {
  90.                 //throw new FaultException<CustomException>(new CustomException("Ne postoji lek sa tim ID"));
  91.             }
  92.             else
  93.             {
  94.                 foreach(var l in DataBase.DataBaseOfLek.Values)
  95.                 {
  96.                     if(l.Id == id)
  97.                     {
  98.                         if(povecaIliSmanji == true)
  99.                         {
  100.                             l.Kolicina += kolicina;
  101.                         }
  102.                         else
  103.                         {
  104.                             if(l.Kolicina - kolicina< 0)
  105.                             {
  106.                                // throw new FaultException<CustomException>(new CustomException("Ne moze kolicina u minus"));
  107.                             }
  108.                             else
  109.                             {
  110.                                 l.Kolicina -= kolicina;
  111.                             }
  112.                         }
  113.                     }
  114.                 }
  115.             }
  116.             string existingText = File.ReadAllText(filePath, Encoding.UTF8);
  117.             using (StreamWriter sw = new StreamWriter(filePath, false, Encoding.UTF8))
  118.             {
  119.                 sw.WriteLine($"Zavrsena operacija promeni kolicinu leka ID:{id} KOLICINA:{kolicina} {DateTime.Now}\n");
  120.                 sw.Write(existingText);
  121.             }
  122.         }
  123.  
  124.         public List<Lek> pronadjiLekNaOsnovuSastojka(string sastojak)
  125.         {
  126.             List<Lek> ret = new List<Lek>();
  127.             foreach(Lek l in DataBase.DataBaseOfLek.Values)
  128.             {
  129.                 if (l.Sastojci.Contains(sastojak))
  130.                 {
  131.                     ret.Add(l);
  132.                 }
  133.             }
  134.  
  135.             string existingText = File.ReadAllText(filePath, Encoding.UTF8);
  136.             using (StreamWriter sw = new StreamWriter(filePath, false, Encoding.UTF8))
  137.             {
  138.                 sw.WriteLine($"Zavrsena operacija pronadji lek na osnovu sastojka SASTOJAK:{sastojak} {DateTime.Now}\n");
  139.                 sw.Write(existingText);
  140.             }
  141.  
  142.             return ret;
  143.         }
  144.     }
  145. }
  146.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement