예제 #1
0
        public ActionResult Payment(DateTime Ngaygiao, string MaKH, string TenKhach, string DiaChiKhach, string TrangThai)
        {
            if (Session["dnhap"] != null)
            {
                HOADON model = new HOADON();
                model.MaKH        = MaKH;
                model.TenKhach    = TenKhach;
                model.DiaChiKhach = DiaChiKhach;
                model.TrangThai   = TrangThai;
                model.NgayDat     = DateTime.Now;
                model.NgayGiao    = Ngaygiao;
                // var cart = (Cart)Session["CartSession"];
                try
                {
                    var x = context.HOADON.Count();
                    model.MaHD = x + 1;
                    context.HOADON.Add(model);
                    context.SaveChanges();
                    var cart = (Cart)Session["CartSession"];
                    foreach (var item in cart.Lines)
                    {
                        GIAODICH obj = new GIAODICH();
                        obj.MaHD = model.MaHD;
                        obj.MaQA = item.Sanpham.MaQA;

                        obj.SoLuong = item.Quantity;

                        context.GIAODICH.Add(obj);
                        context.SaveChanges();

                        SANPHAM sp = new SANPHAM();
                        sp = context.SANPHAM.Find(obj.MaQA);
                        if (sp.SoLuong > obj.SoLuong)
                        {
                            sp.SoLuong = sp.SoLuong - obj.SoLuong;
                            context.SaveChanges();
                        }
                        else
                        {
                            context.GIAODICH.Remove(obj);
                            context.SaveChanges();
                        }
                    }

                    cart.Clear();
                    Session["CartSession"] = cart;
                    return(Redirect("https://localhost:44332/Home/Index"));
                }

                catch (Exception ex)
                {
                    //ghi log
                    return(RedirectToAction("/Loi"));
                }
            }
            else
            {
                return(Redirect("https://localhost:44332/Account/DangNhap"));
            }
        }
예제 #2
0
        public JsonResult MuaAcc()
        {
            THANHVIEN tv = (THANHVIEN)System.Web.HttpContext.Current.Session["User"];

            if (tv == null)
            {
                return(Json("Bạn chưa đăng nhập. Đăng nhập để mua tài khoản"));
            }
            THANHVIEN ThanhVien = db.THANHVIENs.Where(p => p.ID == tv.ID).FirstOrDefault();
            string    AccId     = Request.Params["AccId"];
            LOLACC    acc       = db.LOLACCs.Where(p => p.ID == AccId).FirstOrDefault();

            if (!string.IsNullOrEmpty(acc.THANHVIENID))
            {
                return(Json("Acc đã có người mua!"));
            }
            if ((int)acc.GIA > (int)ThanhVien.MONEY)
            {
                return(Json("Số tiền bạn có không đủ!"));
            }
            ThanhVien.MONEY -= acc.GIA;
            acc.THANHVIENID  = tv.ID;
            GIAODICH gd = new GIAODICH();

            gd.ID          = Guid.NewGuid().ToString();
            gd.NOIDUNG     = "Mua Acc " + acc.TEN;
            gd.MAGIAODICH  = Guid.NewGuid().ToString();
            gd.THANHVIENID = tv.ID;
            gd.THOIDIEM    = DateTime.Now;
            gd.SOTIEN      = acc.GIA;
            db.GIAODICHes.Add(gd);
            db.SaveChanges();
            return(Json("Mua Acc " + acc.TEN + " thành công!"));
        }
예제 #3
0
        public void TinhTyLeTheoGioiTinhTest()
        {
            AlgorithmNavasBayes NavasBayes = new AlgorithmNavasBayes();
            GIAODICH            giaoDich1  = new GIAODICH();

            giaoDich1.MaDongLaptop = 1;
            KHACHHANG khachhang = new KHACHHANG();

            khachhang.MaKhachHang = 1;
            khachhang.GioiTinhNam = true;
            giaoDich1.KHACHHANG   = khachhang;
            giaoDich1.MaGiaoDich  = 1;
            giaoDich1.MaKhachHang = 1;
            giaoDich1.NgayMua     = DateTime.Now;
            List <GIAODICH> DanhSachGiaoDich = new List <GIAODICH>();

            DanhSachGiaoDich.Add(giaoDich1);
            List <float> TyLeGiaoDich_Actual = new List <float>();
            List <float> TyLeGiaoDich_Expect = new List <float>();

            for (int index = 0; index < 2; ++index)
            {
                TyLeGiaoDich_Expect.Add(0f);
            }
            TyLeGiaoDich_Expect[1] = 100f;
            try
            {
                TyLeGiaoDich_Actual = NavasBayes.TinhTyLeTheoGioiTinh(DanhSachGiaoDich);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            Assert.AreEqual(TyLeGiaoDich_Expect, TyLeGiaoDich_Actual);
        }
예제 #4
0
        /// <summary>
        /// Lấy giao dịch hiện tại
        /// </summary>
        /// <returns>
        ///     Trả về đối tượng GIAODICH hiện tại
        /// </returns>
        private GIAODICH LayGiaoDichHienTai()
        {
            GIAODICH giaoDich = new GIAODICH();

            giaoDich.KHACHHANG    = MANHINHCHINH.KKhachHang;
            giaoDich.MaDongLaptop = this.intMaLaptopDuocChon;
            giaoDich.NgayMua      = DateTime.Now;

            return(giaoDich);
        }
        public ActionResult Payment(string MaKH, string TenKhach, string DiaChiKhach, string TrangThai)
        {
            HOADON model = new HOADON();

            model.MaKH        = MaKH;
            model.TenKhach    = TenKhach;
            model.DiaChiKhach = DiaChiKhach;
            model.TrangThai   = TrangThai;
            model.NgayDat     = DateTime.Now;

            try
            {
                //Tao hoa don moi
                var x = context.HOADON.OrderByDescending(s => s.MaHD).Take(1).Single();
                model.MaHD = x.MaHD + 1;
                context.HOADON.Add(model);
                context.SaveChanges();


                //var cart = (Cart)Session["CartSession"];
                //foreach (var item in cart.Lines)
                //{
                //    GIAODICH obj = new GIAODICH();
                //    obj.MaHD = model.MaHD;
                //    obj.MaQA = item.Sanpham.MaQA;
                //    obj.SoLuong = item.Quantity;

                //    context.GIAODICH.Add(obj);
                //    context.SaveChanges();
                //}
                //cart.Clear();
                //Session["CartSession"] = cart;

                for (int i = 0; i < CheckoutProds.Count; i += 2)
                {
                    GIAODICH gd = new GIAODICH();
                    gd.MaHD    = model.MaHD;
                    gd.MaQA    = Convert.ToInt32(CheckoutProds[i]);
                    gd.SoLuong = Convert.ToInt32(CheckoutProds[i + 1]);

                    context.GIAODICH.Add(gd);
                    context.SaveChanges();
                }

                return(Redirect("/Home/Index"));
            }

            catch (Exception ex)
            {
                //ghi log
                return(RedirectToAction("/Loi"));
            }
        }
예제 #6
0
 /// <summary>
 /// Lấy thông tin Giao Dịch theo mã
 /// </summary>
 /// <param name="_iMaGiaoDich">Thông tin mã Giao Dich muốn lấy</param>
 /// <returns>
 ///     Thành công: trả về 1 đối tượng GIAODICH
 ///     Thất bại: trả về null
 /// </returns>
 public static GIAODICH LayGiaoDich(int _iMaGiaoDich)
 {
     try
     {
         GIAODICH _GiaoDich = m_eStoreDataContext.GIAODICHes.Single(Temp => Temp.MaGiaoDich == _iMaGiaoDich);
         return(_GiaoDich);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #7
0
        /// <summary>
        /// Thêm mới giao dịch
        /// </summary>
        /// <param name="_gGiaoDich">Thông tin giao dịch mới cần thêm</param>
        /// <returns>
        ///     Thành công: trả về true
        ///     Thất bại: trả về true
        /// </returns>
        public static bool themGiaoDich(GIAODICH _gGiaoDich)
        {
            try
            {
                m_eStoreDataContext.GIAODICHes.InsertOnSubmit(_gGiaoDich);
                m_eStoreDataContext.SubmitChanges();
                return(true);
            }
            catch (Exception ex)
            {
                return(false);

                throw ex;
            }
        }
예제 #8
0
        public IActionResult Create(GIAODICH item)
        {
            string a   = DateTime.Now.ToString("yyyyMMddhh:mm:ss");
            string f*g = a.Replace(" ", "");
            string b   = a.Replace("/", "");
            string c   = b.Replace(":", "");
            long   kq  = long.Parse(c);

            item.IDGIAODICH    = kq;
            item.NGAYTHANHTOAN = DateTime.Now;
            item.TRANGTHAITT   = false;
            _context.Giaodiches.Add(item);
            _context.SaveChanges();

            return(CreatedAtRoute("Get", new { id = item.IDGIAODICH }, item));
        }
예제 #9
0
            public List <IQueryFilter> GetFilters()
            {
                var result = new List <IQueryFilter>();
                var refObj = new GIAODICH();

                if (!string.IsNullOrEmpty(this.MA_GIAODICH))
                {
                    result.Add(new QueryFilterLinQ
                    {
                        Property = ClassHelper.GetProperty(() => refObj.MA_GIAODICH),
                        Value    = this.MA_GIAODICH,
                        Method   = FilterMethod.Like
                    });
                }
                return(result);
            }
예제 #10
0
        public IActionResult Update(long id, GIAODICH item)
        {
            var todo = _context.Giaodiches.Find(id);

            if (todo == null)
            {
                return(NotFound());
            }
            todo.IDGIOHANG     = item.IDGIOHANG;
            todo.TRANGTHAITT   = item.TRANGTHAITT;
            todo.SOTIEN        = item.SOTIEN;
            todo.SOTHE         = item.SOTHE;
            todo.NGAYTHANHTOAN = DateTime.Now;

            _context.Giaodiches.Update(todo);
            _context.SaveChanges();
            return(NoContent());
        }
예제 #11
0
        public ActionResult ThanhToan(DateTime Ngaygiao, string MaKH, string TenKhach, string DiaChiKhach, string TrangThai)
        {
            HOADON model = new HOADON();
            var    dn    = (TAIKHOAN)Session["dnhap"];

            model.NgayDat     = DateTime.Now;
            model.MaKH        = MaKH;
            model.NgayGiao    = Ngaygiao;
            model.TrangThai   = TrangThai;
            model.TenKhach    = TenKhach;
            model.DiaChiKhach = DiaChiKhach;

            var x = context.HOADON.Count();

            model.MaHD = x + 1;
            context.HOADON.Add(model);
            context.SaveChanges();

            //var model3 =model2.

            var model1 = (from m in context.TAIKHOAN
                          join n in context.GIOHANG on m.Username equals n.MaKH
                          join k in context.SANPHAM on n.MaQA equals k.MaQA
                          join h in context.MATHANG on k.MaMH equals h.MaMH
                          join a in context.SIZE on k.MaSize equals a.MaSize
                          join b in context.MAU on k.MaMau equals b.MaMau
                          join c in context.ANH on h.MaMH equals c.MaMH
                          where m.Username == dn.Username && c.MaMau == b.MaMau
                          select new dschitietsanpham()
            {
                maqa = n.MaQA,
                so = n.SoLuong.Value,
                gia = h.GiaBan.Value,
                size = a.MaSize,
                tenmau = b.TenMau,
                url = c.UrlAnh,
                tenh = h.TenMH
            }
                          ).ToList();

            foreach (var item in model1)
            {
                GIAODICH obj = new GIAODICH();
                obj.MaHD = model.MaHD;
                obj.MaQA = item.maqa.Value;

                obj.SoLuong = item.so.Value;

                context.GIAODICH.Add(obj);
                context.SaveChanges();

                SANPHAM sp = new SANPHAM();
                sp = context.SANPHAM.Find(obj.MaQA);
                if (sp.SoLuong > obj.SoLuong)
                {
                    sp.SoLuong = sp.SoLuong - obj.SoLuong;
                    context.SaveChanges();
                }
                else
                {
                    context.GIAODICH.Remove(obj);
                    context.SaveChanges();
                }
            }

            var model2 = (from m in context.TAIKHOAN
                          join n in context.GIOHANG on m.Username equals n.MaKH
                          join k in context.SANPHAM on n.MaQA equals k.MaQA

                          where m.Username == dn.Username
                          select new dsgio()
            {
                MaQa = n.MaQA,
                so = n.SoLuong.Value,
                name = m.Username
            }
                          ).ToList();

            foreach (var item in model2)
            {
                GIOHANG g = context.GIOHANG.Find(item.name, item.MaQa);


                context.GIOHANG.Remove(g);
                context.SaveChanges();
            }



            return(Redirect("/Home/Index"));
        }
예제 #12
0
        public JsonResult SubmitThe()
        {
            string       message = "";
            AdminSession ses     = new AdminSession();
            THANHVIEN    tv      = ses.getSession();

            if (tv == null)
            {
                message = "Bạn cần đăng nhập để sử dụng chức năng này.";
                return(Json(message));
            }
            CardInfo card = new CardInfo();

            card.pin  = Request.Params["pin"];
            card.seri = Request.Params["seri"];
            int cardtype = Convert.ToInt16(Request.Params["cardtype"]);

            if (string.IsNullOrEmpty(card.pin.Trim()) || string.IsNullOrEmpty(card.seri.Trim()))
            {
                message = "Mã thẻ hoặc số serial không thể trống.";
                return(Json(message));
            }
            if (card.seri.Length < 8 || card.pin.Length < 8 || card.seri.Length > 20 || card.seri.Length > 20)
            {
                message = "Độ dài mã thẻ hoặc serial không đúng.";
                return(Json(message));
            }

            const string merchant_id  = "5795";                             //API_ID lay trong tich hop website sau khi dang nhạp vippay.vn
            const string api_user     = "******"; //API_USERNAME lay trong tich hop website sau khi dang nhạp vippay.vn
            const string api_password = "******"; //API_PASSWORD lay trong tich hop website sau khi dang nhạp vippay.vn

            VippayCard pay   = new VippayCard(merchant_id, api_user, api_password);
            string     magd  = Guid.NewGuid().ToString();
            string     notes = magd + "-" + tv.FULLNAME + "-" + tv.ID + " nộp thẻ " + DateTime.Now.ToLongTimeString(); // Ghi chu ban tu them voi do dai khong qua 500 ky tu
            CardInfo   info  = pay.cardCharging(card.pin, card.seri, (CardInfo.CardType)(cardtype), notes);
            string     mess;

            if (info.code == 0)
            {
                // Them logic sau khi nap the dung
                mess = string.Format("Nạp thẻ {0} thành công với mệnh giá {1}", Enum.GetName(typeof(CardInfo.CardType), info.cardtype), info.info_card);
                try
                {
                    int silk    = 0;
                    int menhgia = int.Parse(info.info_card);

                    if (menhgia == 10000)
                    {
                        silk = 100;
                    }
                    else if (menhgia == 20000)
                    {
                        silk = 200;
                    }
                    else if (menhgia == 30000)
                    {
                        silk = 300;
                    }
                    else if (menhgia == 50000)
                    {
                        silk = 500;
                    }
                    else if (menhgia == 60000)
                    {
                        silk = 600;
                    }
                    else if (menhgia == 70000)
                    {
                        silk = 700;
                    }
                    else if (menhgia == 100000)
                    {
                        silk = 1000;
                    }
                    else if (menhgia == 200000)
                    {
                        silk = 2000;
                    }
                    else if (menhgia == 300000)
                    {
                        silk = 3000;
                    }
                    else if (menhgia == 500000)
                    {
                        silk = 5000;
                    }
                    else if (menhgia == 1000000)
                    {
                        silk = 10000;
                    }

                    GIAODICH gd = new GIAODICH();
                    gd.ID          = Guid.NewGuid().ToString();
                    gd.THANHVIENID = tv.ID;
                    gd.SOTIEN      = silk;
                    gd.NOIDUNG     = mess;
                    gd.THOIDIEM    = DateTime.Now;
                    gd.MAGIAODICH  = magd;
                    db.GIAODICHes.Add(gd);
                    THANHVIEN ThanhVien = db.THANHVIENs.Where(p => p.ID == tv.ID).FirstOrDefault();
                    if (ThanhVien.MONEY == null)
                    {
                        ThanhVien.MONEY = 0;
                    }
                    ThanhVien.MONEY += menhgia;
                    db.SaveChanges();
                    return(Json(mess));
                }
                catch (Exception ex)
                {
                }
            }
            else
            {
                mess = string.Format("Vui lòng kiểm tra lại: {0}", info.msg);
                return(Json(mess));
            }
            return(Json("Đã có lỗi xảy ra. Liên hệ quản trị viên để biết thêm chi tiết!"));
        }
예제 #13
0
 /// <summary>
 /// Thêm giao dịch
 /// </summary>
 /// <param name="giaoDich">Đối tượng giao dịch cần thêm</param>
 /// <returns>True nếu thêm thành công, ngược lại trả về false</returns>
 public static bool ThemGiaoDich(GIAODICH giaoDich)
 {
     return(myGiaoDichDAO.themGiaoDich(giaoDich));
 }