Example #1
0
        public string ValidateInput()
        {
            if (string.IsNullOrEmpty(ThanhToanCongNo_ThanhToan.Text))
            {
                return(string.Format("Không được phép để trống {0}!", lblThanhToan.Text));
            }
            var thanhToan = PrimitiveConvert.StringToInt(ThanhToanCongNo_ThanhToan.Text);

            if (thanhToan <= 0)
            {
                return(string.Format("Chưa nhập {0}!", lblThanhToan.Text));
            }

            var no = _congNoes.Sum(s => s.No);

            if (thanhToan > no)
            {
                return(string.Format("Số tiền thanh toán {0} lớn hơn số tiền nợ {1}!", thanhToan.ToString("n0"), no.ToString("n0")));
            }

            var tienChuaPhanBo = PrimitiveConvert.StringToInt(txtConLai.Text);

            if (tienChuaPhanBo > 0)
            {
                return(string.Format("Còn {0} tiền chưa được phân bổ!", tienChuaPhanBo.ToString("n0")));
            }
            if (tienChuaPhanBo < 0)
            {
                return(string.Format("Số tiền phân bổ({0}) lớn hơn số tiền khách trả({1}).", txtDaThanhToan.Text, txtTienKhachTra.Text));
            }

            return(string.Empty);
        }
Example #2
0
        private void UpdateThongTin()
        {
            var thanhToan   = PrimitiveConvert.StringToInt(ThanhToanCongNo_ThanhToan.Text);
            var thanhToanNo = _congNoes.Sum(l => l.ThanhToanNo);
            var conLai      = thanhToan - thanhToanNo;

            txtTienKhachTra.Text = thanhToan.ToString("n0");
            txtDaThanhToan.Text  = thanhToanNo.ToString("n0");
            txtConLai.Text       = conLai.ToString("n0");
        }
Example #3
0
 private void gridViewHangHoa_DoubleClick(object sender, System.EventArgs e)
 {
     ThreadHelper.LoadForm(() =>
     {
         dynamic data = gridViewHangHoa.GetRow(gridViewHangHoa.FocusedRowHandle);
         if (data != null && data.Id != null)
         {
             var info        = CRUD.DbContext.DonHangs.Find(data.DonHangId);
             var loaiDonHang = PrimitiveConvert.StringToEnum <Define.LoaiDonHangEnum>(info.LoaiDonHang);
             FormBehavior.GenerateForm(new UcDonHang(loaiDonHang, info), data.LoaiPhieu, this.ParentForm, this.Name);
         }
     });
 }
Example #4
0
        private void UpdateNo()
        {
            var tongTien  = PrimitiveConvert.StringToInt(DonHang_TongCong.Text);
            var thanhToan = PrimitiveConvert.StringToInt(DonHang_ThanhToan.Text);
            var conLai    = thanhToan - tongTien;

            if (conLai < 0)
            {
                lblCongNo.Text = "Nợ:";
            }
            else
            {
                lblCongNo.Text = "Tiền Thừa:";
            }
            DonHang_No.EditValue = Math.Abs(conLai);
        }
Example #5
0
        private void gridViewChiTiet_RowCellClick(object sender, RowCellClickEventArgs e)
        {
            var index = gridViewChiTiet.GetFocusedDataSourceRowIndex();

            if (index >= 0 && _congNoes != null)
            {
                UpdateThongTin();
                var congNo = _congNoes[index];
                if (congNo.ThanhToanNo == 0)
                {
                    var conLai = PrimitiveConvert.StringToInt(txtConLai.Text);
                    congNo.ThanhToanNo = Math.Min(congNo.ConLai, conLai);
                    UpdateThongTin();
                    gridViewChiTiet.RefreshData();
                }
            }
        }
Example #6
0
        private void UpdateTongTien()
        {
            var thanhTien = _chiTietDonhang.Where(s => s.IsActived).Sum(s => s.ThanhTien);
            var chietKhau = 0L;

            if (!string.IsNullOrEmpty(DonHang_ChietKhau.Text))
            {
                chietKhau = PrimitiveConvert.StringToInt(DonHang_ChietKhau.Text);
            }

            var thue = 0L;

            if (!string.IsNullOrEmpty(DonHang_Thue.Text))
            {
                thue = PrimitiveConvert.StringToInt(DonHang_Thue.Text);
            }

            _domainData.TongCong = (long)(thanhTien + thanhTien * thue / 100f - thanhTien * chietKhau / 100f);
            UpdateNo();
        }
Example #7
0
        public UcThuChi(ThuChi data = null)
        {
            InitializeComponent();

            ThuChi_NoiDungId.DisplayMember = "Ten";
            ThuChi_NoiDungId.ValueMember   = "Id";
            ThuChi_NoiDungId.DataSource    = new BindingSource(CRUD.DbContext.DanhMucs.Where(s => s.Loai == Define.LoaiDanhMucEnum.ThuChi.ToString()).ToList(), null);

            ThuChi_Loai.DisplayMember = "Value";
            ThuChi_Loai.ValueMember   = "Key";
            ThuChi_Loai.DataSource    = new BindingSource(Define.LoaiThuChiDict, null);

            Init(data);
            if (data != null)
            {
                ThuChi_Loai.SelectedValue = PrimitiveConvert.StringToEnum <Define.LoaiThuChiEnum>(data.Loai);
            }

            _domainData = data;
        }
Example #8
0
        private void UpdateCongNo(CongNo congNo)
        {
            var thanhToan = PrimitiveConvert.StringToInt(ThanhToanCongNo_ThanhToan.Text);
            var no        = PrimitiveConvert.StringToInt(CongNo_No.Text);

            congNo.No = Math.Max(no - thanhToan, 0);
            CRUD.DbContext.CongNoes.AddOrUpdate(congNo);

            // Update chi tiet cong no
            var thanhToanCongNo = CRUD.GetFormObject <ThanhToanCongNo>(FormControls);

            if (thanhToanCongNo.ThanhToan > 0)
            {
                thanhToanCongNo.CongNoId = congNo.Id;
                CRUD.DecorateSaveData(thanhToanCongNo);
                CRUD.DbContext.ThanhToanCongNoes.Add(thanhToanCongNo);
            }

            CRUD.DbContext.SaveChanges();
        }
Example #9
0
        public string ValidateInput()
        {
            if (string.IsNullOrEmpty(ThanhToanCongNo_ThanhToan.Text))
            {
                return(string.Format("Không được phép để trống {0}!", lblThanhToan.Text));
            }
            var thanhToan = PrimitiveConvert.StringToInt(ThanhToanCongNo_ThanhToan.Text);
            var no        = PrimitiveConvert.StringToInt(CongNo_No.Text);

            if (thanhToan <= 0)
            {
                return(string.Format("Chưa nhập {0}!", lblThanhToan.Text));
            }
            if (thanhToan > no)
            {
                var tongNo = _congNoes.Sum(s => s.No);
                if (thanhToan > tongNo)
                {
                    return("Số tiền thanh toán lớn hơn số tiền nợ!");
                }
            }

            return(string.Empty);
        }
Example #10
0
        public override bool SaveData()
        {
            var validateResult = ValidateInput();

            if (!string.IsNullOrEmpty(validateResult))
            {
                MessageBox.Show(validateResult);
                return(false);
            }

            var thanhToan = PrimitiveConvert.StringToInt(ThanhToanCongNo_ThanhToan.Text);
            var no        = PrimitiveConvert.StringToInt(CongNo_No.Text);

            using (var transaction = new TransactionScope())
            {
                if (thanhToan > no)
                {
                    foreach (var congNo in _congNoes)
                    {
                        CRUD.DecorateSaveData(congNo);
                        var tienThanhToan = thanhToan;
                        if (congNo.No >= thanhToan)
                        {
                            thanhToan = 0;
                        }
                        else
                        {
                            tienThanhToan = (long)congNo.No;
                            thanhToan    -= (long)congNo.No;
                        }
                        congNo.No -= tienThanhToan;

                        var thanhToanCongNo = CRUD.GetFormObject <ThanhToanCongNo>(FormControls);
                        thanhToanCongNo.ThanhToan = tienThanhToan;
                        thanhToanCongNo.CongNoId  = congNo.Id;
                        CRUD.DecorateSaveData(thanhToanCongNo);
                        CRUD.DbContext.ThanhToanCongNoes.Add(thanhToanCongNo);


                        if (thanhToan <= 0)
                        {
                            break;
                        }
                    }
                    CRUD.DbContext.SaveChanges();
                }
                else
                {
                    // Update cong no
                    var congNo = CRUD.GetFormObject <CongNo>(FormControls);
                    congNo.DonHangId   = _domainData.DonHangId;
                    congNo.KhachHangId = _domainData.KhachHangId;
                    congNo.NgayLap     = _domainData.NgayLap;
                    congNo.LoaiDonHang = _loaiDonHang.ToString();
                    CRUD.DecorateSaveData(congNo, _domainData);
                    UpdateCongNo(congNo);
                }

                transaction.Complete();
            }

            return(true);
        }