//public AuthenticationResultDataContract SignIn(string userName, string password) //{ // AuthenticationResultDataContract authenticationResult = new AuthenticationResultDataContract(); // // Validate user membership // // // Membership membership = MembershipBiz.SingleOrDefault(m => m.Person.PrimaryEmail == userName); // if (membership == null) // { // authenticationResult.Result = AuthenticationResult.UserIsNotExist; // } // else if (membership.IsLockedOut) // { // authenticationResult.Result = AuthenticationResult.UserIsBlocked; // } // // Start authenticate user // // // byte[] passwordHash = SecurityHelper.ComputeSha256Hash(password); // if (membership.Password.SequenceEqual(passwordHash)) // { // authenticationResult.Authenticated = true; // authenticationResult.Result = membership.IsApproved ? AuthenticationResult.Successed : AuthenticationResult.SuccessedButUserIsNotActivated; // Person person = PersonBiz.SingleOrDefault(p => p.Id == membership.Id); // IdentificationInformationDataContract userIdentity = new IdentificationInformationDataContract(); // authenticationResult.UserIdentity = userIdentity; // userIdentity.PrimaryEmail = person.PrimaryEmail; // if (person is NaturalPerson) // { // NaturalPerson naturalPerson = (NaturalPerson)person; // userIdentity.FirstName = naturalPerson.FirstName; // userIdentity.LastName = naturalPerson.LastName; // userIdentity.IsNaturalPerson = true; // } // else // { // LegalPerson legalPerson = (LegalPerson)person; // userIdentity.FirstName = legalPerson.Name; // userIdentity.LastName = string.Empty; // userIdentity.IsNaturalPerson = false; // } // } // else // { // authenticationResult.Result = AuthenticationResult.UserOrPasswordIsInvalid; // } // return authenticationResult; //} public AuthenticationResultDataContract SignIn(string userName, string password) { var authResult = new AuthenticationResultDataContract(); var person = PersonBiz.GetPersonByCredentials(userName, password); if (person == null) { return(authResult); } authResult.Authenticated = true; authResult.UserAccountStatus = PersonBiz.GetAccountStatus(person); authResult.UserId = person.Id; authResult.PrimaryEmail = person.PrimaryEmail; // if person is a natural person var naturalPerson = person as NaturalPerson; authResult.IsNaturalPerson = naturalPerson != null; authResult.FirstName = naturalPerson?.FirstName; authResult.LastName = naturalPerson?.LastName; authResult.Name = $"{naturalPerson?.LastName} {naturalPerson?.FirstName}"; // if person is legal person var legalPerson = person as LegalPerson; authResult.Name = legalPerson?.Name; return(authResult); }
public static AuthenticationResult GetAuthenticationResult(this AuthenticationResultDataContract dataContract) { return(new AuthenticationResult() { Authenticated = dataContract.Authenticated, UserIdentity = dataContract.UserIdentity.GetPerson() }); }
public static LogOnResult ToLogOnResult(this AuthenticationResultDataContract authenticationResultDataContract) { var accountStatus = (AcountStatus) Enum.Parse(typeof(AcountStatus), authenticationResultDataContract.UserAccountStatus.ToString()); var userInfo = new UserInfo { PrimaryEmail = authenticationResultDataContract.PrimaryEmail, Name = authenticationResultDataContract.Name }; return(new LogOnResult { AccountStatus = accountStatus, UserInfo = userInfo, SignedIn = authenticationResultDataContract.Authenticated }); }
public static AuthenticationResult GetAuthenticationResult(this AuthenticationResultDataContract dc) { var result = new AuthenticationResult(); result.Authenticated = dc.Authenticated; result.IsNaturalPerson = dc.IsNaturalPerson; result.UserAccountStatus = (Common.Enum.UserAccountStatus)dc.UserAccountStatus; result.Person = dc.IsNaturalPerson ? (Person) new NaturalPerson() { PrimaryEmail = dc.PrimaryEmail, FirstName = dc.FirstName, LastName = dc.LastName, } : (Person) new LegalPerson() { PrimaryEmail = dc.PrimaryEmail, Name = dc.Name }; return(result); }