Advertisement
Anewil

Untitled

Mar 26th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.21 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Biblioteka {
  8.     public class WypelnianieLosowe : DataFiller {
  9.         private int iloscC, iloscW, iloscE, iloscK;
  10.         public WypelnianieLosowe() : this(20, 11, 43, 16) { }
  11.         public WypelnianieLosowe(int iloscC, int iloscW, int iloscE, int iloscK) {
  12.             this.iloscC = iloscC;
  13.             this.iloscW = iloscW;
  14.             this.iloscE = iloscE;
  15.             this.iloscK = iloscK;
  16.         }
  17.         public void Fill(DataContext dataContext) {
  18.             for (int i = 0; i < iloscC; i++) {
  19.                 dataContext.Czytelnicy.Add(new Czytelnik(RandomString(5, 7), RandomString(7, 12), Random.Next(100000000)));
  20.             }
  21.             for (int i = 0; i < iloscK; i++) {
  22.                 Ksiazka k = new Ksiazka(RandomString(4, 8), RandomString(6, 12), Random.Next(1700, 2100));
  23.                 dataContext.Ksiazki.Add(k.Tytul.GetHashCode(), k);
  24.             }
  25.             List<int> KsiazkaKeys = dataContext.Ksiazki.Keys.ToList();
  26.             for (int i = 0; i < iloscE; i++) {
  27.                 dataContext.Egzemplarze.Add(new Egzemplarz(DateTime.Now.AddDays(-(Random.Next(80, 1000)))
  28.                     , dataContext.Ksiazki[KsiazkaKeys[Random.Next(KsiazkaKeys.Count)]], RandomString(8, 30)));
  29.             }
  30.             for(int i =0;i<iloscW;i++) {
  31.                 dataContext.Wypozyczenia.Add(new Wypozyczenie(dataContext.Czytelnicy[Random.Next(dataContext.Czytelnicy.Count)]
  32.                     , dataContext.Egzemplarze[Random.Next(dataContext.Egzemplarze.Count)], DateTime.Now.AddDays(Random.Next(-70,300))));
  33.             }
  34.         }
  35.         private Random Random = new Random();
  36.         private string RandomString(int minLength, int maxLength) {
  37.             int length = Random.Next(minLength, maxLength + 1);
  38.             StringBuilder builder = new StringBuilder();
  39.             for (int i = 0; i < length; i++) {
  40.                 builder.Append(characters[Random.Next(characters.Length)]);
  41.             }
  42.             return builder.ToString();
  43.         }
  44.         private readonly string characters = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
  45.     }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement