Beispiel #1
0
        /// <summary>
        /// 更新成員資訊 - 管理者修改
        /// </summary>
        /// <param name="token">登入者代碼</param>
        /// <param name="name">欲修改姓名</param>
        /// <param name="email">欲修改信箱</param>
        /// <param name="roleName">欲修改角色</param>
        /// <param name="file">欲修改大頭照</param>
        /// <returns></returns>
        public Member UpdateMemberInfo(MemberManagePutRequest requestData)
        {
            try
            {
                var db           = _uow.DbContext;
                var tokenService = new TokenService();
                //取得目前DB登入
                var checkUserToken = tokenService.GetTokenInfo(requestData.Token).Result;

                if (checkUserToken == null)
                {
                    return(null);
                }

                var updaterInfo = db.Members.FirstOrDefault(t => t.Id == checkUserToken.MemberId);
                var memberInfo  = db.Members.FirstOrDefault(t => t.OrgId == requestData.OrgId && t.Account.ToLower() == requestData.Account.ToLower());
                if (memberInfo == null)
                {
                    return(null);
                }

                memberInfo.Email = requestData.Email;

                if (requestData.Name != null && requestData.Name != string.Empty)
                {
                    memberInfo.Name = requestData.Name;
                }

                if (requestData.RoleId.HasValue)
                {
                    memberInfo.RoleName = requestData.RoleId.ToString();
                }
                memberInfo.Updated    = TimeData.Create(DateTime.UtcNow);
                memberInfo.UpdateUser = updaterInfo.Id;
                //if (requestData.Photo != string.Empty && requestData.Photo != null)
                //    memberInfo.Photo = requestData.Photo;
                memberInfo.IsShowEmail = requestData.IsShowEmail;
                db.SaveChanges();
                return(memberInfo);
            }
            catch (Exception ex)
            {
                return(null);

                throw ex;
            }
        }
Beispiel #2
0
        public void PutTest()
        {
            var putTestValue = new MemberManagePutRequest()
            {
                Account = "unittestuser",
                OrgId   = 2,
                Email   = "*****@*****.**",
                Token   = "4a01b7ed-27d7-4312-9a63-71c53a70dc81",
                Name    = "單元測試修改帳號"
            };

            target = new UserController();

            var targetResponse = target.Put(putTestValue);

            Assert.IsInstanceOfType(targetResponse, typeof(OkNegotiatedContentResult <BaseResponse <Member> >));
            var targetResponseData = targetResponse as OkNegotiatedContentResult <BaseResponse <Member> >;

            Assert.IsNotNull(targetResponseData.Content);
        }
Beispiel #3
0
        public IHttpActionResult Put(MemberManagePutRequest requestData)
        {
            putResponse = new BaseResponse <Member>()
            {
                Success = false, Data = new Member(), Message = "編輯失敗"
            };
            var checkColumnKeys = new string[3] {
                "account", "orgid", "email"
            };
            //判斷是否遺漏參數
            var checkEmpty = CheckEmpty(requestData, checkColumnKeys) as NegotiatedContentResult <BaseResponse <string> >;

            if (checkEmpty.Content.Success == false)
            {
                return(checkEmpty);
            }

            //驗證token
            var authToken = AuthToken(requestData.Token, Request) as NegotiatedContentResult <BaseResponse <string> >;

            if (authToken.Content.Success == false)
            {
                return(authToken);
            }
            requestData.Token = _token;
            var service      = new MemberService();
            var responseData = service.UpdateMemberInfo(requestData);

            if (responseData != null)
            {
                putResponse.Success = true;
                putResponse.Message = "編輯成功";
                putResponse.Data    = responseData;
            }

            return(Ok(putResponse));
        }