Esempio n. 1
0
        public ActionResult Them(DauGia dg, List <HttpPostedFileBase> anhchitiet, HttpPostedFileBase anhdaidien, int?SoNgay)
        {
            if (CurrentContext.GetCurUser().Vip != true)
            {
                return(RedirectToAction("Index", "ThongBao", new { ThongBao = "Bạn không có quyền đăng bán!" }));
            }
            using (var ctx = new QLDauGiaEntities())
            {
                var ds = ctx.DauGia
                         .Add(dg);
                ds.NgayBatDau     = DateTime.Now;
                ds.NgayKetThuc    = ds.NgayBatDau.Value.AddDays(SoNgay.Value);
                ds.SoLuongHinh    = anhchitiet.Count();
                ds.ID_NguoiDauGia = CurrentContext.GetCurUser().ID;
                ctx.SaveChanges();

                //tạo folder chứa hình [~/asets/images/DauGia/{ID}]
                string spDirPath     = Server.MapPath($"~/assets/images/DauGia");
                string targetDirPath = Path.Combine(spDirPath, ds.ID.ToString());
                Directory.CreateDirectory(targetDirPath);

                //copy hình đại diện
                string daidien = Path.Combine(targetDirPath, $"daidien.jpg");
                anhdaidien.SaveAs(daidien);

                //copy hình đại diện
                for (int i = 0; i < ds.SoLuongHinh; i++)
                {
                    string thumbs = Path.Combine(targetDirPath, $"{i + 1}.jpg");
                    anhchitiet[i].SaveAs(thumbs);
                }

                return(RedirectToAction("Index", "ThongBao", new { ThongBao = "Đăng sản phẩm đấu giá thành công!" }));
            }
        }
Esempio n. 2
0
        public ActionResult MuaNgay(int?id)
        {
            using (var ctx = new QLDauGiaEntities())
            {
                //lấy tài khoản mua
                var tk = CurrentContext.GetCurUser();

                //lấy sản phẩm
                var sp = ctx.DauGia
                         .Where(dg => dg.ID == id)
                         .FirstOrDefault();

                sp.ID_NguoiGiuGia    = tk.ID;
                sp.GiaCaoNhatHienTai = sp.GiaMuaNgay;
                sp.NgayKetThuc       = DateTime.Now.AddSeconds(-1);


                //gửi mail
                CurrentContext.SendMail(tk.Email, $"Chúc mừng bạn đã mua được sản phẩm! Sản phẩm: {sp.Ten}");
                CurrentContext.SendMail(ctx.TaiKhoan.Where(tkk => tkk.ID == sp.ID_NguoiDauGia).FirstOrDefault().Email, $"Đã có người mua ngay sản phẩm của bạn! Sản phẩm: {sp.Ten}");
                sp.GuiMailThatBai = true;
                ctx.SaveChanges();

                var ct = ctx.ChiTietDauGia.Add(new ChiTietDauGia()
                {
                    GiaGanNhat = sp.GiaMuaNgay, ID_DauGia = id.Value, ID_TaiKhoanThamGiaDauGia = tk.ID, NgayThamGiaDauGiaGanNhat = DateTime.Now
                });

                ctx.SaveChanges();

                return(RedirectToAction("Index", "ThongBao", new { ThongBao = "Bạn đã mua thành công" }));
            }
        }
Esempio n. 3
0
        public ActionResult Login(LoginVM logModel)
        {
            string encPwd = StringUtils.GetMD5(logModel.RawPWD);

            using (var ctx = new QLDauGiaEntities())
            {
                var user = ctx.TaiKhoan
                           .Where(u => u.TenDangNhap == logModel.UserName && u.MatKhau == encPwd && u.TonTai == true)
                           .FirstOrDefault();

                if (user != null)
                {
                    Session["isLogin"] = 1;
                    Session["user"]    = user;

                    if (logModel.Remember)
                    {
                        Response.Cookies["userIdCookie"].Value   = user.ID.ToString();
                        Response.Cookies["userIdCookie"].Expires = DateTime.Now.AddDays(7);
                    }

                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    ViewBag.ErrorMsg = "Vui lòng đăng nhập lại! Tên đăng nhập hoặc mật khẩu không đúng!";
                    return(View());
                }
            }
        }
Esempio n. 4
0
        public ActionResult EditThongTin(EditUserVM tk)
        {
            try
            {
                using (var ctx = new QLDauGiaEntities())
                {
                    TaiKhoan mtk = ctx.TaiKhoan.Where(t => t.ID == tk.ID).FirstOrDefault();
                    mtk.TenDangNhap = tk.TenDangNhap;
                    mtk.HoTen       = tk.HoTen;
                    mtk.SoDienThoai = tk.SoDienThoai;
                    mtk.Email       = tk.Email;
                    mtk.NgaySinh    = DateTime.ParseExact(tk.NgaySinh, "dd/MM/yyyy", null);
                    mtk.DiaChi      = tk.DiaChi;

                    ctx.Entry(mtk).State = System.Data.Entity.EntityState.Modified;
                    ctx.SaveChanges();
                }
            }
            catch (Exception)
            {
                return(RedirectToAction("Index", "ThongBao", new { ThongBao = "Chỉnh sửa thông tin không thành công! Vui lòng thử lại!" }));
            }

            return(RedirectToAction("Index", "ThongBao", new { ThongBao = "Vui lòng đăng nhập lại để cập nhật sự thay đổi!" }));
        }
Esempio n. 5
0
        public ActionResult QuenMatKhau(ResetPassVM resetModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    using (var ctx = new QLDauGiaEntities())
                    {
                        TaiKhoan mtk = ctx.TaiKhoan.Where(t => t.TenDangNhap == resetModel.UserName && t.Email == resetModel.Email).FirstOrDefault();
                        mtk.ResetPass = true;

                        ctx.Entry(mtk).State = System.Data.Entity.EntityState.Modified;
                        ctx.SaveChanges();
                        return(RedirectToAction("Index", "ThongBao", new { ThongBao = "Yêu cầu của bạn đã được ghi nhận! Vui lòng chờ quản trị xác nhận! Hãy kiểm tra mail thường xuyên để lấy lại mật khẩu" }));
                    }
                }
                catch (Exception)
                {
                    return(RedirectToAction("Index", "ThongBao", new { ThongBao = "Xin cấp lại mật khẩu thất bại! Vui lòng thử lại!" }));
                }
            }
            else
            {
                return(RedirectToAction("Index", "ThongBao", new { ThongBao = "Mã xác nhận sai! Vui lòng thử lại!" }));
            }
        }
Esempio n. 6
0
        //Xuất ra danh mục nè
        public ActionResult XuatDanhMuc(int page = 1)
        {
            var ctx = new QLDauGiaEntities();


            //phân trang
            int n = ctx.DanhMucLon.Where(dml => dml.TinhTrang != true).Count();
            int recordsPerPage = 4;
            int nPages         = n / recordsPerPage;
            int m = n % recordsPerPage;

            if (m > 0)
            {
                nPages++;
            }
            ViewBag.Pages   = nPages;
            ViewBag.CurPage = page;



            //xuất danh sách danh mục
            //var list = ctx.DanhMucLon.ToList();

            var list = ctx.DanhMucLon
                       .Where(dml => dml.TinhTrang != true)
                       .OrderBy(p => p.ID).Skip((page - 1) * recordsPerPage).Take(recordsPerPage).ToList();

            return(View(list));
        }
Esempio n. 7
0
        public ActionResult NguoiGiuGia(int?id)
        {
            using (var ctx = new QLDauGiaEntities())
            {
                string ngg = null;
                var    tk  = ctx.DauGia
                             .Where(dg => dg.ID == id)
                             .FirstOrDefault();

                if (tk.ID_NguoiGiuGia == null)
                {
                    ngg = ctx.TaiKhoan
                          .Where(tt => tt.ID == tk.ID_NguoiDauGia)
                          .FirstOrDefault()
                          .HoTen;
                }
                else
                {
                    ngg = ctx.TaiKhoan
                          .Where(tt => tt.ID == tk.ID_NguoiGiuGia)
                          .FirstOrDefault()
                          .HoTen;
                }
                ngg = CurrentContext.MaHoaTen(ngg);
                ViewBag.NguoiGiuGia = ngg;
                return(PartialView("PVNguoiGiuGia"));
            }
        }
Esempio n. 8
0
        // PartialView DanhGia
        public ActionResult DanhGia()
        {
            using (var ctx = new QLDauGiaEntities())
            {
                //Lấy thông tin của user đang đăng nhập
                var tk = CurrentContext.GetCurUser();

                var dsnx = ctx.NhanXet
                           .Where(nx => nx.ID_NguoiDuocDanhGia == tk.ID)
                           .ToList();

                //chứa thông tin sản phẩm
                var dsdg = new List <DauGia>();

                //chứa thông tin tài khoản đánh giá
                var dstk = new List <TaiKhoan>();

                foreach (var item in dsnx)
                {
                    dsdg.Add(ctx.DauGia
                             .Where(dg => dg.ID == item.ID_DauGia)
                             .FirstOrDefault());

                    dstk.Add(ctx.TaiKhoan
                             .Where(tkj => tkj.ID == item.ID_NguoiDanhGia)
                             .FirstOrDefault());
                }

                ViewBag.DSDG = dsdg;
                ViewBag.DSTK = dstk;
                ViewBag.User = tk;

                return(PartialView("PVDanhGia", dsnx));
            }
        }
Esempio n. 9
0
        public ActionResult DanhMucNho(int page = 1)
        {
            var ctx = new QLDauGiaEntities();


            //phân trang
            int n = ctx.DanhMucLon.Count();
            int recordsPerPage = 4;
            int nPages         = n / recordsPerPage;
            int m = n % recordsPerPage;

            if (m > 0)
            {
                nPages++;
            }
            ViewBag.Pages   = nPages;
            ViewBag.CurPage = page;



            //xuất danh sách danh mục
            //var list = ctx.DanhMucLon.ToList();

            var list = ctx.DanhMucLon.OrderBy(p => p.ID).Skip((page - 1) * recordsPerPage).Take(recordsPerPage).ToList();

            return(PartialView("PVDanhMucNho", list));
        }
Esempio n. 10
0
        // PartialView Danh sách sản phẩm người dùng đã thắng:
        public ActionResult ThangCuoc()
        {
            using (var ctx = new QLDauGiaEntities())
            {
                //Lấy thông tin của user đang đăng nhập
                var tk = CurrentContext.GetCurUser();

                //danh sách sản phẩm đấu giá user này trúng
                var ds = ctx.DauGia
                         .Where(dg => dg.ID_NguoiGiuGia.HasValue == false ? false : dg.ID_NguoiGiuGia == tk.ID && dg.NgayKetThuc.Value <= DateTime.Now)
                         .ToList();

                //danh sách tài khoản của đấu giá ở trên
                var dstk = new List <TaiKhoan>();

                foreach (var item in ds)
                {
                    dstk.Add(ctx.TaiKhoan
                             .Where(tt => tt.ID == item.ID_NguoiDauGia)
                             .FirstOrDefault());
                }

                ViewBag.DSND = dstk;
                return(PartialView("PVThangCuoc", ds));
            }
        }
Esempio n. 11
0
        // PartialView Danh sách sản phẩm hết hạn:
        public ActionResult HetHan()
        {
            using (var ctx = new QLDauGiaEntities())
            {
                //lấy thông tin đang đăng nhập
                var tk = CurrentContext.GetCurUser();

                //lấy danh sách đã bán hết hạn
                var dshh = ctx.DauGia
                           .Where(dg => dg.ID_NguoiDauGia == tk.ID && dg.NgayKetThuc.Value < DateTime.Now)
                           .ToList();

                //danh sách người mua
                var dsnm = new List <TaiKhoan>();
                foreach (var item in dshh)
                {
                    dsnm.Add(ctx.TaiKhoan
                             .Where(tkm => tkm.ID == item.ID_NguoiGiuGia)
                             .FirstOrDefault());
                }

                ViewBag.DSNM = dsnm;
                return(PartialView("PVHetHan", dshh));
            }
        }
Esempio n. 12
0
        // GET: DauGia/ChiTiet
        public ActionResult ChiTiet(int?id)
        {
            using (var ctx = new QLDauGiaEntities())
            {
                var ds = ctx.DauGia
                         .Where(dg => dg.ID == id && dg.NgayKetThuc.Value > DateTime.Now)
                         .FirstOrDefault();
                if (ds == null)
                {
                    return(RedirectToAction("Index", "ThongBao", new { ThongBao = "Không có sản phẩm này" }));
                }
                var ngay = ds.NgayKetThuc.Value - DateTime.Now;
                ViewBag.Gio  = ngay.Hours + ngay.Days * 24;
                ViewBag.Phut = ngay.Minutes;
                ViewBag.Giay = ngay.Seconds;

                //lấy lượt đấu giá
                ViewBag.Luot = ctx.ChiTietDauGia
                               .Where(ldg => ldg.BiCam != true && ldg.ID_DauGia == id)
                               .Count();
                var nguoiban = ctx.TaiKhoan
                               .Where(tk => tk.ID == ds.ID_NguoiDauGia)
                               .FirstOrDefault();
                var nguoigiugia = ctx.TaiKhoan
                                  .Where(tk => tk.ID == ds.ID_NguoiGiuGia)
                                  .FirstOrDefault();
                ViewBag.NguoiBan    = nguoiban;
                ViewBag.NguoiGiuGia = nguoigiugia;
                return(View(ds));
            }
        }
Esempio n. 13
0
        //GET: partialview lịch sử đấu giá, nhận vào id của sản phẩm
        public ActionResult LichSu(int?id)  // id DanhMucLon
        {
            using (var ctx = new QLDauGiaEntities())
            {
                var ds = ctx.ChiTietDauGia
                         .Where(ctdg => ctdg.ID_DauGia == id && ctdg.BiCam != true)
                         .OrderByDescending(ctdg => ctdg.NgayThamGiaDauGiaGanNhat.Value)
                         .ToList();
                var dstk = new List <TaiKhoan>();
                foreach (var item in ds)
                {
                    var temp = ctx.TaiKhoan
                               .Where(tk => tk.ID == item.ID_TaiKhoanThamGiaDauGia)
                               .FirstOrDefault();
                    temp.Email = CurrentContext.MaHoaEmail(temp.Email);
                    dstk.Add(temp);
                }

                ViewBag.ID_NguoiDang = ctx.DauGia
                                       .Where(dg => dg.ID == id)
                                       .FirstOrDefault()
                                       .ID_NguoiDauGia;

                ViewBag.DSTK = dstk;
                return(PartialView("PVLichSu", ds));
            }
        }
Esempio n. 14
0
 //top hot
 public ActionResult TopHot()
 {
     using (var ctx = new QLDauGiaEntities())
     {
         //lấy 5 sản phẩm có nhiều lượt đấu giá nhất
         var ds = ctx.DauGia
                  .Join(ctx.ChiTietDauGia,
                        dg => dg.ID,
                        ctdg => ctdg.ID_DauGia,
                        (dg, ctdg) => new { dg = dg, ctdg = ctdg })
                  .Where(wdg => wdg.dg.NgayKetThuc.Value >= DateTime.Now && wdg.ctdg.BiCam != true)
                  .GroupBy(wdg => wdg.dg.ID)
                  .OrderByDescending(wdg => wdg.Count())
                  .Take(5);
         var dsdaugia = new List <DauGia>();
         var dsluotdg = new List <int>();
         foreach (var item in ds)
         {
             dsluotdg.Add(item.Count());
             dsdaugia.Add(item.FirstOrDefault().dg);
         }
         ViewBag.LuotDauGia = dsluotdg;
         return(PartialView("PVTopHot", dsdaugia));
     }
 }
Esempio n. 15
0
 //Partialview hiển thị danh sách DanhMucLon
 public ActionResult DanhMucLon()
 {
     using (var ctx = new QLDauGiaEntities())
     {
         var list = ctx.DanhMucLon.Where(c => c.TinhTrang != true).ToList();
         return(PartialView("PVDanhMucLon", list));
     }
 }
Esempio n. 16
0
 public ActionResult Add(DanhMucLon model)
 {
     using (var ctx = new QLDauGiaEntities())
     {
         ctx.DanhMucLon.Add(model);
         ctx.SaveChanges();
     }
     return(View());
 }
Esempio n. 17
0
 public ActionResult Index(bool?bam)
 {
     using (var ctx = new QLDauGiaEntities())
     {
         var tk = CurrentContext.GetCurUser();
         ViewBag.bam = true;
         return(View(tk));
     }
 }
Esempio n. 18
0
        // PartialView ThongTin
        public ActionResult ThongTin()
        {
            using (var ctx = new QLDauGiaEntities())
            {
                //Lấy thông tin của user đang đăng nhập
                var tk = CurrentContext.GetCurUser();

                return(PartialView("PVThongTin", tk));
            }
        }
Esempio n. 19
0
 public ActionResult LuotDauGia(int?id)
 {
     using (var ctx = new QLDauGiaEntities())
     {
         ViewBag.SL = ctx.ChiTietDauGia
                      .Where(ctdg => ctdg.ID_DauGia == id && ctdg.BiCam != true)
                      .Count();
         return(PartialView("PVLuotDauGia"));
     }
 }
Esempio n. 20
0
 public ActionResult Update(DanhMucLon model)
 {
     using (var ctx = new QLDauGiaEntities())
     {
         ctx.Entry(model).State =
             System.Data.Entity.EntityState.Modified;
         ctx.SaveChanges();
     }
     return(RedirectToAction("XuatDanhMuc", "DanhMuc"));
 }
Esempio n. 21
0
 //Partialview combobox danh mục nhỏ
 public ActionResult DanhMucNho(int?id)
 {
     using (var ctx = new QLDauGiaEntities())
     {
         var ds = ctx.DanhMucNho
                  .Where(dmn => dmn.ID_DanhMucLon == id && dmn.TinhTrang != true)
                  .ToList();
         return(PartialView("PVDanhMucNho", ds));
     }
 }
Esempio n. 22
0
 // GET: DauGia/ChiTiet. partialview
 public ActionResult CungChuDe(int?id)  //id của danhmuc
 {
     using (var ctx = new QLDauGiaEntities())
     {
         var ds = ctx.DauGia
                  .Where(dg => dg.ID_DanhMucNho == id && dg.NgayKetThuc.Value > DateTime.Now)
                  .Take(4)
                  .ToList();
         return(PartialView("PVCungChuDe", ds));
     }
 }
Esempio n. 23
0
 // GET: DauGia
 public ActionResult Index(int?page)
 {
     using (var ctx = new QLDauGiaEntities())
     {
         var ds = ctx.DauGia
                  .Where(dg => dg.NgayKetThuc.Value > DateTime.Now)
                  .ToList();
         int pageSize   = 6;
         int pageNumber = page ?? 1;
         return(View(ds.ToPagedList(pageNumber, pageSize)));
     }
 }
Esempio n. 24
0
 // GET: DauGia/ChiTiet. partialview
 public ActionResult TopGiaThap()
 {
     using (var ctx = new QLDauGiaEntities())
     {
         var ds = ctx.DauGia
                  .Where(dg => dg.NgayKetThuc.Value > DateTime.Now)
                  .OrderBy(dg => dg.GiaKhoiDiem)
                  .Take(5)
                  .ToList();
         return(PartialView("PVTopGiaThap", ds));
     }
 }
Esempio n. 25
0
        public ActionResult KiemTraHetHan()
        {
            using (var ctx = new QLDauGiaEntities())
            {
                string tb = "";
                //sản phẩm không có người đấu giá
                var dsk = ctx.DauGia
                          .Where(dg => dg.NgayKetThuc.Value < DateTime.Now && dg.GuiMailThatBai != true && dg.ID_NguoiGiuGia == null)
                          .ToList();
                if (dsk != null)
                {
                    foreach (var item in dsk)
                    {
                        var tk = ctx.TaiKhoan
                                 .Where(tkk => tkk.ID == item.ID_NguoiDauGia)
                                 .FirstOrDefault();

                        item.GuiMailThatBai = true;
                        //gửi mail
                        CurrentContext.SendMail(tk.Email, $"Sản phẩm của bạn không có người tham gia đấu giá! Sản phẩm: {item.Ten}");
                    }
                }

                //sản phẩm có người đấu giá
                var dsc = ctx.DauGia
                          .Where(dg => dg.NgayKetThuc.Value < DateTime.Now && dg.GuiMailThatBai != true && dg.ID_NguoiGiuGia != null)
                          .ToList();

                if (dsc != null)
                {
                    //gửi mail
                    foreach (var item in dsc)
                    {
                        //người bán
                        var tk = ctx.TaiKhoan
                                 .Where(tkk => tkk.ID == item.ID_NguoiDauGia)
                                 .FirstOrDefault();


                        //người trúng
                        var tkt = ctx.TaiKhoan
                                  .Where(tkk => tkk.ID == item.ID_NguoiGiuGia)
                                  .FirstOrDefault();

                        item.GuiMailThatBai = true;
                        //gửi mail
                        CurrentContext.SendMail(tk.Email, $"Sản phẩm của bạn có người đấu giá thành công! Sản phẩm: {item.Ten}");
                        CurrentContext.SendMail(tkt.Email, $"Bạn đã là người chiến thắng! Sản phẩm: {item.Ten}");
                    }
                }
                return(Json(tb, JsonRequestBehavior.AllowGet));
            }
        }
Esempio n. 26
0
 //top giá cao
 public ActionResult TopGiaCao()
 {
     using (var ctx = new QLDauGiaEntities())
     {
         var ds = ctx.DauGia
                  .Where(dg => dg.NgayKetThuc.Value > DateTime.Now)
                  .OrderByDescending(dg => dg.GiaCaoNhatHienTai == null ? dg.GiaKhoiDiem : dg.GiaCaoNhatHienTai)
                  .Take(6)
                  .ToList();
         return(PartialView("PVTopGiaCao", ds));
     }
 }
Esempio n. 27
0
        public ActionResult Register(RegisterVM regModel)
        {
            Boolean mess;

            if (ModelState.IsValid)
            {
                try
                {
                    TaiKhoan u = new TaiKhoan
                    {
                        TenDangNhap = regModel.UserName,
                        HoTen       = regModel.Name,
                        SoDienThoai = regModel.NumPhone,
                        Email       = regModel.Email,
                        MatKhau     = StringUtils.GetMD5(regModel.RawPWD),
                        NgaySinh    = DateTime.ParseExact(regModel.DOB, "dd/MM/yyyy", null),
                        DiaChi      = regModel.Address,
                        Diem        = 0,
                        DanhGiaTot  = 0,
                        DanhGiaXau  = 0,
                        Quyen       = false,
                        Vip         = false,
                        TonTai      = true,
                    };
                    using (QLDauGiaEntities ctx = new QLDauGiaEntities())
                    {
                        var tktrung = ctx.TaiKhoan.Where(tt => String.Compare(tt.Email, u.Email) == 0 || String.Compare(tt.TenDangNhap, u.TenDangNhap) == 0)
                                      .ToList();

                        if (tktrung.Count == 0)
                        {
                            mess = true;
                            ctx.TaiKhoan.Add(u);
                            ctx.SaveChanges();
                        }
                        else
                        {
                            mess = false;
                        }
                    }
                }
                catch (Exception)
                {
                    mess = false;
                }
            }
            else
            {
                mess = false;
            }
            ViewBag.Mess = mess;
            return(View());
        }
Esempio n. 28
0
 public ActionResult Delete(int idToDelete)
 {
     using (var ctx = new QLDauGiaEntities())
     {
         DanhMucLon model = ctx.DanhMucLon
                            .Where(c => c.ID == idToDelete)
                            .FirstOrDefault();
         model.TinhTrang = true;
         ctx.SaveChanges();
     }
     return(RedirectToAction("XuatDanhMuc", "DanhMuc"));
 }
Esempio n. 29
0
        // GET: QuanTriNguoiDung/EditThongTin
        public ActionResult EditThongTin(int?idToEdit)
        {
            if (idToEdit.HasValue == false)
            {
                return(RedirectToAction("Index", "QuanTriNguoiDung"));
            }

            using (var ctx = new QLDauGiaEntities())
            {
                TaiKhoan tk = ctx.TaiKhoan.Where(t => t.ID == idToEdit).FirstOrDefault();
                return(View(tk));
            }
        }
Esempio n. 30
0
        public ActionResult YeuThich()
        {
            using (var ctx = new QLDauGiaEntities())
            {
                var tk = CurrentContext.GetCurUser();


                ViewBag.SL = ctx.YeuThich
                             .Where(yt => yt.ID_NguoiThich == tk.ID)
                             .Count();
                return(PartialView("PVYeuThich"));
            }
        }