Example #1
0
        public ActionResult MuaNgay(int?proId)
        {
            using (var daugia = new daugiaEntities())
            {
                var model = daugia.sanphams.Where(s => s.id == proId).FirstOrDefault();
                if (model.giamuangay != null)
                {
                    if (model.ngayketthuc >= DateTime.Now)
                    {
                        if (model.tinhtrang == 1)
                        {
                            var nguoidungt = daugia.nguoidungs.Where(nd => nd.id == model.id_nguoidunghientai).FirstOrDefault();
                            int n          = Login.nguoidung().id;
                            var knd        = daugia.kichnguoidungs.Where(k => k.id_nguoidung == n && k.id_sanpham == proId).FirstOrDefault();
                            if (knd == null)
                            {
                                var ktndql = daugia.sanphams.Where(sp => sp.id_nguoidung == n && sp.id == proId).FirstOrDefault();
                                if (ktndql == null)
                                {
                                    var nguoidunght = daugia.nguoidungs.Where(nd => nd.id == n).FirstOrDefault();
                                    if (nguoidunght.diem >= 80)
                                    {
                                        if (nguoidunght.taikhoan >= model.giamuangay)
                                        {
                                            if (nguoidungt != null)
                                            {
                                                nguoidungt.taikhoan = nguoidungt.taikhoan + model.giacaonhat;
                                            }
                                            model.giahientai          = model.giamuangay;
                                            model.giacaonhat          = model.giamuangay;
                                            model.id_nguoidunghientai = Login.nguoidung().id;
                                            nguoidunght.taikhoan      = nguoidunght.taikhoan - model.giamuangay;
                                            model.tinhtrang           = 2;

                                            Helpers.sendMail.send(proId.Value, nguoidunght.id, "Chúc mừng. Bạn đã mua thành công sản phẩm");
                                            Helpers.thongbao.create_with_id("Bạn đã mua thành công sản phẩm " + model.ten + " với giá " + model.giahientai, nguoidunght.id);

                                            var ndql = daugia.nguoidungs.Where(nd => nd.id == model.id_nguoidung).FirstOrDefault();
                                            Helpers.sendMail.send(proId.Value, ndql.id, "Sản phẩm của bạn đã có người mua ngay");
                                            Helpers.thongbao.create_with_id("Sản phẩm " + model.ten + " của bạn đã có người mua ngay ", ndql.id);


                                            lichsudau ls = new lichsudau();
                                            ls.tiendadau    = model.giamuangay;
                                            ls.id_sanpham   = proId;
                                            ls.id_nguoidung = Login.nguoidung().id;
                                            ls.ngaydaugia   = DateTime.Now;
                                            ls.tinhtrang    = 0;
                                            daugia.lichsudaus.Add(ls);
                                        }
                                        else
                                        {
                                            TempData["Error"] = "Rất tiếc. Tài khoản của bạn không đủ tiền để tham gia đấu giá";
                                            return(RedirectToAction("ChiTiet", "Product", new { id = proId }));
                                        }
                                    }
                                    else
                                    {
                                        TempData["Error"] = "Tài khoản của bạn không đủ điểm đấu giá";
                                        return(RedirectToAction("ChiTiet", "Product", new { id = proId }));
                                    }
                                }
                                else
                                {
                                    TempData["Error"] = "Bạn là người hiện đang giữ sản phẩm nên bạn không có quyền đấu giá cho sản phẩm";
                                    return(RedirectToAction("ChiTiet", "Product", new { id = proId }));
                                }
                            }
                            else
                            {
                                TempData["Error"] = "Rất tiếc. Tài khoản ủa bạn không có quyền ra giá cho sản phẩm này";
                                return(RedirectToAction("ChiTiet", "Product", new { id = proId }));
                            }
                        }
                    }
                    else
                    {
                        TempData["Error"] = "Sản phẩm đã hết thời hạn đấu giá";
                        return(RedirectToAction("ChiTiet", "Product", new { id = proId }));
                    }
                }
                else
                {
                    TempData["Error"] = "Sản phẩm không được mua ngay";
                    return(RedirectToAction("ChiTiet", "Product", new { id = proId }));
                }
                TempData["Message"] = "Bạn đã đặt thành công cho sản phẩm này";
                daugia.SaveChanges();
                return(RedirectToAction("Index", "Home"));
            }
        }
Example #2
0
        public ActionResult Mua(int?proId, decimal?Gia)
        {
            using (var daugia = new daugiaEntities())
            {
                var model = daugia.sanphams.Where(s => s.id == proId).FirstOrDefault();
                if (model.ngayketthuc >= DateTime.Now)
                {
                    if (model.tinhtrang == 1)
                    {
                        var nguoidungt = daugia.nguoidungs.Where(nd => nd.id == model.id_nguoidunghientai).FirstOrDefault();
                        int n          = Login.nguoidung().id;
                        var knd        = daugia.kichnguoidungs.Where(k => k.id_nguoidung == n && k.id_sanpham == proId).FirstOrDefault();
                        if (knd == null)
                        {
                            var ktndql = daugia.sanphams.Where(sp => sp.id_nguoidung == n && sp.id == proId).FirstOrDefault();
                            if (ktndql == null)
                            {
                                var nguoidunght = daugia.nguoidungs.Where(nd => nd.id == n).FirstOrDefault();
                                if (nguoidunght.diem >= 80)
                                {
                                    if (nguoidunght.taikhoan >= Gia)
                                    {
                                        if (Gia > model.giahientai)
                                        {
                                            if (Gia >= (model.giacaonhat + model.buocgia))
                                            {
                                                if (nguoidungt != null)
                                                {
                                                    nguoidungt.taikhoan = nguoidungt.taikhoan + model.giacaonhat;
                                                    Helpers.sendMail.send(proId.Value, nguoidungt.id, "Sản phẩm này hiện đang có người giữ giá cao hơn");
                                                    Helpers.thongbao.create_with_id("Sản phẩm " + model.ten + " mà bạn đấu giá đã có người trả giá cao hơn", nguoidungt.id);
                                                }
                                                model.giahientai          = model.giacaonhat + model.buocgia;
                                                model.giacaonhat          = Gia;
                                                model.id_nguoidunghientai = Login.nguoidung().id;
                                                nguoidunght.taikhoan      = nguoidunght.taikhoan - Gia;
                                                model.luotragia++;

                                                Helpers.sendMail.send(proId.Value, nguoidunght.id, "Bạn là người giữ giá sản phẩm cao nhất hiện nay");
                                                Helpers.thongbao.create_with_id("Bạn hiện đã là người giữ giá cao nhất của sản phẩm " + model.ten, nguoidunght.id);

                                                var ndql = daugia.nguoidungs.Where(nd => nd.id == model.id_nguoidung).FirstOrDefault();
                                                Helpers.sendMail.send(proId.Value, ndql.id, "Sản phẩm của bạn đã có giá cao hơn");
                                                Helpers.thongbao.create_with_id("Sản phẩm " + model.ten + " của bạn có giá cao hơn ", ndql.id);


                                                lichsudau ls = new lichsudau();
                                                ls.tiendadau    = Gia;
                                                ls.id_sanpham   = proId;
                                                ls.id_nguoidung = Login.nguoidung().id;
                                                ls.ngaydaugia   = DateTime.Now;
                                                ls.tinhtrang    = 0;
                                                daugia.lichsudaus.Add(ls);
                                                if (model.tang10phut == 1)
                                                {
                                                    if ((DateTime.Now - model.ngayketthuc.Value).TotalMinutes <= 5 && model.solantang10phut == 0)
                                                    {
                                                        model.ngayketthuc     = model.ngayketthuc.Value.AddMinutes(10);
                                                        model.solantang10phut = 1;
                                                    }
                                                }
                                                TempData["Message"] = "Chúc mừng bạn đã ra giá thành công cho sản phẩm";
                                            }
                                            else
                                            {
                                                TempData["Error"] = "Có giá cao nhất + Bước giá cáo hơn giá hiện tại";
                                                if (model.tang10phut == 1)
                                                {
                                                    if ((DateTime.Now - model.ngayketthuc.Value).TotalMinutes <= 5 && model.solantang10phut == 0)
                                                    {
                                                        model.ngayketthuc     = model.ngayketthuc.Value.AddMinutes(10);
                                                        model.solantang10phut = 1;
                                                    }
                                                }
                                                model.giahientai = Gia;
                                                model.luotragia++;
                                            }
                                        }
                                        else
                                        {
                                            TempData["Error"] = "Giá của bạn đặt ra thấp hơn giá hiện tại của sản phẩm";
                                        }
                                    }
                                    else
                                    {
                                        TempData["Error"] = "Xin lỗi. Tài khoản của bạn không đủ để đặt giá cho sản phẩm này";
                                    }
                                }
                                else
                                {
                                    TempData["Error"] = "Tài khoản điểm của bạn không đủ để đấu giá";
                                }
                            }

                            else
                            {
                                TempData["Error"] = "Bạn là người giữ sản phẩm nên bạn không có quyền đấu giá cho sản phẩm";
                            }
                        }
                        else
                        {
                            TempData["Error"] = "Tài khoản của bạn không đấu giá cho sản phẩm này. Rất tiếc";
                        }
                    }
                }
                else
                {
                    TempData["Error"] = "Hết hạn đấu giá";
                }
                daugia.SaveChanges();
                return(RedirectToAction("ChiTiet", "Product", new { id = proId }));
            }
        }