Advertisement
Guest User

Challenge

a guest
Jul 30th, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.69 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace Challenge1
  9. {
  10.     class Program
  11.     {
  12.         static Dictionary<string, User> users = new Dictionary<string, User>();
  13.         static void Main(string[] args)
  14.         {
  15.             Loadusers();
  16.             Login();
  17.         }
  18.         static void Login()
  19.         {
  20.             Console.WriteLine("Username:");
  21.             string username = Console.ReadLine();
  22.             Console.WriteLine("Password:");
  23.             string password = Console.ReadLine();
  24.             foreach(KeyValuePair<string, User> u in users)
  25.             {
  26.                 if (username == u.Value.Username && password == u.Value.Password)
  27.                 {
  28.                     Console.WriteLine("Logged in as: " + username);
  29.                     Commands();
  30.                 }
  31.             }
  32.             Console.WriteLine("Wrong username or password entered.");
  33.             Login();            
  34.  
  35.         }
  36.         static void Loadusers()
  37.         {
  38.             if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + "/users.txt"))
  39.             {
  40.                 FileStream file = File.OpenRead(AppDomain.CurrentDomain.BaseDirectory + "/users.txt");
  41.                 TextReader reader = new StreamReader(file);
  42.                 int length = Int32.Parse(reader.ReadLine());
  43.                 users = new Dictionary<string, User>();                
  44.                 for (int i=0; i<length; i++)
  45.                 {
  46.                     string line = reader.ReadLine();
  47.                     string[] parts = line.Split(';');
  48.                     users.Add(parts[0],new User() { Username =parts[0], Password=parts[1], });
  49.                 }
  50.                 reader.Close();
  51.             } else
  52.             {
  53.                 users.Add("admin", new User() { Username = "admin", Password = "123", });
  54.             }
  55.         }
  56.         static void Saveusers()
  57.         {
  58.             if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + "/users.txt"))
  59.             {
  60.                 File.Delete(AppDomain.CurrentDomain.BaseDirectory + "/users.txt");
  61.             }
  62.             FileStream file = File.OpenWrite(AppDomain.CurrentDomain.BaseDirectory + "/users.txt");
  63.             TextWriter writer = new StreamWriter(file);
  64.             writer.WriteLine(users.Count());
  65.             foreach (KeyValuePair<string,User> u in users)
  66.             {
  67.                 writer.WriteLine(u.Value.Username + ";" + u.Value.Password);
  68.             }
  69.             writer.Flush();
  70.             writer.Close();
  71.         }
  72.         static void Commands()
  73.         {
  74.             string input = Console.ReadLine();
  75.             switch(input)
  76.             {
  77.                 default:
  78.                     Console.WriteLine("Wrong command!");
  79.                     Commands();
  80.                     break;
  81.                 case "commands":
  82.                     Console.WriteLine("adduser | showusers | deleteusers | saveusers | exit |");
  83.                     Commands();
  84.                     break;
  85.                 case "adduser":
  86.                     Console.WriteLine("Enter Username:");
  87.                     string username = Console.ReadLine();
  88.                     Console.WriteLine("Enter password:");
  89.                     string password = Console.ReadLine();
  90.                     users.Add(username,new User() { Username = username, Password = password, });
  91.                     Saveusers();
  92.                     Console.WriteLine("User " + username + " has been added!");
  93.                     Commands();
  94.                     break;
  95.                 case "showusers":
  96.                     Showusers();
  97.                     Commands();
  98.                     break;
  99.                 case "deleteuser":
  100.                     Console.WriteLine("Enter the Username to be deleted");
  101.                     Showusers();
  102.                     input = Console.ReadLine();
  103.                     if (users.ContainsKey(input))
  104.                     {
  105.                         users.Remove(input);
  106.                         Saveusers();
  107.                         Console.WriteLine("User with Username: " + input + " has been deleted.");
  108.                     } else
  109.                     {
  110.                         Console.WriteLine("Wrong username entered.");
  111.                     }
  112.                     Commands();
  113.                     break;
  114.                 case "exit":
  115.                     break;
  116.             }
  117.         }
  118.         static void Showusers()
  119.         {
  120.             foreach (KeyValuePair <string,User> u in users)
  121.             {
  122.                 Console.WriteLine("Username: " + u.Value.Username + " Password: " + u.Value.Password);
  123.             }
  124.         }        
  125.     }
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement