예제 #1
0
        public bool DatHang(string ten, string sdt, string email, string diachi, string total, string id, List<CartItem> cart)
        {
            try
            {
                if (id != null)
                {
                    DonDH don = new DonDH()
                    {
                        Ten = ten,
                        SDT = sdt,
                        Email = email,
                        DiaChi = diachi,
                        NgayDat = DateTime.Now,
                        TongTien = int.Parse(total),
                        MaKhachHang = int.Parse(id)
                    };
                    db.DonDHs.Add(don);
                }
                else
                {
                    DonDH don = new DonDH()
                    {
                        Ten = ten,
                        SDT = sdt,
                        Email = email,
                        DiaChi = diachi,
                        NgayDat = DateTime.Now,
                        TongTien = int.Parse(total)
                    };
                    db.DonDHs.Add(don);
                }
                db.SaveChanges();

                foreach (var item in cart)
                {
                    CT_DonDH ct = new CT_DonDH()
                    {
                        MaDonDH = db.DonDHs.Max(x => x.MaDonDH),
                        SP_ID = item.Product.SP_ID,
                        DonGiaDat = (int)item.Product.DonGia,
                        SoLuongDat = item.Quantity
                    };
                    db.CT_DonDH.Add(ct);

                    TonKho ton = new TonKho()
                    {
                        SP_ID = item.Product.SP_ID,
                        ThoiGian = DateTime.Now,
                        SoLuongTon = tonkho.TimTheoSPID(item.Product.SP_ID).SoLuongTon - item.Quantity
                    };
                    db.TonKhoes.Add(ton);
                }
                db.SaveChanges();
                return true;
            }
            catch
            {
                return false;
            }
        }
예제 #2
0
 // Hàm tự viết
 // Xuất kho
 public void Them_Xuat(TonKho tk)
 {
     string sql = "insert into TonKho values(@SP_ID, @ThoiGian,(select top 1 SoLuongTon from TonKho where SP_ID=@SP_ID order by ThoiGian desc)-@SoLuongTon)";
     SqlParameter spid = new SqlParameter("@SP_ID", tk.SP_ID);
     SqlParameter thoigian = new SqlParameter("@ThoiGian", tk.ThoiGian);
     SqlParameter soluongton = new SqlParameter("@SoLuongTon", tk.SoLuongTon);
     SqlDataProvider.ExecuteNonQuery(sql, CommandType.Text, spid, thoigian, soluongton);
 }
예제 #3
0
 // Hàm tự viết
 // Thêm mới 1 sản phẩm vào tồn kho
 public void Them_Moi(TonKho tk)
 {
     string sql = "insert into TonKho values(@SP_ID, @ThoiGian, @SoLuongTon)";
     SqlParameter spid = new SqlParameter("@SP_ID", tk.SP_ID);
     SqlParameter thoigian = new SqlParameter("@ThoiGian", tk.ThoiGian);
     SqlParameter soluongton = new SqlParameter("@SoLuongTon", tk.SoLuongTon);
     SqlDataProvider.ExecuteNonQuery(sql, CommandType.Text, spid, thoigian, soluongton);
 }
예제 #4
0
        public List<TonKho> HienThiTonKho()
        {
            List<TonKho> data = new List<TonKho>();
            string sql = "select sp.SP_ID,SoLuongTon,ThoiGian from SanPham sp, TonKho tk"
                        + " where sp.SP_ID=tk.SP_ID and ThoiGian = all"
                        + " (select max(thoigian) from TonKho tk1 where tk1.SP_ID=sp.SP_ID group by SP_ID) order by tk.SP_ID";
            SqlDataReader rd = SqlDataProvider.ExecuteQueryWithDataReader(sql, CommandType.Text);
            if (rd.HasRows)
            {
                while (rd.Read())
                {
                    TonKho tk = new TonKho()
                    {

                        SP_ID = int.Parse(rd[0].ToString()),
                        //TenSP = rd[1].ToString(),
                        SoLuongTon = int.Parse(rd[1].ToString()),
                        ThoiGian = DateTime.Parse(rd[2].ToString())
                    };
                    data.Add(tk);
                }
            }
            return data;
        }
예제 #5
0
 // Hàm tự viết
 // Tìm kiếm tồn kho theo thời gian (năm - tháng)
 // Hàm tự viết
 // Tìm kiếm tồn kho theo khoảng thời gian
 public List<TonKho> TimKiemTonKho_Ngay(DateTime ngaytu, DateTime ngayden)
 {
     List<TonKho> data = new List<TonKho>();
     string sql = "select sp.SP_ID,SoLuongTon,ThoiGian from SanPham sp, TonKho tk"
                 + " where sp.SP_ID=tk.SP_ID and (ThoiGian >=@NgayTu and ThoiGian<=@NgayDen) and ThoiGian = all"
                 + " (select max(thoigian) from tonkho tk1 where tk1.SP_ID=sp.SP_ID group by SP_ID) order by tk.SP_ID";
     SqlParameter ngay_tu = new SqlParameter("@NgayTu", ngaytu);
     SqlParameter ngay_den = new SqlParameter("@NgayDen", ngayden.AddDays(1));
     SqlDataReader rd = SqlDataProvider.ExecuteQueryWithDataReader(sql, CommandType.Text, ngay_tu, ngay_den);
     if (rd.HasRows)
     {
         while (rd.Read())
         {
             TonKho tk = new TonKho()
             {
                 SP_ID = int.Parse(rd[0].ToString()),
                 //TenSP = rd[1].ToString(),
                 SoLuongTon = int.Parse(rd[1].ToString()),
                 ThoiGian = DateTime.Parse(rd[2].ToString())
             };
             data.Add(tk);
         }
     }
     return data;
 }
예제 #6
0
 // Hàm tự viết
 // Xóa sản phẩm
 public void Xoa(TonKho tk)
 {
     string sql = "Delete TonKho where SP_ID=@SP_ID";
     SqlParameter spid = new SqlParameter("@SP_ID", tk.SP_ID);
     SqlDataProvider.ExecuteNonQuery(sql, CommandType.Text, spid);
 }
예제 #7
0
 public TonKho TimTheoSPID(int id)
 {
     try
     {
         var tonkho = db.TonKhoes.Where(x => x.SP_ID == id).ToList();
         List<TonKho> ton = new List<TonKho>();
         foreach (var i in tonkho)
         {
             TonKho t = new TonKho()
             {
                 SP_ID = i.SP_ID,
                 ThoiGian = i.ThoiGian,
                 SoLuongTon = i.SoLuongTon
             };
             ton.Add(t);
         }
         return ton.Last();
     }
     catch
     {
         return null;
     }
 }