/// <summary> /// Sign-in and get member information with Facebook /// </summary> /// <param name="param">SignIn With Facebook Request Model</param> /// <remarks></remarks> public ProfileResultModel SignInWithFacebook(SignInWithFacebookRequestModel param) { ProfileResultModel result = new ProfileResultModel(); if (!this.ModelState.IsValid) { result.Status = false; result.Message = this.ModelState.Values.Single(v => v.Errors.Count > 0).Errors.FirstOrDefault().ErrorMessage; return(result); } try { MemberBL bl = new MemberBL(); var member = bl.SignInWithFacebookId(param); if (member == null) { result.Status = false; result.Message = "Invalid facebook Id"; } else { var token = IdentityHelper.GenerateToken(member); bl.RegisterToken(token); result.Status = true; result.Message = "Sign-in successfully"; result.Member = member; result.Member.AccessToken = token.Token; } } catch (OrgException oex) { result.Status = false; result.Message = oex.Message; } catch (Exception ex) { result.Status = false; result.Message = AppConfigs.InternalErrorMessage; if (AppConfigs.DebugInternalMessage) { result.InternalMessage = ex.Message; } } return(result); }
public MemberModel SignInWithFacebookId(SignInWithFacebookRequestModel model) { OrgComm.Data.Models.Member member = null; using (OrgCommEntities dbc = new OrgCommEntities(DBConfigs.OrgCommConnectionString)) { member = dbc.Members.FirstOrDefault(r => (!r.DelFlag) && (r.FacebookId.Equals(model.FacebookId))); if (member == null) { return(null); } if (!model.DeviceOSId.HasValue || String.IsNullOrWhiteSpace(model.DeviceToken)) { throw new OrgException("Invalid device token"); } this.RegisterDevice(member.Id, new DeviceTokenRequestModel { OSId = model.DeviceOSId.Value, Token = model.DeviceToken }); } return(new MemberModel { Id = member.Id, FacebookId = member.FacebookId, Email = member.Email, FirstName = member.FirstName, LastName = member.LastName, NickName = member.Nickname, DisplayName = member.DisplayName, Gender = member.Gender, Company = member.Company.Name, Department = member.Department.Name, Position = member.Position.Name, EmployeeId = member.EmployeeId, Phone = member.Phone, Photo = (member.Photo == null) ? null : MemberBL.PhotoUrlFormatString.Replace("{0}", member.Id.ToString()) }); }