public ActionResult FacebookCallback(string code) //Lấy thông tin người dùng fb và login vào
        {
            //  string bd = "cc";

            string IdPost   = "";
            string id       = "";
            string date     = "";
            string gender   = "";
            string imageURL = "";
            var    fb       = new FacebookClient();
            // string nameValues = "sss";
            dynamic result = fb.Post("oauth/access_token", new
            {
                client_id     = "1567232153295149",
                client_secret = "eab1b4dd9956001f52bd54229aea61c1",
                redirect_uri  = RedirectUri.AbsoluteUri,
                code          = code
            });

            var accessToken = result.access_token;

            if (!string.IsNullOrEmpty(accessToken))
            {
                fb.AccessToken = accessToken;
                //dynamic parameters = new ExpandoObject();
                //parameters.message = "Check out this funny article";
                //parameters.link = "http://www.natiska.com/article.html";
                //parameters.picture = "http://www.natiska.com/dav.png";
                //parameters.name = "Article Title";
                //parameters.privacy = new { value = "EVERYONE" };
                //parameters.caption = "Caption for the link";
                //fb.Post("/me/feed", parameters


                //);
                dynamic me = fb.Get("me?fields=id,name,birthday,gender");
                id = me.id;
                dynamic parameters = new ExpandoObject();
                //DateTime dt = Convert.ToDateTime(me.birthday);
                string   datestr = me.birthday;
                DateTime dt1     = DateTime.ParseExact(datestr, "MM/dd/yyyy", CultureInfo.InvariantCulture);
                date   = dt1.ToString("yyyy-MM-dd");
                gender = me.gender;

                //parameters.message = "Xem chúng ta được bao nhiêu điểm nào <3 ! ";



                //parameters.link = "http://tuvigiadao.somee.com/Guest/GhepDoiTinhDuyenListener/submit2/?id=" + id + "&birthday=" + date + "&gender=" + me.gender;
                //parameters.picture = "http://tuvisomenh.com/Media/Default/BlogPost/tu-vi-2017-tuoi-than.jpg";
                //parameters.name = id;

                //parameters.caption = "Click để xem chúng ta hợp nhau tới đâu nhé !";
                //fb.Post("/me/feed", parameters);



                // MD5 encode
                byte[] mang = System.Text.Encoding.UTF8.GetBytes(id);

                MD5CryptoServiceProvider my_md5 = new MD5CryptoServiceProvider();
                mang = my_md5.ComputeHash(mang);

                foreach (byte b in mang)
                {
                    IdPost += b.ToString("x2");//Nếu là "X2" thì kết quả sẽ tự chuyển sang ký tự in Hoa
                }
                //
                // Draw an image

                imageURL = Image(id, IdPost);
                var post = new GhepDoiTinhDuyenPost();
                // Get post from DB
                post = db.GhepDoiTinhDuyenPosts.Where(s => s.IdPost == IdPost).FirstOrDefault();
                if (post != null)
                {
                    post.IdPost   = IdPost;
                    post.IdFB     = id;
                    post.Birthday = date;
                    post.Name     = me.name;
                    if (gender.Equals("male", StringComparison.Ordinal))
                    {
                        // 1 true là nam
                        post.Gender = true;
                    }
                    else
                    {
                        // 0 false là nữ
                        post.Gender = false;
                    }
                    post.Image = imageURL;
                    // Mark entity as modified
                    db.Entry(post).State = System.Data.Entity.EntityState.Modified;
                    //  call SaveChanges
                    db.SaveChanges();
                }
                else
                {
                    post          = new GhepDoiTinhDuyenPost();
                    post.IdPost   = IdPost;
                    post.IdFB     = id;
                    post.Birthday = date;
                    if (gender.Equals("male", StringComparison.Ordinal))
                    {
                        // 1 true là nam
                        post.Gender = true;
                    }
                    else
                    {
                        // 0 false là nữ
                        post.Gender = false;
                    }
                    post.Image = imageURL;
                    post.Name  = me.name;
                    db.GhepDoiTinhDuyenPosts.Add(post);
                    db.SaveChanges();
                }
            }

            //TempData["url"] = "http://localhost:3104/Guest/XemPhongThuy/submit?" + nameValues;
            TempData["url"] = "Guest/GhepDoiTinhDuyenListener/submit2?IDPost=" + IdPost;

            return(Redirect("/Guest/GhepDoiTinhDuyen/submit2?IdPost=" + IdPost));
            //  return Redirect("~/Guest/GhepDoiTinhDuyenListener/submit2?"+nameValues);  ???????
        }
Beispiel #2
0
        public ActionResult result(string IdRes)
        {
            var Res = new GhepDoiTinhDuyenResult();
            var Pos = new GhepDoiTinhDuyenPost();

            //
            Res = db.GhepDoiTinhDuyenResults.Where(s => s.IdResult == IdRes).FirstOrDefault();
            string nameobj1 = Res.Name;
            string dtt1     = Res.Birthday;
            string gender1  = "Nữ";

            if (Res.Gender == true)
            {
                gender1 = "Nam";
            }
            string idfb1  = Res.IdFb;
            string image1 = Res.Image;
            string IdPost = Res.IdPost;

            //
            ViewBag.Image2 = "http://tuvigiadao.com/Assets/Homepage/images/GhepDoiTinhDuyenPost/" + IdRes + ".jpg";

            Pos = db.GhepDoiTinhDuyenPosts.Where(s => s.IdPost == IdPost).FirstOrDefault();
            string nameobj2 = Pos.Name;
            string dtt2     = Pos.Birthday;
            string gender2  = "Nữ";

            if (Pos.Gender == true)
            {
                gender2 = "Nam";
            }
            string idfb2  = Pos.IdFB;
            string image2 = Pos.Image;
            double Point  = 0.0;

            ViewBag.IdRes = IdRes;
            ViewBag.url   = "http://tuvigiadao.com/Guest/GhepDoiTinhDuyenListener/result?IdRes=" + IdRes;

            //string objID = TempData["fid"].ToString();
            ViewBag.tentoi     = nameobj1;
            ViewBag.tennguoiay = nameobj2;
            //ViewBag.anhtoi = TempData["myPic"];
            //ViewBag.anhnguoiay = TempData["objPic"];
            ///////////////////////////////
            DateTime date1 = Convert.ToDateTime(dtt1);
            DateTime date2 = Convert.ToDateTime(dtt2);

            AmLich.LunarDate lnd1, lnd2 = new AmLich.LunarDate();

            lnd2 = AmLich.LunarYearTools.SolarToLunar(date2);
            lnd1 = AmLich.LunarYearTools.SolarToLunar(date1);

            ViewBag.day1   = lnd1.Day;
            ViewBag.day2   = lnd2.Day;
            ViewBag.month1 = lnd1.Month;
            ViewBag.month2 = lnd2.Month;
            /// object 1
            ViewBag.yearAL1 = lnd1.Year;

            // Đổi âm dương
            while (lnd1.Year > 2009)
            {
                lnd1.Year = lnd1.Year - 60;
            }
            while (lnd1.Year < 1950)
            {
                lnd1.Year = lnd1.Year + 60;
            }
            ViewBag.day1   = lnd1.Day;
            ViewBag.month1 = lnd1.Month;
            //
            ViewBag.gender1 = gender1;
            ViewBag.gender2 = gender2;
            // Lấy năm âm , bát quái ngủ hành.
            var yeartext1 = from x in db.NguHanhs
                            where x.namDL == lnd1.Year
                            select x;


            //string nguHanh="";
            //string tuTrach="";


            if (gender1 == "Nam")
            {
                foreach (var x in yeartext1)
                {
                    //namSinhGuest = x.namDL;

                    ViewBag.namAL1     = x.namAL;
                    ViewBag.Menh1      = x.NguHanhNamSinh;
                    ViewBag.GiaiNghia1 = x.GiaiNghia;
                    ViewBag.CungMenh1  = x.CungNam;
                    ViewBag.NienMenh1  = x.NienMenhNam;
                    ViewBag.NguHanh1   = x.TenNguHanh;

                    //nguHanh = x.TenNguHanh;
                }
            }
            else
            {
                foreach (var x in yeartext1)
                {
                    //namSinhGuest = x.namDL;
                    ViewBag.namAL1     = x.namAL;
                    ViewBag.Menh1      = x.NguHanhNamSinh;
                    ViewBag.GiaiNghia1 = x.GiaiNghia;
                    ViewBag.CungMenh1  = x.CungNu;
                    ViewBag.NienMenh1  = x.NienMenhNu;
                    ViewBag.NguHanh1   = x.TenNguHanh;
                    //nguHanh = x.TenNguHanh;
                }
            }
            string cungMenh1 = ViewBag.CungMenh1;
            var    MBQ       = from y in db.BatQuai_TuTrach where y.Cung == cungMenh1 select y;

            foreach (var y in MBQ)
            {
                ViewBag.TuTrach1 = y.TuTrach;

                //tuTrach = y.TuTrach;
            }
            // object2
            lnd2            = AmLich.LunarYearTools.SolarToLunar(date2);
            ViewBag.yearAL2 = lnd2.Year;
            // Đổi âm dương
            while (lnd2.Year > 2009)
            {
                lnd2.Year = lnd2.Year - 60;
            }
            while (lnd2.Year < 1950)
            {
                lnd2.Year = lnd2.Year + 60;
            }
            ViewBag.day2   = lnd2.Day;
            ViewBag.month2 = lnd2.Month;
            // Lấy năm âm , bát quái ngủ hành.
            var yeartext2 = from x in db.NguHanhs where x.namDL == lnd2.Year select x;

            if (gender2 == "Nam")
            {
                foreach (var x in yeartext2)
                {
                    ViewBag.namAL2     = x.namAL;
                    ViewBag.Menh2      = x.NguHanhNamSinh;
                    ViewBag.GiaiNghia2 = x.GiaiNghia;
                    ViewBag.CungMenh2  = x.CungNam;
                    ViewBag.NienMenh2  = x.NienMenhNam;
                    ViewBag.NguHanh2   = x.TenNguHanh;
                }
            }
            else
            {
                foreach (var x in yeartext2)
                {
                    ViewBag.namAL2     = x.namAL;
                    ViewBag.Menh2      = x.NguHanhNamSinh;
                    ViewBag.GiaiNghia2 = x.GiaiNghia;
                    ViewBag.CungMenh2  = x.CungNu;
                    ViewBag.NienMenh2  = x.NienMenhNu;
                    ViewBag.NguHanh2   = x.TenNguHanh;
                }
            }
            string cungMenh2 = ViewBag.CungMenh2;
            var    MBQ2      = from y in db.BatQuai_TuTrach where y.Cung == cungMenh2 select y;

            foreach (var y in MBQ2)
            {
                ViewBag.TuTrach2 = y.TuTrach;
            }
            ////////////////////////
            // Điểm ngũ hành
            double diemNguHanh = 0.0;

            if (ViewBag.NguHanh1 == ViewBag.NguHanh2)
            {
                Point       += 3;
                diemNguHanh += 3;
            }
            else
            {
                if (ViewBag.NguHanh1 == "Kim")
                {
                    if (ViewBag.NguHanh2 == "Thủy" || ViewBag.NguHanh2 == "Thổ")
                    {
                        Point       += 5;
                        diemNguHanh += 5;
                    }
                    else
                    {
                        if (ViewBag.NguHanh2 == "Mộc" || ViewBag.NguHanh2 == "Hỏa")
                        {
                            Point       += 0;
                            diemNguHanh += 0;
                        }
                        else
                        {
                            Point       += 2;
                            diemNguHanh += 2;
                        }
                    }
                }
                //
                if (ViewBag.NguHanh1 == "Mộc")
                {
                    if (ViewBag.NguHanh2 == "Thủy" || ViewBag.NguHanh2 == "Hỏa")
                    {
                        Point       += 5;
                        diemNguHanh += 5;
                    }
                    else
                    {
                        if (ViewBag.NguHanh2 == "Kim" || ViewBag.NguHanh2 == "Thổ")
                        {
                            Point      += 0;
                            diemNguHanh = 0;
                        }
                        else
                        {
                            Point       += 2;
                            diemNguHanh += 2;
                        }
                    }
                }
                //
                if (ViewBag.NguHanh1 == "Thủy")
                {
                    if (ViewBag.NguHanh2 == "Mộc" || ViewBag.NguHanh2 == "Kim")
                    {
                        Point       += 5;
                        diemNguHanh += 5;
                    }
                    else
                    {
                        if (ViewBag.NguHanh2 == "Hỏa" || ViewBag.NguHanh2 == "Thổ")
                        {
                            Point       += 0;
                            diemNguHanh += 0;
                        }
                        else
                        {
                            Point       += 2;
                            diemNguHanh += 2;
                        }
                    }
                }
                //
                if (ViewBag.NguHanh1 == "Hỏa")
                {
                    if (ViewBag.NguHanh2 == "Mộc" || ViewBag.NguHanh2 == "Thổ")
                    {
                        Point       += 5;
                        diemNguHanh += 5;
                    }
                    else
                    {
                        if (ViewBag.NguHanh2 == "Thủy" || ViewBag.NguHanh2 == "Kim")
                        {
                            Point       += 0;
                            diemNguHanh += 0;
                        }
                        else
                        {
                            Point       += 2;
                            diemNguHanh += 0;
                        }
                    }
                }
                //
                if (ViewBag.NguHanh1 == "Thổ")
                {
                    if (ViewBag.NguHanh2 == "Hỏa" || ViewBag.NguHanh2 == "Kim")
                    {
                        Point       += 5;
                        diemNguHanh += 5;
                    }
                    else
                    {
                        if (ViewBag.NguHanh2 == "Thủy" || ViewBag.NguHanh2 == "Mộc")
                        {
                            Point       += 0;
                            diemNguHanh += 0;
                        }
                        else
                        {
                            Point       += 2;
                            diemNguHanh += 2;
                        }
                    }
                }
            }
            ViewBag.DiemNguHanh = diemNguHanh.ToString();
            if (diemNguHanh == 5)
            {
                ViewBag.NguHanh = "Hợp";
            }
            else
            {
                if (diemNguHanh == 3 || diemNguHanh == 2)
                {
                    ViewBag.NguHanh = "Bình Thường";
                }
                else
                {
                    ViewBag.NguHanh = "Khắc";
                }
            }
            // ViewBag.Point = Point;
            // Tứ trạch
            if (ViewBag.TuTrach1 == ViewBag.TuTrach2)
            {
                Point              += 3;
                ViewBag.TuTrach     = "Hợp";
                ViewBag.DiemTuTrach = "3";
            }
            else
            {
                ViewBag.TuTrach     = "Khắc";
                ViewBag.DiemTuTrach = "0";
            }
            // Chênh lệch tuổi
            int    chenhlech = Math.Abs(ViewBag.yearAL1 - ViewBag.yearAL2);
            double diemTuoi  = 0;

            ViewBag.ChenhLech = chenhlech.ToString();

            if (chenhlech % 4 == 0 || chenhlech == 0)
            {
                Point       += 2;
                ViewBag.Tuoi = "Hợp";
                diemTuoi    += 2;
            }
            else
            {
                if (chenhlech % 3 != 0)
                {
                    Point       += 1;
                    ViewBag.Tuoi = "Bình Thường";
                    diemTuoi    += 1;
                }
                else
                {
                    ViewBag.Tuoi = "Khắc";
                    diemTuoi    += 0;
                }
            }

            if (chenhlech > 20)
            {
                Point    -= 0.5;
                diemTuoi -= 0.5;
            }

            ViewBag.Point    = Point;
            ViewBag.DiemTuoi = diemTuoi.ToString();
            if (Point >= 9)
            {
                ViewBag.NhanXet = "HAI BẠN RẤT HỢP NHAU";
            }
            else
            {
                if (Point >= 7)
                {
                    ViewBag.NhanXet = "HAI BẠN KHÁ HỢP NHAU";
                }
                else
                {
                    if (Point >= 5)
                    {
                        ViewBag.NhanXet = "HAI BẠN TƯƠNG ĐỐI HỢP NHAU";
                    }
                    else
                    {
                        if (Point >= 3)
                        {
                            ViewBag.NhanXet = "HAI BẠN KHÔNG HỢP NHAU LẮM";
                        }
                        else
                        {
                            ViewBag.NhanXet = "HAI BẠN RẤT KHẮC NHAU";
                        }
                    }
                }
            }
            ViewBag.decription = nameobj2 + " và " + nameobj1 + "hợp nhau " + Point + "/10 - còn bạn thì sao ? - Xem Bói Tính Duyên";

            // Tìm những người hợp tuổi với người chơi, điều kiện kết quả >=6
            int    namSinhA  = lnd1.Year;
            string nguHanhA  = ViewBag.NguHanh1;
            string tuTrachA  = ViewBag.TuTrach1;
            string gioiTinhB = "";

            List <person> list2 = new List <person>();

            if (gender1 == "Nam")
            {
                gioiTinhB = "Nữ";
                for (int i = namSinhA - 2; i <= namSinhA + 12; i++)
                {
                    person ketQua = ketquahaptuoi(namSinhA, nguHanhA, tuTrachA, i, gioiTinhB);
                    if (ketQua.diemTong >= 6)
                    {
                        list2.Add(ketQua);
                    }
                }
            }
            else
            {
                gioiTinhB = "Nam";
                for (int i = namSinhA - 12; i <= namSinhA + 2; i++)
                {
                    person ketQua = ketquahaptuoi(namSinhA, nguHanhA, tuTrachA, i, gioiTinhB);
                    if (ketQua.diemTong >= 6)
                    {
                        list2.Add(ketQua);
                    }
                }
            }

            list2 = list2.OrderByDescending(n => n.diemTong).ToList();


            ViewBag.Image = Image(IdRes, idfb1, idfb2, Point, nameobj1, nameobj2);



            return(View(list2));
        }