Example #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;
                }
            }
        }
Example #2
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();
            }
        }
Example #3
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();
        }