Ejemplo n.º 1
0
        //thay doi so luong lk
        void repositoryItemSpinEdit1_EditValueChanged(object sender, EventArgs e)
        {
            decimal        soluong   = (decimal)((DevExpress.XtraEditors.SpinEdit)sender).Value;
            CT_HoaDon_View ct_hd     = gridView1.GetFocusedRow() as CT_HoaDon_View;
            decimal        chenhLech = soluong - ct_hd.SoLuong;

            Kho_View kho            = list_LK_inKho.Where(key => key.MaLinhKien == ct_hd.MaLinhKien).FirstOrDefault();
            decimal  chechLechVsKho = chenhLech - kho.SoLuong;

            if (kho != null)
            {
                foreach (CT_HoaDon_View item in ls_cthd)
                {
                    if (item.MaLinhKien.Equals(ct_hd.MaLinhKien))
                    {
                        if (chechLechVsKho > 0 && chenhLech > 0)
                        {
                            MessageBox.Show("Trong kho đã hết mặt hàng này, vui lòng nhập thêm sản phẩm!");
                            ((DevExpress.XtraEditors.SpinEdit)sender).Value = ct_hd.SoLuong;
                            //kho.SoLuong = 0;
                            return;
                        }
                        else
                        {
                            if (chenhLech != 0)
                            {
                                item.SoLuong   = (Int32)soluong;
                                item.ThanhTien = (item.SoLuong * item.GiaBan) + (item.SoLuong * item.GiaBan) * (Decimal)(item.Thue / 100);
                                if (chenhLech > 0)
                                {
                                    item.SoSeri.AddRange(kho.SoSeri.GetRange(0, (int)chenhLech));
                                    kho.SoSeri.RemoveRange(0, (int)chenhLech);
                                }
                                else
                                {
                                    chenhLech = -chenhLech;
                                    kho.SoSeri.InsertRange(0, item.SoSeri.GetRange(item.SoSeri.Count - (int)chenhLech, (int)chenhLech));
                                    item.SoSeri.RemoveRange(item.SoSeri.Count - (int)chenhLech, (int)chenhLech);
                                }
                                kho.SoLuong = kho.SoSeri.Count();
                                count_TongTien();
                            }
                        }

                        gridCtrlLoc.RefreshDataSource();
                        gridControl1.RefreshDataSource();
                        break;
                    }
                }
            }
            else
            {
                if (chenhLech != 0)
                {
                    MessageBox.Show("Trong kho đã hết mặt hàng này, vui lòng nhập thêm sản phẩm!");
                    ((DevExpress.XtraEditors.SpinEdit)sender).Value = ct_hd.SoLuong;
                    return;
                }
            }
        }
Ejemplo n.º 2
0
        private void txtThue_EditValueChanged(object sender, EventArgs e)
        {
            float  thue;
            string strGB = ((DevExpress.XtraEditors.TextEdit)sender).Text.Trim();

            if (strGB.Equals(""))
            {
                thue = 0;
            }
            else
            {
                strGB = strGB.Substring(0, strGB.Length - 2);
                thue  = float.Parse(strGB);
            }
            CT_HoaDon_View ct_hd = gridView1.GetFocusedRow() as CT_HoaDon_View;

            foreach (CT_HoaDon_View item in ls_cthd)
            {
                if (item.MaLinhKien.Equals(ct_hd.MaLinhKien))
                {
                    item.Thue      = thue;
                    item.ThanhTien = (item.SoLuong * item.GiaBan) + (item.SoLuong * item.GiaBan) * (Decimal)(item.Thue / 100);
                    //gridControl1.DataSource = ls_cthd;
                    gridControl1.RefreshDataSource();
                    count_TongTien();
                    break;
                }
            }
        }
Ejemplo n.º 3
0
        private void text_money_EditValueChanged(object sender, EventArgs e)
        {
            decimal giaBan;
            string  strGB = ((DevExpress.XtraEditors.TextEdit)sender).Text.Trim();

            if (strGB.Equals(""))
            {
                giaBan = 0;
            }
            else
            {
                giaBan = Decimal.Parse(strGB);
            }
            CT_HoaDon_View ct_hd = gridView1.GetFocusedRow() as CT_HoaDon_View;

            foreach (CT_HoaDon_View item in ls_cthd)
            {
                if (item.MaLinhKien.Equals(ct_hd.MaLinhKien))
                {
                    item.GiaBan             = giaBan;
                    item.ThanhTien          = (item.SoLuong * item.GiaBan) + (item.SoLuong * item.GiaBan) * (Decimal)(item.Thue / 100);
                    gridControl1.DataSource = ls_cthd;
                    gridControl1.RefreshDataSource();
                    count_TongTien();
                    break;
                }
            }
        }
Ejemplo n.º 4
0
        private void RemoveRowGrid_CT_HoaDon()
        {
            CT_HoaDon_View ct_hd = gridView1.GetFocusedRow() as CT_HoaDon_View;

            if (ct_hd != null)
            {
                Kho_View kho = list_LK_inKho.Where(key => key.MaLinhKien == ct_hd.MaLinhKien).FirstOrDefault();
                if (kho == null)
                {
                    kho             = new Kho_View();
                    kho.MaLinhKien  = ct_hd.MaLinhKien;
                    kho.TenLinhKien = ct_hd.TenLinhKien;
                    kho.SoSeri      = new List <string>();
                    kho.SoLuong     = 0;
                    list_LK_inKho.Add(kho);
                }

                var get_item = ls_cthd.Where(key => key.MaLinhKien == ct_hd.MaLinhKien).FirstOrDefault();
                if (get_item != null)
                {
                    //foreach (var item in get_item.SoSeri)
                    //{
                    //    kho.SoSeri.Add(item);
                    //}
                    kho.SoSeri.InsertRange(0, get_item.SoSeri);

                    kho.SoLuong = kho.SoSeri.Count;
                    ls_cthd.Remove(get_item);
                    gridControl1.RefreshDataSource();
                    gridCtrlLoc.RefreshDataSource();
                }

                //foreach (CT_HoaDon_View item in ls_cthd)
                //{
                //    if (item.MaLinhKien.Equals(ct_hd.MaLinhKien))
                //    {
                //        ls_cthd.Remove(item);

                //        gridControl1.DataSource = ls_cthd;
                //        gridControl1.RefreshDataSource();
                //        break;
                //    }
                //}
                count_TongTien();
            }
        }
Ejemplo n.º 5
0
        public static CT_HoaDon_View get_CTHoaDon_By_MaHD_MaLK(string maHD, string maLK)
        {
            var hd = from ct_hoadon in Context.getInstance().db.CT_HOADON
                     where ct_hoadon.MaHoaDon == maHD
                     where ct_hoadon.MaLinhKien == maLK
                     where ct_hoadon.TinhTrang == 1
                     select new CT_HoaDon_View
            {
                MaHoaDon        = ct_hoadon.MaHoaDon,
                MaLinhKien      = ct_hoadon.MaLinhKien,
                TenLinhKien     = ct_hoadon.LINHKIEN.TenLinhKien,
                LoaiLinhKien    = ct_hoadon.LINHKIEN.THUONGHIEU.TenThuongHieu,
                DonViTinh       = ct_hoadon.LINHKIEN.DONVITINH.TenDonViTinh,
                SoLuong         = ct_hoadon.SoLuong,
                GiaBan          = ct_hoadon.LINHKIEN.GiaBanLe,
                ThanhTien       = ct_hoadon.ThanhTien,
                ThoiGianBaoHanh = ct_hoadon.LINHKIEN.ThoiGianBaoHanh,
                Thue            = (float)ct_hoadon.Thue,
                LoiNhuan        = ct_hoadon.LoiNhuan,
                Seri            = ct_hoadon.Seri,
                GhiChu          = ct_hoadon.GhiChu
            };

            CT_HoaDon_View myHD = new CT_HoaDon_View();

            if (hd.ToList().Count > 0)
            {
                myHD = hd.ToList()[0];
            }
            myHD.SoSeri = new List <string>();
            foreach (var item in hd.ToList())
            {
                myHD.SoSeri.Add(item.Seri);
            }
            return(myHD);
        }
Ejemplo n.º 6
0
        private void btnHoanTat_Click(object sender, EventArgs e)
        {
            var result = MessageBox.Show("Bạn có muốn lưu sự thay đổi xuống cơ sở dữ liệu hay không?", "Lưu thông tin", MessageBoxButtons.YesNo);

            if (result == DialogResult.Yes)
            {
                if (ls_cthd.Count == 0)
                {
                    MessageBox.Show("Chưa có sản phẩm nào được chọn, xin vui lòng kiểm tra lại!");
                }
                else
                {
                    hoadon.GhiChu   = txtGhiChu.Text.Trim();
                    hoadon.NgayLap  = dateNgayBan.Value;
                    hoadon.TongTien = Decimal.Parse(lbTongTien.Text);
                    //bien trang thai hoa don
                    hoadon.TrangThai = 1;
                    //set nguoi sua va ngay sua cua hoa don
                    hoadon.MaNhanVienSua = Context.getInstance().nv.MaNhanVien;
                    hoadon.NgaySua       = DateTime.Now;

                    foreach (var item in ls_cthd)
                    {
                        item.LoiNhuan        = (item.SoLuong * item.GiaBan) - (item.SoLuong * LinhKien_DAL.get_LinhKien_ByMaLK(item.MaLinhKien).GiaNhap);
                        item.LoiNhuan        = item.LoiNhuan - (item.LoiNhuan * phanTramChietKhau / 100);
                        hoadon.TongLoiNhuan += item.LoiNhuan;
                    }

                    List <CT_HoaDon_View> mLstCTHD = CT_HoaDon_DAL.get_CTHoaDon_By_MaHD_TT01(hoadon.MaHoaDon);

                    if (mLstCTHD.Count > ls_cthd.Count)
                    {
                        foreach (var item in mLstCTHD)
                        {
                            CT_HoaDon_View ct = ls_cthd.Where(key => key.MaLinhKien == item.MaLinhKien).FirstOrDefault();
                            if (ct != null)//neu chi tiet hoa don chua bi xoa
                            {
                                getChange(ct.toList_CT_HoaDon(), CT_HoaDon_DAL.get_CTHoaDon_By_MaHD_MaLK(item.MaHoaDon, item.MaLinhKien).toList_CT_HoaDon());
                            }
                            else
                            {
                                dt.Deletes.AddRange(item.toList_CT_HoaDon());
                            }
                        }
                    }
                    else
                    {
                        foreach (var item in ls_cthd)
                        {
                            CT_HoaDon_View ct = mLstCTHD.Where(key => key.MaLinhKien == item.MaLinhKien).FirstOrDefault();
                            if (ct != null)//neu chi tiet hoa don chua bi xoa
                            {
                                getChange(item.toList_CT_HoaDon(), ct.toList_CT_HoaDon());
                            }
                            else
                            {
                                dt.Inserts.AddRange(item.toList_CT_HoaDon());
                            }
                        }
                    }
                    if (HoaDon_DAL.update_HoaDon(hoadon, dt, tong_tien_old))
                    {
                        MessageBox.Show("Lưu thông tin thành công!");
                        this.DialogResult = DialogResult.OK;
                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show("Đã có lỗi xảy ra, vui lòng kiểm tra dữ liệu!");
                    }
                }
            }
        }
Ejemplo n.º 7
0
        private void addRowGrid_CT_HoaDon()
        {
            Kho_View kho  = gridViewLoc.GetFocusedRow() as Kho_View;
            bool     flat = false;

            if (ls_cthd.Count > 0)
            {
                if (kho.SoLuong <= 0)
                {
                    MessageBox.Show("Trong kho đã hết mặt hàng này, vui lòng nhập thêm sản phẩm!");
                    return;
                }
                else
                {
                    foreach (CT_HoaDon_View item in ls_cthd)
                    {
                        if (item.MaLinhKien.Equals(kho.MaLinhKien))
                        {
                            kho.SoLuong   -= 1;
                            item.SoLuong  += 1;
                            item.ThanhTien = (item.SoLuong * item.GiaBan) + (item.SoLuong * item.GiaBan) * (Decimal)(item.Thue / 100);
                            item.SoSeri.Add(kho.SoSeri[0]);
                            kho.SoSeri.RemoveAt(0);
                            flat = true;
                            break;
                        }
                    }
                }
            }

            if (!flat)
            {
                LinhKien_View  lk_view = LinhKien_DAL.get_LinhKien_ByMaLK(kho.MaLinhKien);
                CT_HoaDon_View ct_hd   = new CT_HoaDon_View();
                ct_hd.MaHoaDon        = txtMaPhieu.Text.Trim();
                ct_hd.MaLinhKien      = lk_view.MaLinhKien;
                ct_hd.TenLinhKien     = lk_view.TenLinhKien;
                ct_hd.DonViTinh       = lk_view.MaDonViTinh;
                ct_hd.ThoiGianBaoHanh = lk_view.ThoiGianBaoHanh;
                switch (loaiKH)
                {
                case "L001":
                    ct_hd.GiaBan      = lk_view.GiaBanLe;
                    phanTramChietKhau = 0;
                    break;

                case "L002":
                    ct_hd.GiaBan      = lk_view.GiaBanSi;
                    phanTramChietKhau = 0;
                    break;

                case "L003":
                    ct_hd.GiaBan      = lk_view.GiaBanLe;
                    phanTramChietKhau = phanTramChietKhau_DB;
                    break;
                }
                ct_hd.SoLuong   = 1;
                kho.SoLuong    -= 1;
                ct_hd.ThanhTien = (ct_hd.SoLuong * ct_hd.GiaBan) + (ct_hd.SoLuong * ct_hd.GiaBan) * (Decimal)(ct_hd.Thue / 100);
                ct_hd.SoSeri    = new List <string>();
                ct_hd.SoSeri.Add(kho.SoSeri[0]);
                kho.SoSeri.RemoveAt(0);
                ls_cthd.Add(ct_hd);
            }
            gridCtrlLoc.RefreshDataSource();
            gridControl1.RefreshDataSource();
            count_TongTien();
        }