Example #1
0
        /// <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);
        }
Example #2
0
        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())
            });
        }