public Authorization AuthorizeCustomer(Login l) { ICustomerRepository repo = Models.RepoFactory.GetCustomerRepo(); Customer c=null; if (!l.EmailAddress.Equals("")) { c = repo.GetWithEmailAddress(l.EmailAddress); if (c == null) return null; if (!l.Password.ToUpper().Equals(c.Password.ToUpper())) return null; } else { Facebook.FacebookClient fb = new Facebook.FacebookClient(); c = repo.GetWithFacebookID(l.FacebookID); if (c == null) return null; fb.AccessToken = l.FacebookToken; try { dynamic me = fb.Get("me"); if (me == null || me.first_name.Equals("")) return null; } catch (Exception e) { return null; } c.FacebookAccessToken = l.FacebookToken; repo.Update(c); // store the newest Facebook access token since it may have changed } Authorization a = new Authorization("test" + System.DateTime.Now.Ticks.ToString()); a.CustomerID = c.ID; a.EmailAddress = c.EmailAddress; a.Type = c.Type; IAuthorizationRepository authRepo = new AuthorizationRepository(); authRepo.Add(a); // store the auth token in the repo return a; }
//[HttpPost] //public void Claim( /* private void CoreHandleFacebookSignup(Customer newCustomer) { Customer tryFB = Repo.GetWithFacebookID(newCustomer.FacebookUserID); // if we have an unclaimed FB user, claim them now // rather than making a new account. if (tryFB != null && tryFB.FacebookUserID == newCustomer.FacebookUserID) { tryFB.Type = (int)Customer.TypeCodes.Default; tryFB.FacebookAccessToken = newCustomer.FacebookAccessToken; tryFB.FacebookExpires = newCustomer.FacebookExpires; Repo.Update(tryFB); } else { Repo.Add(newCustomer); } }*/ private void CoreCreateSendVerificationEmail(Customer newCustomer) { AuthorizationRepository authRepo = new AuthorizationRepository(); Authorization a = new Authorization("verify-" + Guid.NewGuid().ToString()); a.Valid = false; a.EmailAddress = newCustomer.EmailAddress; a.CustomerID = newCustomer.ID; authRepo.Add(a); String authUrl = "http://dareme.to/verify/" + a.Token; }