Exemplo n.º 1
0
        public IHttpActionResult PostMember(Member member)
        {
            var checkmember = db.Members.Where(x => x.Email == member.Email).FirstOrDefault();

            //bool duplicate = db.Members.Any(x => x.Email == member.Email);

            if (checkmember != null)
            {
                return(Content(HttpStatusCode.BadRequest, new { success = false, message = "此帳號已經註冊,請重新輸入" }));
            }

            UriBuilder uriBuilder = new UriBuilder(HttpContext.Current.Request.Url)
            {
                Path = "/Upload/Userimg/20200601054121.jpg"
            };
            Uri defaultImgUri = uriBuilder.Uri;

            member.manpic = defaultImgUri.ToString();
            string     img = "http://findtrip.rocket-coding.com:80/Upload/Userimg/20200601054121.jpg";
            UriBuilder ub  = new UriBuilder();

            member.PasswordSalt = Utility.CreateSalt();
            member.Password     = Utility.GenerateHashWithSalt(member.Password, member.PasswordSalt);
            member.points       = Convert.ToInt32("1000"); //add 1k points
            string pathSocial1 = "https://www.facebook.com/";
            string remind      = "輸入您的臉書帳號";

            member.PlannerSocial1 = pathSocial1 + remind;
            string pathSocial2 = "https://twitter.com/";
            string remind2     = "輸入您的推特帳號";

            member.PlannerSocial2 = pathSocial2 + remind2;
            member.Permission     = "01";
            member.CreateOn       = DateTime.Now;

            db.Members.Add(member);
            //SendAuthCodeToMember(member);
            db.SaveChanges();

            return(Ok(new { success = true, message = "註冊成功", member.id, member.Email, member.points, member.manpic }));
        }
Exemplo n.º 2
0
        public HttpResponseMessage MemberLogin(ViewLogin viewLogin)
        {
            Member member = ValidateUser(viewLogin.Email, viewLogin.Password);

            if (member != null)
            {
                JwtAuthUtil jwtAuthUtil = new JwtAuthUtil();
                string      jwtToken    = jwtAuthUtil.GenerateToken(member.id, member.Email);


                return(Request.CreateResponse(HttpStatusCode.OK,
                                              new { success = true, message = "登入成功", token = jwtToken, member.points, member.Permission, member.id, member.Email }));
                //return Request.CreateResponse(HttpStatusCode.OK,
                //    new { success = true, message = "登入成功" });
            }

            return(Request.CreateResponse(HttpStatusCode.NotFound, new
            {
                success = false,
                message = "登入失敗"
            }));
        }
Exemplo n.º 3
0
        public HttpResponseMessage GetMembersInfo(Member member)
        {
            string      token       = Request.Headers.Authorization.Parameter;
            JwtAuthUtil jwtAuthUtil = new JwtAuthUtil();
            int         Mid         = Convert.ToInt32(jwtAuthUtil.GetId(token));

            var result = db.Members.Where(x => x.id == Mid).Select(x => new
            {
                x.id,
                x.name,
                x.points,
                x.manpic,
                x.MemberIntro,
                x.Tel,
                x.PlannerSocial1,
                x.PlannerSocial2,
                x.Email
            });

            return(Request.CreateResponse(HttpStatusCode.OK, new { success = true, result }));


            //if (member.Permission == "02")
            //{
            //    var result2 = db.Members.Where(x => x.id == Mid).Select(x => new
            //    {
            //        x.id,
            //        x.Name,
            //        x.UserPoints,
            //        x.UserImg,
            //        x.MemberIntro,
            //        x.Tel,
            //        x.PlannerSocial1,
            //        x.PlannerSocial2
            //    });

            //    return Request.CreateResponse(HttpStatusCode.OK, new {success = true, result2});
        }
Exemplo n.º 4
0
        public HttpResponseMessage RechargePoints(PointsHistory pointsHistory)
        {
            string      token       = Request.Headers.Authorization.Parameter;
            JwtAuthUtil jwtAuthUtil = new JwtAuthUtil();
            int         Mid         = Convert.ToInt32(jwtAuthUtil.GetId(token));
            Member      member      = db.Members.Find(Mid);

            if (pointsHistory.Product != null)
            {
                pointsHistory.MemberId = Mid;
                var total = member.points + Convert.ToInt32(pointsHistory.Product);
                member.points          = total;
                pointsHistory.CreateOn = DateTime.Now;


                db.Entry(member).State = EntityState.Modified;
                db.PointsHistories.Add(pointsHistory);
                db.SaveChanges();
                return(Request.CreateResponse(HttpStatusCode.OK,
                                              new { success = true, member.points, message = "儲值成功", pointsHistory.Product }));
            }

            return(Request.CreateResponse(HttpStatusCode.BadRequest, new { success = false, message = "儲值失敗" }));
        }
Exemplo n.º 5
0
        public HttpResponseMessage PostUserImage()
        {
            string      token       = Request.Headers.Authorization.Parameter;
            JwtAuthUtil jwtAuthUtil = new JwtAuthUtil();
            int         Mid         = Convert.ToInt32(jwtAuthUtil.GetId(token));
            Member      member      = db.Members.Find(Mid);

            try
            {
                var postedFile = HttpContext.Current.Request.Files.Count > 0
                    ? HttpContext.Current.Request.Files[0]
                    : null;

                if (postedFile != null && postedFile.ContentLength > 0)
                {
                    //string extension = postedFile.FileName.Split('.')[postedFile.FileName.Split('.').Length - 1];
                    //int MaxContentLength = 1024 * 1024 * 1; //Size = 1MB
                    string fileName = Utility.SaveUpImage(postedFile);
                    //IList<string> AllowedFileExtensions = new List<string> {".jpg", ".png", ".svg"};

                    //if (!AllowedFileExtensions.Contains(extension))
                    //{
                    //    return Request.CreateResponse(HttpStatusCode.BadRequest, new
                    //    {
                    //        success = false,
                    //        message = "請上傳圖片正確格式,可接受格式為 .jpg, .png, .svg"
                    //    });
                    //}

                    //產生圖片連結
                    UriBuilder uriBuilder = new UriBuilder(HttpContext.Current.Request.Url)
                    {
                        Path = $"/Upload/Userimg/{fileName}"
                    };
                    //Userimage myfolder name where i want to save my image
                    Uri imageUrl = uriBuilder.Uri;
                    member.manpic = imageUrl.ToString();

                    db.Entry(member).State = EntityState.Modified;
                    db.SaveChanges();

                    return(Request.CreateResponse(HttpStatusCode.OK, new
                    {
                        success = true,
                        message = "已上傳個人圖片",
                        imageUrl
                    }));
                }

                return(Request.CreateResponse(HttpStatusCode.NotFound, new
                {
                    success = false,
                    message = "無圖片,請選擇圖片上傳"
                }));
            }

            catch
            {
                throw;
            }
        }
Exemplo n.º 6
0
        public HttpResponseMessage PutMember(Member member)
        {
            string      token       = Request.Headers.Authorization.Parameter;
            JwtAuthUtil jwtAuthUtil = new JwtAuthUtil();
            int         Mid         = Convert.ToInt32(jwtAuthUtil.GetId(token));

            var change = db.Members.Find(Mid);

            if (change.Permission == "01")
            {
                change.name = member.name;
                //change.PasswordSalt = Utility.CreateSalt();
                //change.Password = Utility.GenerateHashWithSalt(member.Password, change.PasswordSalt);
                change.Tel            = member.Tel;
                change.PlannerSocial1 = member.PlannerSocial1;
                change.PlannerSocial2 = member.PlannerSocial2;
                change.MemberIntro    = member.MemberIntro;
                change.manpic         = member.manpic;
                db.SaveChanges();

                var result = db.Members.Where(x => x.id == Mid).Select(x => new
                {
                    x.id,
                    x.Email,
                    x.name,
                    x.Tel,
                    x.MemberIntro,
                    x.PlannerSocial1,
                    x.PlannerSocial2,
                    x.manpic
                });

                return(Request.CreateResponse(HttpStatusCode.OK, new { success = true, message = "旅行家修改成功", result }));
            }

            if (change.Permission == "02")
            {
                change.name = member.name;
                //change.PasswordSalt = Utility.CreateSalt();
                //change.Password = Utility.GenerateHashWithSalt(member.Password, change.PasswordSalt);
                change.Tel            = member.Tel;
                change.PlannerIntro   = member.PlannerIntro;
                change.PlannerName    = member.PlannerName;
                change.PlannerTel     = member.PlannerTel;
                change.PlannerSocial1 = member.PlannerSocial1;
                change.PlannerSocial2 = member.PlannerSocial2;
                change.PlannerSocial3 = member.PlannerSocial3;
                change.PlannerSocial4 = member.PlannerSocial4;
                change.MemberIntro    = member.MemberIntro;
                change.manpic         = member.manpic;
                db.SaveChanges();

                var result2 = db.Members.Where(x => x.id == Mid).Select(x => new
                {
                    x.id,
                    x.Email,
                    x.name,
                    x.Tel,
                    x.MemberIntro,
                    x.PlannerSocial1,
                    x.PlannerSocial2,
                    x.PlannerIntro,
                    x.PlannerName,
                    x.PlannerTel,
                    x.PlannerSocial3,
                    x.PlannerSocial4,
                    x.manpic
                });

                return(Request.CreateResponse(HttpStatusCode.OK, new { success = true, message = " 規劃師修改成功", result2 }));
            }

            return(Request.CreateResponse(HttpStatusCode.NoContent));
        }
Exemplo n.º 7
0
        //[ResponseType(typeof(void))]
        public HttpResponseMessage PatchMemberTest(Member member)
        {
            string      token       = Request.Headers.Authorization.Parameter;
            JwtAuthUtil jwtAuthUtil = new JwtAuthUtil();
            int         Mid         = Convert.ToInt32(jwtAuthUtil.GetId(token));

            if (!ModelState.IsValid)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }


            //member.id = Mid;
            //member.PasswordSalt = Utility.CreateSalt();
            //member.Password = Utility.GenerateHashWithSalt(member.Password, member.PasswordSalt);
            //member.MemberIntro = member.MemberIntro;

            var change = db.Members.Find(Mid);

            if (change.Permission == "01")
            {
                change.PasswordSalt   = Utility.CreateSalt();
                change.Password       = Utility.GenerateHashWithSalt(member.Password, change.PasswordSalt);
                change.Tel            = member.Tel;
                change.PlannerSocial1 = member.PlannerSocial1;
                change.PlannerSocial2 = member.PlannerSocial2;
            }
            else if (change.Permission == "02")
            {
                change.PasswordSalt   = Utility.CreateSalt();
                change.Password       = Utility.GenerateHashWithSalt(member.Password, change.PasswordSalt);
                change.Tel            = member.Tel;
                change.PlannerSocial1 = member.PlannerSocial1;
                change.PlannerSocial2 = member.PlannerSocial2;
                change.PlannerName    = member.PlannerName;
                change.PlannerIntro   = member.PlannerIntro;
            }

            //db.Entry(member).State = EntityState.Modified;

            try
            {
                db.SaveChanges();

                var result = db.Members.Where(x => x.id == Mid).Select(x => new
                {
                    x.id,
                    x.name,
                    x.Tel,
                    x.MemberIntro,
                    x.PlannerSocial1,
                    x.PlannerSocial2,
                    x.Password
                });

                return(Request.CreateResponse(HttpStatusCode.OK, new { success = true, message = "成功修改", result }));
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MemberExists(Mid))
                {
                    return(Request.CreateResponse(HttpStatusCode.NotFound));
                }
                else
                {
                    throw;
                }
            }

            return(Request.CreateResponse(HttpStatusCode.NoContent));
        }