Example #1
0
        public IActionResult Post_Detail_joinNow(int?id)
        {
            ViewBag.UserID = HttpContext.Session.GetInt32(CDictionary.CURRENT_LOGINED_USERID);
            int UserID = ViewBag.UserID;

            if (id != null)
            {
                int p = db.TPosts.FirstOrDefault(p => p.FPostId == id).FPeople;                                      //活動人數
                IEnumerable <TJoinPerson> query = db.TJoinPeople.Where(p => p.FPostId == id && p.FUserId == UserID); //有沒有報名
                if (query.Any() == true)                                                                             //已參加
                {
                    db.TJoinPeople.Remove(query.FirstOrDefault());
                    db.SaveChanges();
                    //判斷目前報名人數 候補
                    if (p > db.TJoinPeople.Where(j => j.FPostId == id && j.FJoincheck == true).Count())
                    {
                        TJoinPerson j = db.TJoinPeople.FirstOrDefault(j => j.FPostId == id && j.FJoincheck == false);
                        if (j != null)
                        {
                            j.FJoincheck = true;
                            db.SaveChanges();
                        }
                    }
                }
                else
                {
                    TJoinPerson joinPerson = null;
                    //判斷目前報名人數,T=不足(參加),F=額滿(等待)。
                    if (p > db.TJoinPeople.Where(j => j.FPostId == id && j.FJoincheck == true).Count())
                    {
                        joinPerson = new() { FPostId = id, FUserId = UserID, FJoinTime = DateTime.Now.ToString("yyyy/MM/dd HH:mm"), FJoincheck = true };
                    }
                    else
                    {
                        joinPerson = new() { FPostId = id, FUserId = UserID, FJoinTime = DateTime.Now.ToString("yyyy/MM/dd HH:mm"), FJoincheck = false };
                    }
                    db.TJoinPeople.Add(joinPerson);
                    db.SaveChanges();
                }
                var people = db.TPosts.AsEnumerable().GroupJoin(db.TJoinPeople, p => p.FPostId, j => j.FPostId, (p, j) => (p, j)).FirstOrDefault(p => p.p.FPostId == id);
                var result = people.j.Join(db.Members, j => j.FUserId, m => m.FUserId, (j, m) => new Post_Join_ViewModel
                {
                    joinPerson = j,
                    member     = m,
                }).OrderBy(p => p.joinPerson.FJoinId).Skip(1);
                return(PartialView("Post_Detail_join", result));
            }
            return(View("Post_Detail_post"));
        }
        public JsonResult Create(articleCreate_ViewModels a)
        {
            string photoName = Guid.NewGuid().ToString() + ".jpg";

            using (var photo = new FileStream(iv_host.ContentRootPath + @"\wwwroot\imgs\" + photoName,
                                              FileMode.Create))
            {
                a.photo.CopyTo(photo);
            }
            a.Image = "/imgs/" + photoName;

            db.Add(a.article);
            db.SaveChanges();
            return(Json(a.ArticleId));
        }
 public bool sendreport(int articleid, int userid, string message, string date)
 {
     if (message != null && date != null && articleid != 0 && userid != 0)
     {
         TArticleReport report = new TArticleReport();
         report.ArticleId         = articleid;
         report.UserId            = userid;
         report.ArticleReport     = message;
         report.ArticleReportTime = date;
         db.TArticleReports.Add(report);
         db.SaveChanges();
         return(true);
     }
     return(false);
 }
Example #4
0
        //刪除照片
        public IEnumerable <TProductPic> RemoveImg(string img)
        {
            WeNeedFriendsFINContext db  = new WeNeedFriendsFINContext();
            TProductPic             pic = db.TProductPics.FirstOrDefault(n => n.Fid == int.Parse(img));

            db.TProductPics.Remove(pic);
            db.SaveChanges();
            var Pic2 = db.TProductPics.Select(n => n);

            return(Pic2);
        }
Example #5
0
        //重設密碼雙重驗證
        public IActionResult redirectpassword(int?first, int?second, int?id)
        {
            WeNeedFriendsFINContext db = new WeNeedFriendsFINContext();

            if (first == second)
            {
                Member member = db.Members.FirstOrDefault(n => n.FUserId.Equals(id));
                member.FPassword = first.ToString();
                db.SaveChanges();
                return(Json("true"));
            }


            return(Json("false"));
        }
        public JsonResult removecheck(int articleid, int userid)
        {
            var result = false;

            try
            {
                var q = (from l in db.TArticleChecks
                         where l.ArticleId == articleid && l.UserId == userid
                         select l).FirstOrDefault();
                db.TArticleChecks.Remove(q);
                db.SaveChanges();
                result = true;
                return(Json(new { result = result }));
            }
            catch
            {
                result = false;
                return(Json(new { result = result }));
            }
        }
        public IActionResult message_new(TPostMsg postMsg)
        {
            ViewBag.UserID = HttpContext.Session.GetInt32(CDictionary.CURRENT_LOGINED_USERID);
            int UserID = ViewBag.UserID;
            IEnumerable <Post_Message> query = null;

            try
            {
                postMsg.FMsgTime = DateTime.Now.ToString("yyyy/MM/dd HH:mm");
                postMsg.FUserId  = UserID;
                db.TPostMsgs.Add(postMsg);
                db.SaveChanges();
                query = db.TPostMsgs.Where(p => p.FPostId == postMsg.FPostId)
                        .Join(db.Members, p => p.FUserId, u => u.FUserId, (p, u) => new Post_Message
                {
                    FPostId    = p.FPostId,
                    FPostMsgId = p.FPostMsgId,
                    FUserPhoto = u.FUserPhoto,
                    FMsgTime   = p.FMsgTime /*DateTime.Now.ToString("yyyy/MM/dd HH:mm")*/,
                    FUserName  = u.FUserName,
                    FMsgDesc   = p.FMsgDesc,
                    FStart     = p.FStart,
                }).OrderByDescending(p => p.FPostMsgId);
                if (query != null)
                {
                    string stars = Math.Round(query.Average(p => p.FStart).Value, 1).ToString();
                    var    tpost = db.TPosts.FirstOrDefault(p => p.FPostId == postMsg.FPostId);
                    tpost.FLikeCount = stars;
                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                return(Json(ex));
            }
            return(PartialView("Post_Detail_message", query));
        }
        public IActionResult ShpAddProduct(tProductViewModel p)
        {
            db.TProducts.Add(p.product);
            db.SaveChanges();
            foreach (var a in p.imgs)
            {
                string photoName = Guid.NewGuid().ToString() + ".jpg";
                using (var photo = new FileStream(iv_host.ContentRootPath + @"\wwwroot\img\" + photoName, FileMode.Create))
                {
                    a.CopyTo(photo);
                }
                TProductPic tp = new TProductPic();
                tp.FProductPicPath = @"/img/" + photoName;
                tp.FProductId      = p.product.FProductId;
                db.TProductPics.Add(tp);
                db.SaveChanges();
            }

            return(RedirectToAction("ShpManagement"));
        }
Example #9
0
        public IActionResult Login(string p, string date, string password, string random)
        {
            WeNeedFriendsFINContext db = new WeNeedFriendsFINContext();
            Member member = db.Members.FirstOrDefault(n => n.FEmail.Equals(p) && n.FPassword.Equals(password));

            if (random == null)
            {
                return(Json("0"));
            }
            if (member != null && random.Equals(HttpContext.Session.GetString(CDictionary.LOGIN_AUTHTICATION_CODE)))
            {
                var q = db.ChangeStatusDates.Where(n => n.Userid.Equals(member.FUserId) && n.Status == true).ToList();
                if (q != null)
                {
                    foreach (var item in q)
                    {
                        long time  = long.Parse(item.Recoverytime);
                        long today = long.Parse(date);
                        if (time - today <= 0)
                        {
                            item.Status    = false;
                            member.Fstatus = 1;
                            db.SaveChanges();
                            HttpContext.Session.SetInt32(CDictionary.CURRENT_LOGINED_USERSTATUS, (int)member.Fstatus);
                            HttpContext.Session.SetString(CDictionary.CURRENT_LOGINED_USERNAME, member.FUserName);
                            HttpContext.Session.SetInt32(CDictionary.CURRENT_LOGINED_USERID, member.FUserId);
                            HttpContext.Session.SetString(CDictionary.CURRENT_LOGINED_USERPHOTO, member.FUserPhoto);
                            return(Json(member.Fstatus));
                        }

                        return(Json(member));
                    }
                }

                if (member.Fstatus == 1)
                {
                    HttpContext.Session.SetInt32(CDictionary.CURRENT_LOGINED_USERSTATUS, (int)member.Fstatus);
                    HttpContext.Session.SetString(CDictionary.CURRENT_LOGINED_USERNAME, member.FUserName);
                    HttpContext.Session.SetInt32(CDictionary.CURRENT_LOGINED_USERID, member.FUserId);
                    HttpContext.Session.SetString(CDictionary.CURRENT_LOGINED_USERPHOTO, member.FUserPhoto);

                    return(Json(member));
                }


                if (member.Fstatus == 3)
                {
                    HttpContext.Session.SetInt32(CDictionary.CURRENT_LOGINED_USERSTATUS, (int)member.Fstatus);
                    HttpContext.Session.SetString(CDictionary.CURRENT_LOGINED_USERNAME, member.FUserName);
                    HttpContext.Session.SetInt32(CDictionary.CURRENT_LOGINED_USERID, member.FUserId);
                    HttpContext.Session.SetString(CDictionary.CURRENT_LOGINED_USERPHOTO, member.FUserPhoto);

                    return(Json(member));
                }
            }
            else if (member == null || !random.Equals(HttpContext.Session.GetString(CDictionary.LOGIN_AUTHTICATION_CODE)))
            {
                return(Json("0"));
            }
            return(Json(member));
        }
Example #10
0
        public JsonResult memberAdd(MemberViewModel m)
        {
            if (m != null)
            {
                if (m.image == null)
                {
                    return(Json("false"));
                }
                if (m.FEmail == null)
                {
                    return(Json("false"));
                }
                if (m.FAddress == null)
                {
                    return(Json("false"));
                }
                if (m.FCity == null)
                {
                    return(Json("false"));
                }
                if (m.FDistrict == null)
                {
                    return(Json("false"));
                }
                if (m.FGender == null)
                {
                    return(Json("false"));
                }
                if (m.FPassword == null)
                {
                    return(Json("false"));
                }
                if (m.FUserBirthday == null)
                {
                    return(Json("false"));
                }
                if (m.FUserPhone == null)
                {
                    return(Json("false"));
                }
                if (m.FUserName == null)
                {
                    return(Json("false"));
                }
                var k = db.Members.FirstOrDefault(n => n.FEmail.Equals(m.FEmail));
                if (k != null)
                {
                    return(Json("emailrepeat"));
                }
                string photoName = Guid.NewGuid().ToString() + ".jpg";
                using (
                    var photo = new FileStream(
                        iv_host.ContentRootPath + @"\wwwroot\images\" + photoName,
                        FileMode.Create))
                {
                    m.image.CopyTo(photo);
                }
                m.FUserPhoto = "/images/" + photoName;
                db.Members.Add(m.member);
                db.SaveChanges();
                return(Json("success"));
            }

            //var q = db.Members.FirstOrDefault(n => n.FEmail.Equals(m.FEmail));
            //    if (q == null)
            //    {
            //    string photoName = Guid.NewGuid().ToString() + ".jpg";
            //    using (
            //        var photo = new FileStream(
            //        iv_host.ContentRootPath + @"\wwwroot\images\" + photoName,
            //        FileMode.Create))
            //    {
            //        m.image.CopyTo(photo);
            //    }
            //    m.FUserPhoto = "../images/" + photoName;
            //    db.Members.Add(m.member);
            //    db.SaveChanges();
            //    return Json("success");
            //}
            return(Json(false));
        }
Example #11
0
        public IActionResult Post_Create(CPostViewModel cPost, string[] tag)
        {
            try
            {
                for (int i = 0; i < tag.Count(); i++)
                {
                    Tag.Add(tag[i]);
                }
                user = cPost.FUserId;
                //context.Add(cPost);

                TPost new_Post = new TPost
                {
                    FUserId       = cPost.FUserId, //todo
                    FDescription  = cPost.FDescription,
                    FPeople       = cPost.FPeople,
                    FPostCity     = cPost.FPostCity,
                    FPostAddress  = cPost.FPostAddress,
                    FPostDistrict = cPost.FPostDistrict,
                    FPostTime     = cPost.FPostTime,
                    FSportName    = cPost.FSportName,
                    FSystemTime   = DateTime.Now.ToString(),
                    FTitle        = cPost.FTitle,
                };
                context.TPosts.Add(new_Post);
                context.SaveChanges();

                foreach (var i in Tag) //標籤
                {
                    TPostTag postTag = new TPostTag();
                    postTag.FTagId  = int.Parse(i);
                    postTag.FPostId = new_Post.FPostId;
                    context.TPostTags.Add(postTag);
                    context.SaveChanges();
                }

                TJoinPerson joinPerson = new TJoinPerson(); //參加人
                joinPerson.FUserId   = new_Post.FUserId;
                joinPerson.FPostId   = new_Post.FPostId;
                joinPerson.FJoinTime = DateTime.Now.ToString();

                TPostSport postSport = new TPostSport();  //活動種類
                postSport.FPostId    = new_Post.FPostId;
                postSport.FSportName = new_Post.FSportName;


                context.TJoinPeople.Add(joinPerson);
                context.SaveChanges();
                if (cPost.image != null)
                {
                    foreach (var i in cPost.image)
                    {
                        string photoName = Guid.NewGuid().ToString() + ".jpg";
                        using (var photo = new FileStream(iv_host.ContentRootPath + @"/wwwroot/Postimg/" + photoName, FileMode.Create))
                        {
                            i.CopyTo(photo);
                        }
                        TPostPhoto postPhoto = new TPostPhoto();
                        postPhoto.FPostId    = new_Post.FPostId;
                        postPhoto.FPostPhoto = @"/Postimg/" + photoName;
                        context.TPostPhotos.Add(postPhoto);
                        context.SaveChanges();
                    }
                }
                return(RedirectToAction("Post_Index", "CPost"));
            }
            catch
            {
                return(RedirectToAction("Post_Index", "CPost"));
            }
        }