#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously
        public async Task <IHttpActionResult> EditUserInfo(UpdateBindingModel model)
#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            UserService _UserService = new UserService(Guid.Parse(User.Identity.GetUserId()));

            UserInfoEdit updateUser = new UserInfoEdit()
            {
                Email            = model.Email,
                OrganizationName = model.OrganizationName,
                FirstName        = model.FirstName,
                LastName         = model.LastName,
                PhoneNumber      = model.PhoneNumber,
                State            = model.State,
                Address          = model.Address,
                Zip  = model.Zip,
                City = model.City
            };

            bool result = _UserService.UpdateUser(updateUser);

            if (!result)
            {
                return(InternalServerError());
            }

            return(Ok());
        }
Exemplo n.º 2
0
        public ActionResult Edit(UserInfoEdit user)
        {
            if (ModelState.IsValid)
            {
                HttpPostedFileBase file = Request.Files["Image"];

                var service = CreateUserInfoService().UpdateUserInfo(user, file);
                if (service)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
            }
            return(View(user));
        }
Exemplo n.º 3
0
        public bool UpdateUserInfo(UserInfoEdit model, HttpPostedFileBase file)
        {
            model.ProfileImage = ConvertToBytes(file);
            using (var ctx = new ApplicationDbContext())
            {
                var entity = ctx
                             .UsersInfo
                             .Single(e => e.Id == _userID);

                entity.Name         = model.Name;
                entity.Username     = model.Username;
                entity.Bio          = model.Bio;
                entity.Location     = model.Location;
                entity.ProfileImage = model.ProfileImage;
                entity.Interests    = model.Interests;
                entity.DateModified = DateTimeOffset.UtcNow;

                return(ctx.SaveChanges() == 1);
            }
        }
        public bool UpdateUser(UserInfoEdit model)
        {
            using (var ctx = new ApplicationDbContext())
            {
                var entity =
                    ctx
                    .Users
                    .Single(e => e.Id == _creatorId.ToString());

                entity.Email            = model.Email;
                entity.OrganizationName = model.OrganizationName;
                entity.FirstName        = model.FirstName;
                entity.LastName         = model.LastName;
                entity.PhoneNumber      = model.PhoneNumber;
                entity.State            = model.State;
                entity.Address          = model.Address;
                entity.Zip  = model.Zip;
                entity.City = model.City;
                return(ctx.SaveChanges() == 1);
            }
        }
        public async Task <IActionResult> EditInfo([FromBody] UserInfoEdit userInfoEdit)
        {
            //如果HttpContext.User.Identity.IsAuthenticated为true,
            //或者HttpContext.User.Claims.Count()大于0表示用户已经登录
            //TODO 编辑个人信息
            int userId = -1;

            if (HttpContext.User.Identity.IsAuthenticated)
            {
                //这里通过 HttpContext.User.Claims 可以将我们在Login这个Action中存储到cookie中的所有
                //claims键值对都读出来,比如我们刚才定义的UserName的值Wangdacui就在这里读取出来了
                userId = int.Parse(HttpContext.User.Claims.ElementAt(0).Value);
            }
            else
            {
                //TODO
                //进入到这部分意味着用户登录态已经失效,需要返回给客户端信息,即需要登录。
                RestfulResult.RestfulData rr = new RestfulResult.RestfulData();
                rr.Code    = 200;
                rr.Message = "Need Authentication";
                return(new JsonResult(rr));
            }

            return(await Wrapper.wrap(async (OracleConnection conn) =>
            {
                if (!(ParameterChecker.CheckPara(userInfoEdit.password, ParameterChecker.ParaTpye.Password) ||
                      userInfoEdit.password == ""))
                {
                    return new JsonResult(new RestfulResult.RestfulData(200, "Invalid Password"));
                }
                if (!(ParameterChecker.CheckPara(userInfoEdit.gender, ParameterChecker.ParaTpye.Gender) ||
                      userInfoEdit.gender == ""))
                {
                    return new JsonResult(new RestfulResult.RestfulData(200, "Invalid Gender"));
                }

                //FUNC_SET_USER_INFO
                //(nickname in VARCHAR, self_introduction in VARCHAR, password in VARCHAR, realname in VARCHAR, gender in VARCHAR,id in INTEGER, mode in INTEGER)
                //return INTEGER
                int mode = 0;
                string procedureName = "FUNC_SET_USER_INFO";
                OracleCommand cmd = new OracleCommand(procedureName, conn);
                cmd.CommandType = CommandType.StoredProcedure;
                OracleParameter p1 = new OracleParameter();
                p1 = cmd.Parameters.Add("state", OracleDbType.Int32);
                p1.Direction = ParameterDirection.ReturnValue;

                OracleParameter p2 = new OracleParameter();
                p2 = cmd.Parameters.Add("nickname", OracleDbType.Varchar2);
                p2.Direction = ParameterDirection.Input;
                p2.Value = userInfoEdit.nickname;
                if (userInfoEdit.nickname != "")
                {
                    mode |= 1 << 0;
                }

                OracleParameter p3 = new OracleParameter();
                p3 = cmd.Parameters.Add("introduction", OracleDbType.Varchar2);
                p3.Direction = ParameterDirection.Input;
                p3.Value = userInfoEdit.self_introduction;
                if (userInfoEdit.self_introduction != "")
                {
                    mode |= 1 << 1;
                }


                OracleParameter p4 = new OracleParameter();
                p4 = cmd.Parameters.Add("password", OracleDbType.Varchar2);
                p4.Direction = ParameterDirection.Input;
                p4.Value = userInfoEdit.password;
                if (userInfoEdit.password != "")
                {
                    mode |= 1 << 2;
                }

                OracleParameter p5 = new OracleParameter();
                p5 = cmd.Parameters.Add("realname", OracleDbType.Varchar2);
                p5.Direction = ParameterDirection.Input;
                p5.Value = userInfoEdit.realname;
                if (userInfoEdit.realname != "")
                {
                    mode |= 1 << 3;
                }



                OracleParameter p6 = new OracleParameter();
                p6 = cmd.Parameters.Add("gender", OracleDbType.Varchar2);
                p6.Direction = ParameterDirection.Input;
                p6.Value = userInfoEdit.gender;
                if (userInfoEdit.gender != "")
                {
                    mode |= 1 << 4;
                }



                OracleParameter p7 = new OracleParameter();
                p7 = cmd.Parameters.Add("user_id", OracleDbType.Int32);
                p7.Direction = ParameterDirection.Input;
                p7.Value = userId;

                OracleParameter p8 = new OracleParameter();
                p8 = cmd.Parameters.Add("mode", OracleDbType.Int32);
                p8.Direction = ParameterDirection.Input;
                p8.Value = mode;

                await cmd.ExecuteReaderAsync();

                if (int.Parse(p1.Value.ToString()) == 0)
                {
                    throw new Exception("failed");
                }

                RestfulResult.RestfulData rr = new RestfulResult.RestfulData(200, "success");
                return new JsonResult(rr);
            }));
        }