Ejemplo n.º 1
0
        /// <summary>
        /// Increments the number supplied.
        /// </summary>
        /// <param name="num"></param>
        /// <param name="op"></param>
        /// <param name="increment"></param>
        /// <returns></returns>
        public static LNumber CalcUnary(LNumber num, Operator op, double increment)
        {
            var val = num.Value;

            if (op == Operator.PlusPlus)
            {
                val++;
            }
            else if (op == Operator.MinusMinus)
            {
                val--;
            }
            else if (op == Operator.PlusEqual)
            {
                val = val + increment;
            }
            else if (op == Operator.MinusEqual)
            {
                val = val - increment;
            }
            else if (op == Operator.MultEqual)
            {
                val = val * increment;
            }
            else if (op == Operator.DivEqual)
            {
                val = val / increment;
            }
            return(new LNumber(val));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Evalulates a math expression of 2 numbers.
        /// </summary>
        /// <param name="node">The AST node the evaluation is a part of.</param>
        /// <param name="lhs">The number on the left hand side</param>
        /// <param name="rhs">The number on the right hand side</param>
        /// <param name="op">The math operator.</param>
        /// <returns></returns>
        public static LNumber CalcNumbers(AstNode node, LNumber lhs, LNumber rhs, Operator op)
        {
            var left   = lhs.Value;
            var right  = rhs.Value;
            var result = 0.0;

            if (op == Operator.Multiply)
            {
                result = left * right;
            }
            else if (op == Operator.Divide)
            {
                result = left / right;
            }
            else if (op == Operator.Add)
            {
                result = left + right;
            }
            else if (op == Operator.Subtract)
            {
                result = left - right;
            }
            else if (op == Operator.Modulus)
            {
                result = left % right;
            }
            return(new LNumber(result));
        }
Ejemplo n.º 3
0
 public Constant(int constant)
 {
     type    = 2;
     @bool   = false;
     number  = LNumber.makeInteger(constant);
     @string = null;
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Evaluates a math expression of 2 time spans.
        /// </summary>
        /// <param name="node">The AST node the evaluation is a part of.</param>
        /// <param name="lhs">The time on the left hand side</param>
        /// <param name="rhs">The time on the right hand side</param>
        /// <param name="op">The math operator.</param>
        /// <returns></returns>
        public static LBool CompareNumbers(AstNode node, LNumber lhs, LNumber rhs, Operator op)
        {
            var left   = lhs.Value;
            var right  = rhs.Value;
            var result = false;

            if (op == Operator.LessThan)
            {
                result = left < right;
            }
            else if (op == Operator.LessThanEqual)
            {
                result = left <= right;
            }
            else if (op == Operator.MoreThan)
            {
                result = left > right;
            }
            else if (op == Operator.MoreThanEqual)
            {
                result = left >= right;
            }
            else if (op == Operator.EqualEqual)
            {
                result = left == right;
            }
            else if (op == Operator.NotEqual)
            {
                result = left != right;
            }
            return(new LBool(result));
        }
        private void GetFormData()
        {
            string maChiNhanh  = string.Empty;
            string tenChiNhanh = string.Empty;

            maChiNhanh  = lstSourceChiNhanh.ElementAt(cmbChiNhanh.SelectedIndex).KeywordStrings.First();
            tenChiNhanh = lstSourceChiNhanh.ElementAt(cmbChiNhanh.SelectedIndex).DisplayName;

            lstMaPhongGiaoDich = new List <string>();
            foreach (AutoCompleteCheckBox PhongGD in lstSourcePhongGD.Where(e => e.CheckedMember == true))
            {
                lstMaPhongGiaoDich.Add(PhongGD.ValueMember.FirstOrDefault());
            }

            lstMaSanPhamTinDung     = new List <string>();
            lstSourceSanPhamTinDung = cmbSanPham.ItemsSource as ListCheckBoxCombo;
            foreach (AutoCompleteCheckBox SanPhamTD in lstSourceSanPhamTinDung.Where(e => e.CheckedMember == true))
            {
                lstMaSanPhamTinDung.Add(SanPhamTD.ValueMember.FirstOrDefault());
            }

            DateTime tuNgay = new DateTime();

            if (raddtTuNgay.Value is DateTime)
            {
                tuNgay = (DateTime)raddtTuNgay.Value;
            }

            DateTime denNgay = new DateTime();

            if (raddtDenNgay.Value is DateTime)
            {
                denNgay = (DateTime)raddtDenNgay.Value;
            }

            DateTime ngayBaoCao = new DateTime();

            if (raddtNgayBaoCao.Value is DateTime)
            {
                ngayBaoCao = (DateTime)raddtNgayBaoCao.Value;
            }

            string maNgonNgu  = lstSourceNgonNgu.ElementAt(cmbNgonNgu.SelectedIndex).KeywordStrings.First();
            string maDinhDang = lstSourceDinhDang.ElementAt(cmbDinhDang.SelectedIndex).KeywordStrings.First();

            // Gán dữ liệu từ form vào các biến truyền cho báo cáo
            MaChiNhanh  = maChiNhanh;
            TenChiNhanh = tenChiNhanh;
            TuNgay      = (raddtTuNgay.Value is DateTime) ? tuNgay.ToString("yyyyMM") + "01" : "";
            DenNgay     = (raddtDenNgay.Value is DateTime) ? denNgay.ToString("yyyyMM") + LDateTime.GetLastDateOfMonth(denNgay).ToString("dd") : "";
            SoTienTu    = (!LObject.IsNullOrEmpty(numSoTienTu.Value)) ? LNumber.StringToInt32(numSoTienTu.Value.ToString()).ToString() : "";
            SoTienDen   = (!LObject.IsNullOrEmpty(numSoTienDen.Value)) ? LNumber.StringToInt32(numSoTienDen.Value.ToString()).ToString() : "";
            NgayBaoCao  = (raddtNgayBaoCao.Value is DateTime) ? ngayBaoCao.ToString("yyyyMMdd") : "";
            MaNguoiLap  = ClientInformation.TenDangNhap;
            TenNguoiLap = ClientInformation.HoTen;
            MaNgonNgu   = maNgonNgu;
            MaDinhDang  = maDinhDang;
        }
        private void GetFormData()
        {
            string maChiNhanh  = string.Empty;
            string tenChiNhanh = string.Empty;

            maChiNhanh  = lstSourceChiNhanh.ElementAt(cmbChiNhanh.SelectedIndex).KeywordStrings.First();
            tenChiNhanh = lstSourceChiNhanh.ElementAt(cmbChiNhanh.SelectedIndex).DisplayName;

            string maPhongGiaoDich  = string.Empty;
            string tenPhongGiaoDich = string.Empty;

            if (lstSourcePhongGD_Select.Count > 0)
            {
                maPhongGiaoDich  = lstSourcePhongGD_Select.ElementAt(cmbPhongGD.SelectedIndex).KeywordStrings.First();
                tenPhongGiaoDich = lstSourcePhongGD_Select.ElementAt(cmbPhongGD.SelectedIndex).DisplayName;
            }

            MaDonVi = (MaPhongGiaoDich.IsNullOrEmpty() || maPhongGiaoDich.Equals("%")) ? maChiNhanh : maPhongGiaoDich;

            DateTime tuNgay = new DateTime();

            if (raddtTuNgay.Value is DateTime)
            {
                tuNgay = (DateTime)raddtTuNgay.Value;
            }

            DateTime denNgay = new DateTime();

            if (raddtDenNgay.Value is DateTime)
            {
                denNgay = (DateTime)raddtDenNgay.Value;
            }

            DateTime ngayBaoCao = new DateTime();

            if (raddtNgayBaoCao.Value is DateTime)
            {
                ngayBaoCao = (DateTime)raddtNgayBaoCao.Value;
            }

            string maNgonNgu  = lstSourceNgonNgu.ElementAt(cmbNgonNgu.SelectedIndex).KeywordStrings.First();
            string maDinhDang = lstSourceDinhDang.ElementAt(cmbDinhDang.SelectedIndex).KeywordStrings.First();

            // Gán dữ liệu từ form vào các biến truyền cho báo cáo
            MaChiNhanh       = maChiNhanh;
            TenChiNhanh      = tenChiNhanh;
            MaPhongGiaoDich  = maPhongGiaoDich;
            TenPhongGiaoDich = tenPhongGiaoDich;
            TuNgay           = (raddtTuNgay.Value is DateTime) ? tuNgay.ToString("yyyyMM") + "01" : "";
            DenNgay          = (raddtDenNgay.Value is DateTime) ? denNgay.ToString("yyyyMM") + LDateTime.GetLastDateOfMonth(denNgay).ToString("dd") : "";
            SoTienTu         = (!LObject.IsNullOrEmpty(numSoTienTu.Value)) ? LNumber.StringToInt32(numSoTienTu.Value.ToString()).ToString() : "";
            SoTienDen        = (!LObject.IsNullOrEmpty(numSoTienDen.Value)) ? LNumber.StringToInt32(numSoTienDen.Value.ToString()).ToString() : "";
            NgayBaoCao       = (raddtNgayBaoCao.Value is DateTime) ? ngayBaoCao.ToString("yyyyMMdd") : "";
            MaNguoiLap       = ClientInformation.TenDangNhap;
            TenNguoiLap      = ClientInformation.HoTen;
            MaNgonNgu        = maNgonNgu;
            MaDinhDang       = maDinhDang;
        }
 private void GetValuesOnForm()
 {
     try
     {
         KhachHangProcess khProcess = new KhachHangProcess();
         dsKhachHang = khProcess.getThongTinKHTheoID(_idKhachHang);
         DataTable dtKhangHSo = null;
         if (chkInMauMoi.IsChecked == false)
         {
             if (dsKhachHang != null && dsKhachHang.Tables.Count > 0)
             {
                 dtKhangHSo   = dsKhachHang.Tables[0];
                 tenkhachhang = dtKhangHSo.Rows[0]["ten_khang"].ToString();
                 diachi       = dtKhangHSo.Rows[0]["dia_chi"].ToString();
                 gioitinh     = dtKhangHSo.Rows[0]["DD_GIOI_TINH"].ToString();
                 ngaysinh     = dtKhangHSo.Rows[0]["DD_NGAY_SINH"].ToString();
                 socmnd       = dtKhangHSo.Rows[0]["DD_GTLQ_SO"].ToString();
                 ngaycap      = dtKhangHSo.Rows[0]["DD_GTLQ_NGAY_CAP"].ToString();
                 noicap       = dtKhangHSo.Rows[0]["DD_GTLQ_NOI_CAP"].ToString();
                 sosohokhau   = dtKhangHSo.Rows[0]["SO_HO_KHAU"].ToString();
                 DataRowView drv = (DataRowView)raddgrThongTinDon.SelectedItem;
                 sTenMucDichVay = drv["TEN_DMUC"].ToString();
             }
             makhachhang = txtMaKhachHang.Text.Trim();
             idkhachhang = _idKhachHang.ToString();
             DataRowView dr = (DataRowView)raddgrThongTinDon.SelectedItem;
             sotienvay = LNumber.ToDecimal(dr["SO_TIEN_XIN_VAY"]).ToString();
             maDXVV    = dr["MA_DXVV"].ToString();
             masanpham = dr["MA_SAN_PHAM"].ToString();
         }
         else
         {
             makhachhang    = "";
             idkhachhang    = _idKhachHang.ToString();
             sotienvay      = "0";
             maDXVV         = "";
             masanpham      = "";
             tenkhachhang   = "";
             diachi         = "";
             gioitinh       = "";
             ngaysinh       = "";
             socmnd         = "";
             ngaycap        = "";
             noicap         = "";
             sosohokhau     = "";
             sTenMucDichVay = "";
         }
         ngaybaocao = ClientInformation.NgayLamViecHienTai;
         mangonngu  = lstSourceNgonNgu.ElementAt(cmbNgonNgu.SelectedIndex).KeywordStrings.FirstOrDefault();
         madinhdang = lstSourceDinhDang.ElementAt(cmbDinhDang.SelectedIndex).KeywordStrings.FirstOrDefault();
     }
     catch (Exception ex)
     {
         LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
     }
 }
Ejemplo n.º 8
0
        public static LNumber IncrementNumber(UnaryExpr expr, LNumber val, IAstVisitor visitor)
        {
            var inc = expr.Increment == 0 ? 1 : expr.Increment;

            if (expr.Expression != null)
            {
                var incval = expr.Expression.Evaluate(visitor);

                inc = ((LNumber)incval).Value;
            }

            // 1. Calculate the unary value
            val = ComLib.Lang.Runtime.EvalHelper.CalcUnary(val, expr.Op, inc);

            // 2. Set the value back into scope
            expr.Ctx.Memory.SetValue(expr.Name, val);
            return(val);
        }
        private void SetGtriTong(List <DataRow> lst)
        {
            decimal soTaiSan     = 0;
            decimal tongGiaTriTS = 0;
            decimal tongGiaTriDB = 0;

            if (lst != null && lst.Count > 0)
            {
                foreach (DataRow dr in lst)
                {
                    tongGiaTriTS += LNumber.ToDecimal(dr["GTRI_TAI_SAN"]);
                    tongGiaTriDB += LNumber.ToDecimal(dr["GTRI_DAM_BAO"]);
                    soTaiSan++;
                }
            }
            lblSumTaiSan.Content   = soTaiSan.ToString();
            lblSumGiaTriTS.Content = tongGiaTriTS.ToString("0,0.#");
            lblSumGiaTriDB.Content = tongGiaTriDB.ToString("0,0.#");
        }
Ejemplo n.º 10
0
        private LNumber IncrementNumber(LNumber val)
        {
            this.DataType = typeof(double);
            var inc = this.Increment == 0 ? 1 : this.Increment;

            if (this.Expression != null)
            {
                var incval = this.Expression.Evaluate();
                // TODO: Check if null and throw langexception?
                inc = ((LNumber)incval).Value;
            }

            // 1. Calculate the unary value
            val = EvalHelper.CalcUnary(val, Op, inc);

            // 2. Set the value back into scope
            this.Value = val;
            this.Ctx.Memory.SetValue(this.Name, val);
            return(val);
        }
Ejemplo n.º 11
0
        private void TToanTrichLapDuPhongChiPhi()
        {
            decimal decXuLyGoc  = Convert.ToDecimal(txtXuKyDuNoGoc.Value);
            decimal decXyLyLai  = Convert.ToDecimal(txtXuKyDuNoLai.Value);
            decimal decTongXuLy = decXuLyGoc + decXyLyLai;
            decimal decDPCuThe  = 0;
            decimal decDPChung  = 0;

            if (_decDuPhongCuThe <= (decXuLyGoc - _decTongTaiSan))
            {
                txtDuPhongCuThe.Value = Convert.ToDouble(_decDuPhongCuThe);
            }
            else if (_decDuPhongCuThe > (decXuLyGoc - _decTongTaiSan))
            {
                txtDuPhongCuThe.Value = Convert.ToDouble(decXuLyGoc - _decTongTaiSan);
            }
            decDPCuThe = Convert.ToDecimal(txtDuPhongCuThe.Value);

            if ((decXuLyGoc - _decTongTaiSan - decDPCuThe) > 0 && (decXuLyGoc - _decTongTaiSan - decDPCuThe) < _decDuPhongChung)
            {
                txtDuPhongChung.Value = LNumber.ToDouble(decXuLyGoc - _decTongTaiSan - decDPCuThe);
            }
            else if ((decXuLyGoc - _decTongTaiSan - decDPCuThe) > 0 && (decXuLyGoc - _decTongTaiSan - decDPCuThe) > _decDuPhongChung)
            {
                txtDuPhongChung.Value = Convert.ToDouble(_decDuPhongChung);
            }
            else
            {
                txtDuPhongChung.Value = 0;
            }
            decDPChung = Convert.ToDecimal(txtDuPhongChung.Value);

            if ((decXuLyGoc - _decTongTaiSan - decDPCuThe - decDPChung) > 0)
            {
                txtChiPhi.Value = Convert.ToDouble(decXuLyGoc - _decTongTaiSan - decDPCuThe - decDPChung);
            }
            else
            {
                txtChiPhi.Value = 0;
            }
        }
Ejemplo n.º 12
0
 public Constant(LObject constant)
 {
     if (constant is LNil)
     {
         type    = 0;
         @bool   = false;
         number  = null;
         @string = null;
     }
     else if (constant is LBoolean)
     {
         type    = 1;
         @bool   = constant == LBoolean.LTRUE;
         number  = null;
         @string = null;
     }
     else if (constant is LNumber)
     {
         type    = 2;
         @bool   = false;
         number  = (LNumber)constant;
         @string = null;
     }
     else if (constant is LString)
     {
         type    = 3;
         @bool   = false;
         number  = null;
         @string = ((LString)constant).deref();
     }
     else if (constant == null)
     {
         throw new Exception("Constant is null!");
     }
     else
     {
         throw new Exception("Illegal constant type: " + constant.ToString());
     }
 }
Ejemplo n.º 13
0
        private void GetFormData(ref List <DC_HAN_MUC> lstObjHanMuc)
        {
            try
            {
                lstObjHanMuc = new List <DC_HAN_MUC>();

                #region Thông tin hạn mức giao dịch
                DC_HAN_MUC objHMGiaoDich = new DC_HAN_MUC();
                objHMGiaoDich.ID             = 0;
                objHMGiaoDich.MA_DTUONG_LOAI = lstLoaiDoiTuong.ElementAt(cmbLoaiDoiTuong.SelectedIndex).KeywordStrings.First();
                objHMGiaoDich.ID_DTUONG      = LNumber.StringToInt32(txtMaDoiTuong.Tag.ToString());
                objHMGiaoDich.MA_DTUONG      = txtMaDoiTuong.Text;
                objHMGiaoDich.LOAI_HAN_MUC   = BusinessConstant.LOAI_HAN_MUC.CHUNG.layGiaTri();
                objHMGiaoDich.ID_CNANG       = null;
                objHMGiaoDich.MA_CNANG       = null;
                objHMGiaoDich.ID_TNANG       = null;
                objHMGiaoDich.MA_TNANG       = "ADD";
                objHMGiaoDich.MIN            = 0;
                if (chkHMGiaoDichToiDa.IsChecked == false)
                {
                    objHMGiaoDich.MAX = (decimal)numHMGiaoDich.Value;
                }

                objHMGiaoDich.NGAY_ADUNG = LDateTime.DateToString(teldtNgayHieuLuc.Value.Value, "yyyyMMdd");
                if (teldtNgayHetHieuLuc.Value is DateTime)
                {
                    objHMGiaoDich.NGAY_HHAN = LDateTime.DateToString(teldtNgayHetHieuLuc.Value.Value, "yyyyMMdd");
                }

                //Thông tin kiểm soát
                objHMGiaoDich.TTHAI_BGHI = BusinessConstant.TrangThaiBanGhi.SU_DUNG.layGiaTri();
                objHMGiaoDich.TTHAI_NVU  = BusinessConstant.TrangThaiNghiepVu.DA_DUYET.layGiaTri();
                objHMGiaoDich.MA_DVI_QLY = ClientInformation.MaDonVi;
                objHMGiaoDich.MA_DVI_TAO = ClientInformation.MaDonViGiaoDich;
                objHMGiaoDich.NGAY_NHAP  = ClientInformation.NgayLamViecHienTai;
                objHMGiaoDich.NGUOI_NHAP = ClientInformation.TenDangNhap;
                if (_action == DatabaseConstant.Action.SUA)
                {
                    objHMGiaoDich.NGAY_CNHAT  = ClientInformation.NgayLamViecHienTai;
                    objHMGiaoDich.NGUOI_CNHAT = ClientInformation.TenDangNhap;
                }

                lstObjHanMuc.Add(objHMGiaoDich);
                #endregion

                #region Thông tin hạn mức phê duyệt
                DC_HAN_MUC objHMPheDuyet = new DC_HAN_MUC();
                objHMPheDuyet.ID             = 0;
                objHMPheDuyet.MA_DTUONG_LOAI = lstLoaiDoiTuong.ElementAt(cmbLoaiDoiTuong.SelectedIndex).KeywordStrings.First();
                objHMPheDuyet.ID_DTUONG      = LNumber.StringToInt32(txtMaDoiTuong.Tag.ToString());
                objHMPheDuyet.MA_DTUONG      = txtMaDoiTuong.Text;
                objHMPheDuyet.LOAI_HAN_MUC   = BusinessConstant.LOAI_HAN_MUC.CHUNG.layGiaTri();
                objHMPheDuyet.ID_CNANG       = null;
                objHMPheDuyet.MA_CNANG       = null;
                objHMPheDuyet.ID_TNANG       = null;
                objHMPheDuyet.MA_TNANG       = "APPROVE";
                objHMPheDuyet.MIN            = 0;
                if (chkHMPheDuyetToiDa.IsChecked == false)
                {
                    objHMPheDuyet.MAX = (decimal)numHMPheDuyet.Value;
                }

                objHMPheDuyet.NGAY_ADUNG = LDateTime.DateToString(teldtNgayHieuLuc.Value.Value, "yyyyMMdd");
                if (teldtNgayHetHieuLuc.Value is DateTime)
                {
                    objHMPheDuyet.NGAY_HHAN = LDateTime.DateToString(teldtNgayHetHieuLuc.Value.Value, "yyyyMMdd");
                }

                //Thông tin kiểm soát
                objHMPheDuyet.TTHAI_BGHI = BusinessConstant.TrangThaiBanGhi.SU_DUNG.layGiaTri();
                objHMPheDuyet.TTHAI_NVU  = BusinessConstant.TrangThaiNghiepVu.DA_DUYET.layGiaTri();
                objHMPheDuyet.MA_DVI_QLY = ClientInformation.MaDonVi;
                objHMPheDuyet.MA_DVI_TAO = ClientInformation.MaDonViGiaoDich;
                objHMPheDuyet.NGAY_NHAP  = ClientInformation.NgayLamViecHienTai;
                objHMPheDuyet.NGUOI_NHAP = ClientInformation.TenDangNhap;
                if (_action == DatabaseConstant.Action.SUA)
                {
                    objHMPheDuyet.NGAY_CNHAT  = ClientInformation.NgayLamViecHienTai;
                    objHMPheDuyet.NGUOI_CNHAT = ClientInformation.TenDangNhap;
                }

                lstObjHanMuc.Add(objHMPheDuyet);
                #endregion
            }
            catch (Exception ex)
            {
                LLogging.WriteLog(System.Reflection.MethodInfo.GetCurrentMethod().ToString(), LLogging.LogType.ERR, ex);
                throw ex;
            }
        }
Ejemplo n.º 14
0
        private MatchResult CheckExpressionMatches(CompilerPlugin plugin, List <TokenMatch> matches, Dictionary <string, object> args, int peekCount, int matchCount)
        {
            var isMatch      = true;
            var token        = peekCount == 0 ? this.TokenIt.NextToken : this.TokenIt.Peek(peekCount);
            var totalMatched = matchCount;

            foreach (var match in matches)
            {
                var continueCheck  = false;
                var trackNamedArgs = true;
                var valueMatched   = false;

                // Termninators
                if (match.TokenType == "@exprTerminators" &&
                    (Terminators.ExpFlexibleEnd.ContainsKey(token.Token) || Terminators.ExpThenEnd.ContainsKey(token.Token))
                    )
                {
                    // Don't increment the peekcount
                    isMatch = totalMatched >= plugin.TotalRequiredMatches;
                    break;
                }
                // Check for ";" and EOF ( end of file/text )
                if (token.Token == Tokens.Semicolon || token.Token == Tokens.EndToken)
                {
                    isMatch = totalMatched >= plugin.TotalRequiredMatches;
                    break;
                }

                // Check 1: Group tokens ?
                if (match.IsGroup)
                {
                    var submatches = ((TokenGroup)match).Matches;
                    var result     = CheckExpressionMatches(plugin, submatches, args, peekCount, totalMatched);
                    if (match.IsRequired && !result.Success)
                    {
                        isMatch = false;
                        break;
                    }
                    if (result.Success)
                    {
                        peekCount = result.TokenCount;
                        if (match.IsRequired)
                        {
                            totalMatched += result.TotalMatched;
                        }
                    }
                }
                // Check 2: starttoken?
                else if (match.TokenType == "@starttoken")
                {
                    continueCheck = true;
                    totalMatched++;
                }
                // Check 2a: tokenmap1
                else if (match.TokenType == "@tokenmap1")
                {
                    if (plugin.TokenMap1 == null || !plugin.TokenMap1.ContainsKey(token.Token.Text))
                    {
                        isMatch = false;
                        break;
                    }
                    continueCheck = true;
                    totalMatched++;
                }
                else if (match.TokenType == "@tokenmap2")
                {
                    if (plugin.TokenMap2 == null || !plugin.TokenMap2.ContainsKey(token.Token.Text))
                    {
                        isMatch = false;
                        break;
                    }
                    continueCheck = true;
                    totalMatched++;
                }
                // Check 2c: "identSymbol" must exist
                else if (match.TokenType == "@identsymbol")
                {
                    var symbolExists = this.Symbols.Contains(token.Token.Text);
                    continueCheck = symbolExists;
                    if (!continueCheck)
                    {
                        isMatch = false;
                        break;
                    }
                    totalMatched++;
                }
                // Check 2c: "identSymbol" must exist
                else if (match.TokenType == "@singularsymbol")
                {
                    var plural       = token.Token.Text + "s";
                    var symbolExists = this.Symbols.Contains(plural);
                    continueCheck = symbolExists;
                    if (!continueCheck)
                    {
                        isMatch = false;
                        break;
                    }
                    totalMatched++;
                }
                // Check 2d: paramlist = @word ( , @word )* parameter names
                else if (match.TokenType == "@paramnames")
                {
                    var isvalidParamList = true;
                    var maxParams        = 10;
                    var totalParams      = 0;
                    var paramList        = new List <object>();

                    while (totalParams <= maxParams)
                    {
                        var token2 = this.TokenIt.Peek(peekCount, false);
                        if (token2.Token == Tokens.Comma)
                        {
                            peekCount++;
                        }
                        else if (token2.Token.Kind == TokenKind.Ident)
                        {
                            paramList.Add(token2.Token.Text);
                            peekCount++;
                        }
                        else
                        {
                            peekCount--;
                            break;
                        }
                        totalParams++;
                    }
                    isMatch       = isvalidParamList;
                    continueCheck = isMatch;
                    if (continueCheck)
                    {
                        trackNamedArgs = false;
                        if (!string.IsNullOrEmpty(match.Name))
                        {
                            args[match.Name]           = token;
                            args[match.Name + "Value"] = new LArray(paramList);
                        }
                        totalMatched++;
                    }
                    else
                    {
                        break;
                    }
                }
                // Check 3a: Optional words with text
                else if (!match.IsRequired && match.Text != null && match.Text != token.Token.Text)
                {
                    continueCheck = false;
                }
                // Check 3b: Optional words matched
                else if (!match.IsRequired && match.IsMatchingValue(token.Token))
                {
                    continueCheck = true;
                }
                // Check 4: Optional word not matched
                else if (!match.IsRequired && !match.IsMatchingValue(token.Token))
                {
                    continueCheck = false;
                }
                // Check 5a: Expected word
                else if (match.IsRequired && match.TokenType == null && match.Text == token.Token.Text)
                {
                    continueCheck = true;
                    totalMatched++;
                }
                // Check 5b: Expected word in list
                else if (match.IsRequired && match.TokenType == null && match.Values != null)
                {
                    if (!match.IsMatchingValue(token.Token))
                    {
                        isMatch = false;
                        break;
                    }
                    continueCheck = true;
                    valueMatched  = true;
                    totalMatched++;
                }
                // Check 6: check the type of n1
                else if (match.IsMatchingType(token.Token))
                {
                    continueCheck = true;
                    totalMatched++;
                }
                else
                {
                    isMatch = false;
                    break;
                }
                if (continueCheck)
                {
                    if (!string.IsNullOrEmpty(match.Name) && trackNamedArgs)
                    {
                        args[match.Name] = token;
                        if (match.TokenPropEnabled)
                        {
                            // 1. figure out which token map to use.
                            var lookupmap = plugin.StartTokenMap;

                            if (match.TokenType == "@tokenmap1")
                            {
                                lookupmap = plugin.TokenMap1;
                            }
                            else if (match.TokenType == "@tokenmap2")
                            {
                                lookupmap = plugin.TokenMap2;
                            }

                            // Case 1: Start token replacement value
                            if (match.TokenPropValue == "value")
                            {
                                var startToken = token.Token.Text;
                                args[match.Name + "Value"] = lookupmap[startToken];
                            }
                            // Case 2: Token value
                            else if (match.TokenPropValue == "tvalue")
                            {
                                LObject val = LObjects.Null;
                                if (match.TokenType == "@number")
                                {
                                    val = new LNumber((double)token.Token.Value);
                                }
                                else if (match.TokenType == "@time")
                                {
                                    val = new LTime((TimeSpan)token.Token.Value);
                                }
                                else if (match.TokenType == "@word")
                                {
                                    val = new LString((string)token.Token.Value);
                                }
                                else if (match.TokenType == "@starttoken")
                                {
                                    val = new LString(token.Token.Text);
                                }
                                args[match.Name + "Value"] = val;
                            }
                            // Case 2: Token value
                            else if (match.TokenPropValue == "tvaluestring")
                            {
                                LObject val = LObjects.Null;
                                if (match.TokenType == "@number")
                                {
                                    val = new LString(((double)token.Token.Value).ToString(CultureInfo.InvariantCulture));
                                }
                                else if (match.TokenType == "@time")
                                {
                                    val = new LString(((TimeSpan)token.Token.Value).ToString());
                                }
                                else if (match.TokenType == "@starttoken")
                                {
                                    val = new LString(token.Token.Text);
                                }
                                else if (match.TokenType == "@word")
                                {
                                    val = new LString(token.Token.Text);
                                }
                                else if (match.TokenType == "@singularsymbol")
                                {
                                    val = new LString(token.Token.Text);
                                }
                                args[match.Name + "Value"] = val;
                            }
                        }
                        // matching values
                        else if (valueMatched)
                        {
                            args[match.Name + "Value"] = token.Token.Text;
                        }
                    }
                    // Matched: increment.
                    peekCount++;
                    token = this.TokenIt.Peek(peekCount, false);
                }
            }
            var res = new MatchResult(isMatch, null, args);

            res.TotalMatched = totalMatched;
            res.TokenCount   = peekCount;
            return(res);
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Lay cac gia tri tren form
        /// </summary>
        private void GetFormValues()
        {
            MaChiNhanh = "%";

            //Lay thong tin ma don vi lon nhat
            MaToChuc = ClientInformation.MaToChuc;

            //lay thong tin ma don vi quan ly
            MaDonViQuanLy = ClientInformation.MaDonViQuanLy;

            //Lay thong tin ma chi nhanh
            MaChiNhanh = lstSourceChiNhanh.ElementAt(cmbChiNhanh.SelectedIndex).KeywordStrings.First();

            if (raddtThangBaoCao.Value == null)
            {
                LMessage.ShowMessage("Chọn tháng báo cáo!", LMessage.MessageBoxType.Error);
                raddtThangBaoCao.Focus();
                return;
            }

            if (raddtNgayBaoCao.Value == null)
            {
                LMessage.ShowMessage("Chọn ngày báo cáo!", LMessage.MessageBoxType.Error);
                raddtNgayBaoCao.Focus();
                return;
            }

            //Lay gia tri tungay, denngay
            DateTime dtNgayBC = new DateTime();

            if (raddtThangBaoCao.Value is DateTime)
            {
                dtNgayBC   = raddtThangBaoCao.Value != null ? (DateTime)raddtThangBaoCao.Value : DateTime.Now;
                NgayBaoCao = raddtNgayBaoCao.Value != null ? ((DateTime)raddtNgayBaoCao.Value).ToString("yyyyMMdd") : DateTime.Now.ToString("yyyyMMdd");
                TuNgay     = dtNgayBC.GetFirstDateOfMonth(ApplicationConstant.defaultDateTimeFormat);
                DenNgay    = dtNgayBC.GetLastDateOfMonth(ApplicationConstant.defaultDateTimeFormat);
            }
            else
            {
                dtNgayBC   = LDateTime.StringToDate(ClientInformation.NgayLamViecHienTai, ApplicationConstant.defaultDateTimeFormat);
                NgayBaoCao = ClientInformation.NgayLamViecHienTai;
                TuNgay     = dtNgayBC.GetFirstDateOfMonth(ApplicationConstant.defaultDateTimeFormat);
                DenNgay    = dtNgayBC.GetLastDateOfMonth(ApplicationConstant.defaultDateTimeFormat);
            }

            //lay thong tin nguoi dang nhap
            //MaNguoiLap = ClientInformation.TenDangNhap;

            //lay thong tin ten nguoi dang nhap
            //TenNguoiLap = ClientInformation.HoTen;

            //lay thong tin ma mau bieu
            //MaMauBieu = "BCTK_BANG_CAN_DOI";

            //Lay thong tin ten don vi
            //TenChiNhanh = ClientInformation.TenDonVi;

            CapTaiKhoan = LNumber.StringToInt32(nudCap.Value.ToString());
            LanTaoThu   = LNumber.StringToInt32(nudLanTaoThu.Value.ToString());

            //lay thong tin loai ngon ngu
            MaNgonNgu = lstSourceNgonNgu.ElementAt(cmbNgonNgu.SelectedIndex).KeywordStrings.First();

            //lay thong tin ma dinh dang
            MaDinhDang = ApplicationConstant.LoaiDinhDangBaoCao.TEXT.layGiaTri(); //lstSourceDinhDang.ElementAt(cmbDinhDang.SelectedIndex).KeywordStrings.First();
        }
Ejemplo n.º 16
0
        private void LoadComboboxKhuVuc()
        {
            if (cmbPhongGD.SelectedIndex >= 0)
            {
                // khởi tạo combobox
                string maPhongGD = lstSourcePhongGD_Select.ElementAt(cmbPhongGD.SelectedIndex).KeywordStrings.First();
                string idPhongGD = lstSourcePhongGD_Select.ElementAt(cmbPhongGD.SelectedIndex).KeywordStrings[3];

                // khởi tạo combobox
                var     results = dtSourceKhuVuc.AsEnumerable().Select(x => x).Where(x => x.Field <int>("ID_DVI").Equals(LNumber.StringToInt32(idPhongGD))).ToList();
                DataRow dataRow = dtSourceKhuVuc.NewRow();
                dataRow[0] = "0";
                dataRow[1] = "0";
                dataRow[2] = LLanguage.SearchResourceByKey("U.BaoCao.KhachHangCaNhan");
                results.Add(dataRow);
                if (results.Count() > 0)
                {
                    dtSourceKhuVuc_Select = results.CopyToDataTable();
                    new AutoComboBoxListCheckes().GenAutoComboBox(dtSourceKhuVuc_Select, ref cmbKhuVuc);
                }
            }
        }
Ejemplo n.º 17
0
        private void LoadGridViewCum()
        {
            if (cmbKhuVuc.SelectedIndex >= 0)
            {
                string maKhuVuc = lstSourceKhuVuc_Select.ElementAt(cmbKhuVuc.SelectedIndex).KeywordStrings.First();
                string idKhuVuc = lstSourceKhuVuc_Select.ElementAt(cmbKhuVuc.SelectedIndex).KeywordStrings[1];

                dtSourceCum_Select = new DataTable();
                var results = dtSourceCum.AsEnumerable().Select(x => x).Where(x => x.Field <int>("ID_KVUC").Equals(LNumber.StringToInt32(idKhuVuc)));
                if (results.Count() > 0)
                {
                    dtSourceCum_Select = results.CopyToDataTable();
                }
                if (!LObject.IsNullOrEmpty(dtSourceCum_Select) && dtSourceCum_Select.Rows.Count > 0)
                {
                    grCum.ItemsSource = dtSourceCum_Select;
                    grCum.IsEnabled   = true;
                }
                else
                {
                    grCum.ItemsSource = null;
                }
            }
            else
            {
                grCum.ItemsSource = null;
                grCum.IsEnabled   = false;
            }
        }
Ejemplo n.º 18
0
        private void LoadComboboxKhuVuc()
        {
            if (cmbPhongGD.SelectedIndex >= 0)
            {
                // khởi tạo combobox
                string maPhongGD = lstSourcePhongGD_Select.ElementAt(cmbPhongGD.SelectedIndex).KeywordStrings.First();
                string idPhongGD = lstSourcePhongGD_Select.ElementAt(cmbPhongGD.SelectedIndex).KeywordStrings[3];

                // khởi tạo combobox
                var results = dtSourceKhuVuc.AsEnumerable().Select(x => x).Where(x => x.Field <int>("ID_DVI").Equals(LNumber.StringToInt32(idPhongGD))).ToList();

                if (results.Count() > 0)
                {
                    dtSourceKhuVuc_Select = results.CopyToDataTable();
                    new AutoComboBoxListCheckes().GenAutoComboBox(dtSourceKhuVuc_Select, ref cmbKhuVuc);
                }
            }
        }
Ejemplo n.º 19
0
        private void LoadGridViewKhuVuc()
        {
            if (cmbPhongGD.SelectedIndex >= 0)
            {
                string maPhongGiaoDich = lstSourcePhongGD_Select.ElementAt(cmbPhongGD.SelectedIndex).KeywordStrings.First();
                string idPhongGiaoDich = lstSourcePhongGD_Select.ElementAt(cmbPhongGD.SelectedIndex).KeywordStrings[3];

                var results = dtSourceKhuVuc.AsEnumerable().Select(x => x).Where(x => x.Field <int>("ID_DVI").Equals(LNumber.StringToInt32(idPhongGiaoDich))).ToList();
                if (!LObject.IsNullOrEmpty(results) && results.Count() > 0)
                {
                    dtSourceKhuVuc_Select = results.CopyToDataTable();
                    grKhuVuc.ItemsSource  = dtSourceKhuVuc_Select;
                }
                else
                {
                    grKhuVuc.ItemsSource = null;
                }
            }

            grCum.ItemsSource = null;
        }
        private void GetFormData(ref TDTD_HOP_DONG_TCHAP obj, BusinessConstant.TrangThaiNghiepVu tthaiNVu)
        {
            try
            {
                obj            = new TDTD_HOP_DONG_TCHAP();
                obj.ID         = idHDTC;
                obj.MA_HDTC    = txtSoHopDong.Text;
                obj.MA_KHANG   = txtMaKH.Text;
                obj.NGAY_HDTC  = teldtNgayHopDong.Value.Value.ToString("yyyyMMdd");
                lstTSDB        = raddgrDSachTSDB.ItemsSource as List <DataRow>;
                obj.SO_PLUC_HD = soPhuLucTC;
                if (idHDTC == 0)
                {
                    obj.MA_DVI_QLY = ClientInformation.MaDonVi;
                    obj.MA_DVI_TAO = ClientInformation.MaDonViGiaoDich;
                    obj.NGAY_NHAP  = ClientInformation.NgayLamViecHienTai;
                    obj.NGUOI_NHAP = ClientInformation.TenDangNhap;
                    obj.TTHAI_BGHI = BusinessConstant.TrangThaiBanGhi.SU_DUNG.layGiaTri();
                }
                else
                {
                    obj.MA_DVI_QLY  = maDviQLy;
                    obj.MA_DVI_TAO  = maDViTao;
                    obj.NGAY_NHAP   = teldtNgayNhap.Value.GetValueOrDefault().ToString(ApplicationConstant.defaultDateTimeFormat);
                    obj.NGUOI_NHAP  = txtNguoiLap.Text;
                    obj.NGAY_CNHAT  = ClientInformation.NgayLamViecHienTai;
                    obj.NGUOI_CNHAT = ClientInformation.TenDangNhap;
                    obj.TTHAI_BGHI  = BusinessConstant.TrangThaiBanGhi.SU_DUNG.layGiaTri();
                }
                obj.TTHAI_NVU = tthaiNVu.layGiaTri();
                obj.DIEN_GIAI = txtDienGiai.Text;

                List <TDTD_TAI_SAN_DAM_BAO> lstTaiSan = new List <TDTD_TAI_SAN_DAM_BAO>();
                foreach (DataRow dr in lstTSDB)
                {
                    TDTD_TAI_SAN_DAM_BAO objTS = new TDTD_TAI_SAN_DAM_BAO();
                    objTS.ID              = LNumber.StringToInt32(dr["ID"].ToString());
                    objTS.MA_TSDB         = dr["MA_TSDB"].ToString();
                    objTS.TEN_TSDB        = dr["TEN_TSDB"].ToString();
                    objTS.MA_LOAI_TSDB    = dr["MA_LOAI_TSDB"].ToString();
                    objTS.SO_SO_TK        = dr["SO_SO_TK"].ToString();
                    objTS.MO_TAI_LMF      = dr["MO_TAI_LMF"].ToString();
                    objTS.GIA_TRI_TAI_SAN = LNumber.ToDecimal(dr["GTRI_TAI_SAN"].ToString());
                    objTS.TI_LE_DAM_BAO   = LNumber.ToDecimal(dr["TI_LE_DAM_BAO"].ToString());
                    objTS.GIA_TRI_DAM_BAO = LNumber.ToDecimal(dr["GTRI_DAM_BAO"].ToString());
                    objTS.DIEN_GIAI       = dr["DIEN_GIAI"].ToString();
                    objTS.TTHAI_BGHI      = dr["TTHAI_BGHI"].ToString();
                    objTS.TTHAI_NVU       = dr["TTHAI_NVU"].ToString();
                    objTS.MA_DVI_QLY      = dr["MA_DVI_QLY"].ToString();
                    objTS.MA_DVI_TAO      = dr["MA_DVI_TAO"].ToString();
                    objTS.NGAY_NHAP       = dr["NGAY_NHAP"].ToString();
                    objTS.NGUOI_NHAP      = dr["NGUOI_NHAP"].ToString();
                    objTS.NGAY_CNHAT      = dr["NGAY_CNHAT"].ToString();
                    objTS.NGUOI_CNHAT     = dr["NGUOI_CNHAT"].ToString();

                    lstTaiSan.Add(objTS);
                }
                obj.DSACH_TAI_SAN_DBAO = lstTaiSan.ToArray();
                obj.TONG_GIA_TRI       = lstTaiSan.Sum(f => f.GIA_TRI_DAM_BAO);
                if (lstIDXoa.IsNullOrEmpty())
                {
                    lstIDXoa = new List <int>();
                }
                obj.DSACH_ID_XOA = lstIDXoa.ToArray();
            }
            catch (Exception ex)
            {
                LLogging.WriteLog(System.Reflection.MethodInfo.GetCurrentMethod().ToString(), LLogging.LogType.ERR, ex);
                throw ex;
            }
        }
        /// <summary>
        /// Thuc hien tong hop
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tlbView_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                Mouse.OverrideCursor = Cursors.Wait;
                // Lấy dữ liệu từ form điều kiện
                List <HT_BAOCAO_TSO>    listHtBaoCaoTso  = lstHtBaoCaoTso;
                List <ThamSoBaoCao>     listThamSoBaoCao = new List <ThamSoBaoCao>();
                DatabaseConstant.Action action           = DatabaseConstant.Action.IN;

                listThamSoBaoCao = this.GetParameters();

                int soNgayTongHop = LDateTime.CountDayBetweenDates(
                    LDateTime.StringToDate(TuNgay, ApplicationConstant.defaultDateTimeFormat),
                    LDateTime.StringToDate(DenNgay, ApplicationConstant.defaultDateTimeFormat));
                progbarTongHop.Minimum = 0;
                progbarTongHop.Maximum = soNgayTongHop + INT_ONE;
                progbarTongHop.Value   = 0;
                UpdateProgressBarDelegate updatePbDelegate = new UpdateProgressBarDelegate(progbarTongHop.SetValue);
                string tuNgay = TuNgay;
                double value  = INT_ZERO;
                progbarPercent.Content = "0%";
                do
                {
                    processDate.Content = LDateTime.StringToDate(tuNgay, ApplicationConstant.defaultDateTimeFormat).DateToString("dd/MM/yyyy");
                    DataSet ds = new DataSet();
                    // Chuẩn bị điều kiện cho báo cáo
                    if (listThamSoBaoCao != null && listThamSoBaoCao.Count > 0)
                    {
                        listHtBaoCaoTso = new List <HT_BAOCAO_TSO>();
                        foreach (ThamSoBaoCao thamSoBaoCao in listThamSoBaoCao)
                        {
                            HT_BAOCAO_TSO tso = new HT_BAOCAO_TSO();
                            tso.MA_TSO   = thamSoBaoCao.MaThamSo;
                            tso.LOAI_TSO = thamSoBaoCao.LoaiThamSo;
                            if (tso.MA_TSO != "@TuNgay" && tso.MA_TSO != "@DenNgay")
                            {
                                tso.GTRI_TSO = thamSoBaoCao.GiaTriThamSo;
                            }
                            else
                            {
                                tso.GTRI_TSO = tuNgay;
                            }

                            listHtBaoCaoTso.Add(tso);
                            if (!LObject.IsNullOrEmpty(thamSoBaoCao.DsThamSo))
                            {
                                ds = thamSoBaoCao.DsThamSo;
                            }
                        }
                    }
                    ApplicationConstant.ResponseStatus retStatus = ApplicationConstant.ResponseStatus.KHONG_THANH_CONG;
                    FileBase        fileResponse    = new FileBase();
                    List <FileBase> lstFileResponse = new List <FileBase>();
                    string          responseMessage = null;

                    retStatus = process.LayDuLieu(htBaoCao, listHtBaoCaoTso, ref fileResponse, ref responseMessage, ds, action);

                    if (retStatus == ApplicationConstant.ResponseStatus.THANH_CONG)
                    {
                        value++;
                        Dispatcher.Invoke(updatePbDelegate,
                                          System.Windows.Threading.DispatcherPriority.Background,
                                          new object[] { ProgressBar.ValueProperty, value });
                        progbarPercent.Content = LNumber.Rounding((decimal)((progbarTongHop.Value / progbarTongHop.Maximum) * 100), 0).ToString() + "%";
                        tuNgay = LDateTime.PlusDays(LDateTime.StringToDate(tuNgay, ApplicationConstant.defaultDateTimeFormat), INT_ONE)
                                 .DateToString(ApplicationConstant.defaultDateTimeFormat);
                    }
                    else
                    {
                        LMessage.ShowMessage("M.DungChung.LoiChung", LMessage.MessageBoxType.Error);
                        return;
                    }
                }while (progbarTongHop.Value != progbarTongHop.Maximum);
                Mouse.OverrideCursor = Cursors.Arrow;
                LMessage.ShowMessage("M.DungChung.Result.ThanhCong", LMessage.MessageBoxType.Information);
            }
            catch (System.Exception ex)
            {
                Mouse.OverrideCursor = Cursors.Arrow;
                CommonFunction.ThongBaoLoi(ex);
                LLogging.WriteLog(System.Reflection.MethodInfo.GetCurrentMethod().ToString(), LLogging.LogType.ERR, ex);
            }
        }