public TokenLogModel Login(LoginViewModel obj)
        {
            LoginDeviceModel objLDevice = new LoginDeviceModel();

            objLDevice.ipAddress  = obj.IpAddress;
            objLDevice.deviceName = obj.DeviceName;
            objLDevice.createdOn  = DateTime.Now;
            if (GetLoginAttempts(obj.IpAddress))
            {
                throw new UserDefinedException(StringResource.ReachedMaxAttempts);
            }
            LoginDetailModel objLDetails = uow.LoginDetails.Queryable().Where(x => x.username.ToLower() == obj.Username.ToLower() && x.password == obj.Password).FirstOrDefault();

            if (objLDetails == null)
            {
                uow.LoginDevices.Add(objLDevice);
                uow.Save();
                return(null);
            }
            else
            {
                string FullName      = uow.MstBillingAddresses.Queryable().Where(x => x.loginID == objLDetails.loginID).Select(x => x.firstName + " " + x.lastName).FirstOrDefault();
                string EmailID       = uow.UserDetails.Queryable().Where(x => x.loginID == objLDetails.loginID).Select(x => x.emailId).FirstOrDefault();
                int    LoginDeviceID = objLDevice.loginDeviceId;
                int    LoginID       = objLDetails.loginID;
                int    RoleID        = objLDetails.roleID;

                objLDevice.loginID = LoginID;
                uow.LoginDevices.Add(objLDevice);
                uow.Save();

                Guid          objGuid  = Guid.NewGuid();
                TokenLogModel objToken = new TokenLogModel
                {
                    loginDeviceId = LoginDeviceID,
                    loginID       = LoginID,
                    timeStamp     = DateTime.Now,
                    FullName      = RoleID == 2 ? "Admin" : FullName,
                    tokenID       = objGuid.ToString(),
                    EmailID       = EmailID,
                    UpdatedOn     = null,
                    RoleID        = RoleID,
                    CreatedOn     = DateTime.Now
                };
                uow.TokenLogs.Add(objToken);
                uow.Save();
                return(objToken);
            }
        }
        public bool Login(string TokenID, string Password)
        {
            LoginDeviceModel objLDevice = new LoginDeviceModel();
            TokenLogModel    objToken   = uow.TokenLogs.GetAll().Where(x => x.tokenID == TokenID).FirstOrDefault();

            if (objToken != null)
            {
                int LoginID            = objToken.loginID;
                LoginDetailModel objLD = uow.LoginDetails.GetAll().Where(x => x.loginID == LoginID).FirstOrDefault();
                if (objLD != null)
                {
                    if (objLD.password == Password)
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }