示例#1
0
        private bool CheckInfo()
        {
            if (txtMaLoThuoc.Text.Trim() == string.Empty)
            {
                MsgBox.Show(this.Text, "Vui lòng nhập mã lô thuốc.", IconType.Information);
                txtMaLoThuoc.Focus();
                return(false);
            }

            if (txtTenLoThuoc.Text.Trim() == string.Empty)
            {
                MsgBox.Show(this.Text, "Vui lòng nhập tên lô thuốc.", IconType.Information);
                txtTenLoThuoc.Focus();
                return(false);
            }

            if (cboThuoc.SelectedValue == null || cboThuoc.Text.Trim() == string.Empty)
            {
                MsgBox.Show(this.Text, "Vui lòng chọn thuốc.", IconType.Information);
                cboThuoc.Focus();
                return(false);
            }

            if (dtpkNgaySanXuat.Value >= dtpkNgayHetHan.Value)
            {
                MsgBox.Show(this.Text, "Ngày sản xuất phải nhỏ hơn ngày hết hạn", IconType.Information);
                dtpkNgaySanXuat.Focus();
                return(false);
            }

            if (!_isNew)
            {
                int    soLuongNhap = (int)numSoLuongNhap.Value * (int)numSoLuongQuiDoi.Value;
                Result rs          = LoThuocBus.GetLoThuoc(_loThuoc.LoThuocGUID.ToString());
                if (!rs.IsOK)
                {
                    MsgBox.Show(this.Text, rs.GetErrorAsString("LoThuocBus.GetLoThuoc"), IconType.Error);
                    return(false);
                }

                int soLuongXuat = (rs.QueryResult as LoThuoc).SoLuongXuat;

                if (soLuongNhap < soLuongXuat)
                {
                    MsgBox.Show(this.Text, "Số lượng nhập phải lớn hơn hoặc bằng số lượng xuất.", IconType.Information);
                    numSoLuongNhap.Focus();
                    return(false);
                }
            }

            string loThuocGUID = _isNew ? string.Empty : _loThuoc.LoThuocGUID.ToString();
            Result result      = LoThuocBus.CheckLoThuocExistCode(loThuocGUID, txtMaLoThuoc.Text);

            if (result.Error.Code == ErrorCode.EXIST || result.Error.Code == ErrorCode.NOT_EXIST)
            {
                if (result.Error.Code == ErrorCode.EXIST)
                {
                    MsgBox.Show(this.Text, "Mã lô thuốc này đã tồn tại rồi. Vui lòng nhập mã khác.", IconType.Information);
                    txtMaLoThuoc.Focus();
                    return(false);
                }
            }
            else
            {
                MsgBox.Show(this.Text, result.GetErrorAsString("LoThuocBus.CheckLoThuocExistCode"), IconType.Error);
                return(false);
            }

            return(true);
        }
示例#2
0
        private void OnDeleteLoThuoc()
        {
            if (_dictLoThuoc == null)
            {
                return;
            }
            List <string>  deletedLoThuocList = new List <string>();
            List <DataRow> deletedRows        = _dictLoThuoc.Values.ToList();

            if (deletedRows.Count > 0)
            {
                foreach (DataRow row in deletedRows)
                {
                    string key = row["LoThuocGUID"].ToString();
                    Result rs  = LoThuocBus.GetLoThuoc(key);
                    if (!rs.IsOK)
                    {
                        MsgBox.Show(Application.ProductName, rs.GetErrorAsString("LoThuocBus.GetLoThuoc"), IconType.Error);
                        Utility.WriteToTraceLog(rs.GetErrorAsString("LoThuocBus.GetLoThuoc"));
                        return;
                    }

                    LoThuoc lt = rs.QueryResult as LoThuoc;
                    if (lt.SoLuongXuat > 0)
                    {
                        MsgBox.Show(Application.ProductName, string.Format("Lô thuốc: '{0}' này đã xuất rồi không thể xóa.", lt.TenLoThuoc),
                                    IconType.Information);
                        return;
                    }
                }

                if (MsgBox.Question(Application.ProductName, "Bạn có muốn xóa những lô thuốc mà bạn đã đánh dấu ?") == DialogResult.Yes)
                {
                    List <string> noteList = new List <string>();

                    foreach (DataRow row in deletedRows)
                    {
                        string     loThuocGUID = row["LoThuocGUID"].ToString();
                        string     maLoThuoc   = row["MaLoThuoc"].ToString();
                        dlgLyDoXoa dlg         = new dlgLyDoXoa(maLoThuoc, 3);
                        if (dlg.ShowDialog(this) == DialogResult.OK)
                        {
                            noteList.Add(dlg.Notes);
                            deletedLoThuocList.Add(loThuocGUID);
                        }
                    }

                    if (deletedLoThuocList.Count > 0)
                    {
                        Result result = LoThuocBus.DeleteLoThuoc(deletedLoThuocList, noteList);
                        if (result.IsOK)
                        {
                            DataTable dt = dgLoThuoc.DataSource as DataTable;
                            if (dt == null || dt.Rows.Count <= 0)
                            {
                                return;
                            }

                            foreach (string key in deletedLoThuocList)
                            {
                                DataRow[] rows = dt.Select(string.Format("LoThuocGUID='{0}'", key));
                                if (rows == null || rows.Length <= 0)
                                {
                                    continue;
                                }
                                dt.Rows.Remove(rows[0]);

                                _dictLoThuoc.Remove(key);
                                rows = _dtTemp.Select(string.Format("LoThuocGUID='{0}'", key));
                                if (rows != null && rows.Length > 0)
                                {
                                    _dtTemp.Rows.Remove(rows[0]);
                                }
                            }
                        }
                        else
                        {
                            MsgBox.Show(Application.ProductName, result.GetErrorAsString("LoThuocBus.DeleteLoThuoc"), IconType.Error);
                            Utility.WriteToTraceLog(result.GetErrorAsString("LoThuocBus.DeleteLoThuoc"));
                        }
                    }
                }
            }
            else
            {
                MsgBox.Show(Application.ProductName, "Vui lòng đánh dấu những lô thuốc cần xóa.", IconType.Information);
            }
        }