مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

kaveh.norozi

عضویت از 1394/11/30

مشکل در ثبت Like & DisLike

  • سه شنبه 30 آذر 1395
  • 11:32
تشکر میکنم

باسلام

طبق آموزشهای انجمن برای Like و DisLike اخبار عمل کردم

برای اولین بار اوکیه و همه چی درست کار میکنه تو یه سیستم!

ولی وقتی دوتا سیستم میاد وسط، سیستم دوم مشکل میخوره! ایراد از این دستوراته به احتمال زیاد، راهنمایی کنید لطفا

تو دستورات زیر گفتیم که id خبر پاس داده بشه و با دستور if چک میکنیم که آیا موجود هست یا نه

اگر موجود بود UserIP رو برمیگردونه اگر تو جدول Like یک رکورد اضافه میکنه و ip سیستم رو داخلش می نویسه!

حالا اگه دیتابیس یک بار آی پی 192.168.1.10 (مثلا) ذخیره کرده باشه سیستم دوم که آی پی 192.168.1.11 داره این قسمت کار نمیکنه

چطور؟ چون طبق شرط if ما چک میکنیم که آیا id مربوط به خبر وجود دارد که در مورد فوق موجود می باشد پس اولین آی پی موجود تو دیتابیس Like برگردانده می شود و ...

        private string Get_User_Ip_Db(int id)
        {
            if (db.TblLikes.Any(m => m.NewsID == id))
            {
                var ip = db.TblLikes.First(m => m.NewsID == id).UserIP;
                return ip;
            }
            else
            {
                Models.News news = db.News.Find(id);
                Models.TblLike likes = new Models.TblLike()
                {
                    DateLike = DateTime.Now,
                    NewsID = id,
                    UserIP = Get_User_Ip(),
                };
                db.TblLikes.Add(likes);
                db.SaveChanges();
            }
            return "";
        }

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

kaveh.norozi

عضویت از 1394/11/30

  • سه شنبه 30 آذر 1395
  • 13:00

مشکلم برطرف شد :

 private string Get_User_Ip_Db(int id)
        {
            var PriIP = Get_User_Ip();
            if (db.TblLikes.Any(m => m.NewsID == id) && db.TblLikes.Any(x=>x.UserIP==PriIP))
            {
                var ip = db.TblLikes.SingleOrDefault(m => m.UserIP == PriIP).UserIP;
                return ip;
            }
            else
            {
                Models.News news = db.News.Find(id);
                Models.TblLike likes = new Models.TblLike()
                {
                    DateLike = DateTime.Now,
                    NewsID = id,
                    UserIP = Get_User_Ip(),
                };
                db.TblLikes.Add(likes);
                db.SaveChanges();
            }
            return "";
        }

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)