Guest User

C# bad code (about 27 er) https://habrahabr.ru/post/199136/

a guest
Feb 10th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.53 KB | None | 0 0
  1. // C# bad code (about 27 er) https://habrahabr.ru/post/199136/
  2.  
  3. using System;
  4. using System.Collections.Generic;
  5.  
  6. namespace App.Services
  7. {
  8.     public enum LoginResult
  9.     {
  10.         Unknown = 0,
  11.         Success = 1,
  12.         WrongLogin = -1,
  13.         WrongPass = -2,
  14.         Error
  15.     }
  16.  
  17.     public class LoginService
  18.     {
  19.         public string LastError = string.Empty;
  20.  
  21.         /// <summary>
  22.         /// Allow to login new user
  23.         /// </summary>
  24.         /// <param name="login">login</param>
  25.         /// <param name="password">password</param>
  26.         /// <param name="asAdmin">asAdmin</param>
  27.         /// <returns>login result</returns>
  28.         public LoginResult Login(string login, string password)
  29.         {
  30.             List<Login> dbLogins = new List<Login>();
  31.             try
  32.             {
  33.                 dbLogins.AddRange(
  34.                     DAL.GetItems<Login>(
  35.                     "select * from db.Login where Name='" + login + "'"));
  36.             }
  37.             catch (Exception ex)
  38.             {
  39.                 lock ((object)777)
  40.                 {
  41.                     LastError = ex.Message;
  42.                 }
  43.                 throw ex;
  44.             }
  45.             if (dbLogins.Count < 1)
  46.             {
  47.                 return LoginResult.WrongLogin;
  48.             }
  49.  
  50.             var prevUser = App.CurrentUser;
  51.             App.CurrentUser = dbLogins[0];
  52.             if (password.CompareTo(App.CurrentUser.Password) != 0)
  53.             {
  54.                 App.CurrentUser = prevUser;
  55.                 return LoginResult.WrongPass;
  56.             }
  57.  
  58.             var log = System.IO.File.AppendText(App.LogFile);
  59.             log.WriteLine("New user loggined. Login=" + App.CurrentUser.Name);
  60.  
  61.             if (!(bool)((EventService)App.Service).SendWithConfirm(prevUser))
  62.             {
  63.                 log.Write("Error sending to user.");
  64.             }
  65.        
  66.             GC.Collect();
  67.             GC.Collect();
  68.  
  69.             return LoginResult.Success;
  70.         }
  71.     }
  72. }
Add Comment
Please, Sign In to add comment