/// <summary>
 /// Users listeler. (volkansendag - 02.08.2016)
 /// </summary>
 public rValue <rUsers> LoginAdmin(pUsersLogin prms, Bilet blt)
 {
     using (var db = getDb())
     {
         try
         {
             return(LoginAdmin(prms, blt, db));
         }
         catch (Exception ex)
         {
             LogYaz(ex, blt);
             throw ex;
         }
     }
 }
        /// <summary>
        /// Users listeler. (volkansendag - 02.08.2016)
        /// </summary>
        internal rValue <rUsers> LoginAdmin(pUsersLogin prms, Bilet blt, CuteModel db)
        {
            if (!prms.email.isEmailAddress())
            {
                throw Exceptions.Parameter();
            }

            rUsers user;

            if (prms.password.isEmpty())
            {
                throw Exceptions.Parameter("E-posta yada parola hatalı.");
            }

            user = GetByUserEmail(prms.email, blt, db);

            if (user == null || user.id <= 0)
            {
                throw Exceptions.Session("E-posta yada parola hatalı.");
            }

            var userDetail = Get <DAL.Model.Users>(user.id, db);

            if (userDetail.role != "Admin")
            {
                throw Exceptions.Session("E-posta yada parola hatalı.");
            }

            var prmsPassword = new Crypto(userDetail.guid).Encrypt(prms.password);

            if (prmsPassword != userDetail.password)
            {
                throw Exceptions.Session("E-posta yada parola hatalı.");
            }

            var info = Info(new Bilet(user.id), db);

            var token = new SessionManager().Login(user.id, info);

            user.token = token;

            LogYaz("Oturum Açıldı. " + user.email, blt);

            return(new rValue <rUsers>(user));
        }