예제 #1
0
        void SetDvCs()
        {
            if (bdsDmDvCs.Position < 0)
            {
                return;
            }

            if (!lvDmDvCs.MoveDataSourceToCurrentRow())
            {
                return;
            }

            drCurrent = ((DataRowView)bdsDmDvCs.Current).Row;

            if (DataTool.SQLCheckExist("sys.Objects", "Name", "sp_CheckPermissionDvCs"))
            {
                Hashtable htPara = new Hashtable();
                htPara.Add("MEMBER_ID", Element.sysUser_Id);
                htPara.Add("MA_DVCS", (string)drCurrent["Ma_DvCs"]);

                DataTable dtPermissionDvCs = SQLExec.ExecuteReturnDt("sp_CheckPermissionDvCs", htPara, CommandType.StoredProcedure);

                if (dtPermissionDvCs.Rows.Count >= 1 && !(bool)(dtPermissionDvCs.Rows[0]["Allow_Access"]))
                {
                    EpointMessage.MsgCancel("Người dùng [" + Element.sysUser_Id + "] không được truy cập đơn vị [" + (string)drCurrent["Ten_DvCs"] + "]");
                    return;
                }
            }

            Common.SetSysMa_DvCs(((string)drCurrent["Ma_DvCs"]).Trim());

            this.Close();
        }
예제 #2
0
        private void Group_Delete()
        {
            //Move con tro den dong hien hanh tuong ung tren tv
            string strGroup_ID = this.tvGroup.SelectedNode.Name;

            bdsGroup.Position = bdsGroup.Find("Member_ID", strGroup_ID);

            if (bdsGroup.Position < 0)
            {
                return;
            }

            DataRow drCurrent = ((DataRowView)bdsGroup.Current).Row;

            //if (!EpointMessage.MsgYes_No("Bạn có muốn xóa không?", "N"))
            if (!Common.MsgYes_No(Languages.GetLanguage("SURE_DELETE"), "N"))
            {
                return;
            }

            if (DataTool.SQLCheckExist("SYSMEMBERNH", "Member_ID", drCurrent["Member_ID"]))
            {
                EpointMessage.MsgCancel("Nhóm : {" + drCurrent["Member_Name"].ToString() + "}  đang chứa người dùng!");
                return;
            }

            if (DataTool.SQLDelete("SYSMEMBER", drCurrent))
            {
                bdsGroup.RemoveAt(bdsGroup.Position);
                dtGroup.AcceptChanges();

                BuildGroup();
            }
        }
예제 #3
0
        private bool FormCheckValid()
        {
            bool bvalid = true;

            if (dteNgay_Ct1.IsNull)
            {
                EpointMessage.MsgOk(Languages.GetLanguage("Ngay_Ct1") + " " +
                                    Languages.GetLanguage("Not_Null"));
                return(false);
            }

            if (dteNgay_Ct2.IsNull)
            {
                EpointMessage.MsgOk(Languages.GetLanguage("Ngay_Ct2") + " " +
                                    Languages.GetLanguage("Not_Null"));
                return(false);
            }

            if (!this.chkReUpdate_ThuChi.Checked && !this.chkReUpdate_CongNo.Checked &&
                !this.chkReUpdate_ChiPhi.Checked && !this.chkReUpdate_DoanhThu.Checked &&
                !this.chkReUpdate_ThueVAT.Checked && !this.chkReUpdate_SoCai.Checked &&
                !this.chkReUpdate_TheKho.Checked && !this.chkReUpdate_HanTt.Checked)
            {
                EpointMessage.MsgCancel(Languages.GetLanguage("Nothing") + " " + Languages.GetLanguage("Selected"));
                return(false);
            }

            return(bvalid);
        }
예제 #4
0
        void tsbFilter_Click(object sender, EventArgs e)
        {
            Form frm = this.Parent.FindForm().GetType().Name == "frmMain" ? this.Parent.FindForm().ActiveMdiChild : this.Parent.FindForm();

            // Tim form tren tabcontrol
            if (frm == null)
            {
                frm = Common.FindFormChildInTab();
            }
            if (frm == null)
            {
                return;
            }

            if (((frmBase)frm).ExportControl == null)
            {
                EpointMessage.MsgCancel("Chưa gán ExportControl");
                return;
            }

            object ExportControl = ((frmBase)frm).ExportControl;

            frmFilter frmFilter = new frmFilter();

            frmFilter.Load(ExportControl);
        }
예제 #5
0
        private void User_ChangePass()
        {
            if (bdsUser.Position < 0)
            {
                return;
            }

            lvUser.MoveDataSourceToCurrentRow();

            drUser = ((DataRowView)bdsUser.Current).Row;

            string strUser_ID = lvUser.SelectedItems[0].Text;

            if (!Element.sysIs_Admin && strUser_ID != Element.sysUser_Id)
            {
                EpointMessage.MsgCancel("Không thể đổi mật khẩu " + strUser_ID);
                return;
            }

            frmManager_ChangePass frm = new frmManager_ChangePass();

            frm.Load(ref drUser);

            if (frm.isAccept)
            {
                EpointMessage.MsgOk("Đã đổi xong mật khẩu!");
            }
        }
예제 #6
0
        void Receive()
        {
            if (dtTranferDataStore.Rows.Count == 0)
            {
                return;
            }

            foreach (DataRow dr in dtTranferDataStore.Rows)
            {
                if (!(bool)dr["Is_Receive"])
                {
                    continue;
                }

                string   strFile_ID       = (string)dr["File_Id"];
                string   strOutputPath    = Environment.GetFolderPath(Environment.SpecialFolder.Templates);
                string   strOutPutFile    = strOutputPath + "\\" + strFile_ID + ".ros";
                DateTime dteNgay_Receive1 = (DateTime)dr["Ngay_Ct1"];
                DateTime dteNgay_Receive2 = (DateTime)dr["Ngay_Ct2"];
                string   strMa_Dvcs       = (string)dr["Ma_Dvcs"];
                byte[]   _dataFile        = (byte[])dr["File_Content"];
                if (!System.IO.Directory.Exists(strOutputPath))
                {
                    System.IO.Directory.CreateDirectory(strOutputPath);
                }

                //if (dteNgay_Receive1.Text.Replace(" ", "") == "//" || dteNgay_Receive2.Text.Replace(" ", "") == "//")
                //    return;

                if (dteNgay_Receive1 > dteNgay_Receive2)
                {
                    continue;
                }

                if (strMa_Dvcs == string.Empty)
                {
                    continue;
                }

                if (!Common.CheckDataLocked(dteNgay_Receive1) || !Common.CheckDataLocked(dteNgay_Receive2))
                {
                    EpointMessage.MsgCancel("Data locked");
                    continue;
                }

                if (!EpointMessage.MsgYes_No("Bạn có chắc chắn nhận dữ liệu của [" + strMa_Dvcs + "] từ ngày [" + Library.DateToStr(dteNgay_Receive1) + "] đến ngày [" + Library.DateToStr(dteNgay_Receive2) + "] do [" + (string)dr["Member_ID"] + "] truyền không?"))
                {
                    continue;
                }

                File.WriteAllBytes(strOutPutFile, _dataFile);

                if (this.Receive(strOutPutFile, dteNgay_Receive1, dteNgay_Receive2, strMa_Dvcs))
                {
                    SQLExec.Execute("UPDATE SYSTranferDataStore SET Last_Receive_Log = '" + Common.GetCurrent_Log() + "' WHERE File_ID = '" + strFile_ID + "'");
                }
            }

            FillData();
        }
예제 #7
0
        private bool FormCheckValid()
        {
            if (this.txtMember_Name.Text.Trim() == string.Empty)
            {
                EpointMessage.MsgCancel("Tên nhóm không được rỗng");
                return(false);
            }

            return(true);
        }
예제 #8
0
        private bool FormCheckValid()
        {
            if (enuTable_Type.Text.Trim() == string.Empty)
            {
                EpointMessage.MsgCancel(Languages.GetLanguage("Table_Type") + Languages.GetLanguage("Cannot_Empty"));
                return(false);
            }

            return(true);
        }
예제 #9
0
        private bool FormCheckValid()
        {
            if (this.txtObject_ID.Text.Trim() == string.Empty)
            {
                EpointMessage.MsgCancel(Languages.GetLanguage("Object_ID") + " " + Languages.GetLanguage("CanNotEmpty"));
                return(false);
            }

            return(true);
        }
예제 #10
0
        private bool FormCheckValid()
        {
            if (txtTable_Name.Text.Trim() == string.Empty)
            {
                EpointMessage.MsgCancel("Loại cột không đc rỗng");
                return(false);
            }

            return(true);
        }
예제 #11
0
        private bool FormCheckValid()
        {
            if (txtTen_Dvcs.Text.Trim() == string.Empty)
            {
                EpointMessage.MsgCancel("Tên file không đc rỗng");
                return(false);
            }

            return(true);
        }
예제 #12
0
        private bool FormCheckValid()
        {
            if (txtZone.Text.Trim() == string.Empty)
            {
                EpointMessage.MsgCancel("Vùng chứa cột không được rỗng");
                return(false);
            }

            return(true);
        }
예제 #13
0
        private bool FormCheckValid()
        {
            if (txtReport_Id.Text.Trim() == string.Empty)
            {
                EpointMessage.MsgCancel("Mã báo cáo không được rỗng");
                return(false);
            }
            if (lblReport_Name.Text.Trim() == string.Empty)
            {
                EpointMessage.MsgCancel("Tên báo cáo không được rỗng");
                return(false);
            }

            return(true);
        }
예제 #14
0
        private bool FormCheckValid()
        {
            if (txtZone.Text.Trim() == string.Empty)
            {
                EpointMessage.MsgCancel("Vùng chứa cột không được rỗng");
                return(false);
            }

            if (cboColumn_ID.Text.Trim() == string.Empty)
            {
                EpointMessage.MsgCancel(Languages.GetLanguage("Column_ID, Cannot_Empty"));
                return(false);
            }

            return(true);
        }
예제 #15
0
        private bool FormCheckValid()
        {
            if (txtReport_ID.Text.Trim() == string.Empty)
            {
                EpointMessage.MsgCancel("Report_Id không được rỗng");
                return(false);
            }

            if (cboFilter_ID.Text.Trim() == string.Empty)
            {
                EpointMessage.MsgCancel("Filter_ID không được rỗng");
                return(false);
            }

            return(true);
        }
예제 #16
0
        private bool FormCheckValid()
        {
            if ((string)drEdit["Report_ID"] == string.Empty)
            {
                EpointMessage.MsgCancel(Languages.GetLanguage("Report_ID, Cannot_Empty"));
                return(false);
            }

            if (cboColumn_ID.Text.Trim() == string.Empty)
            {
                EpointMessage.MsgCancel(Languages.GetLanguage("Column_ID, Cannot_Empty"));
                return(false);
            }

            return(true);
        }
예제 #17
0
        public void Edit()
        {
            if (bdsCheckData.Position < 0)
            {
                return;
            }

            if (!dtCheckData.Columns.Contains("Stt") || !dtCheckData.Columns.Contains("Ma_Ct"))
            {
                return;
            }

            DataRow drCurrent = ((DataRowView)bdsCheckData.Current).Row;

            if (((string)drCurrent["Stt"]).Trim() == string.Empty || ((string)drCurrent["Ma_Ct"]).Trim() == string.Empty)
            {
                return;
            }

            DataRow drDmCt = DataTool.SQLGetDataRowByID("SYSDMCT", "Ma_Ct", (string)drCurrent["Ma_Ct"]);

            string strMethodName = (string)drDmCt["Edit_Voucher_Method"];

            string[] arrStr = strMethodName.Split(':');
            if (arrStr.Length != 3)
            {
                EpointMessage.MsgCancel("Định dạng MethodName = " + strMethodName + " không đúng");
                return;
            }

            string strAssembly = string.Empty;
            string strType     = string.Empty;

            strAssembly = arrStr[0];
            strType     = "Epoint." + arrStr[1];

            Assembly asl  = Assembly.Load(strAssembly);
            Type     type = asl.GetType(strType);

            Form frm = (Form)Activator.CreateInstance(type);

            object[] objPara = new object[] { enuEdit.Edit, drCurrent, null };

            type.InvokeMember(arrStr[2], BindingFlags.InvokeMethod, null, frm, objPara);
        }
예제 #18
0
        private bool ReUpdate()
        {
            if (!Common.CheckDataLocked(Library.StrToDate(dteNgay_Ct1.Text)) || !Common.CheckDataLocked(Library.StrToDate(dteNgay_Ct2.Text)))
            {
                EpointMessage.MsgCancel("Dữ liệu đã khóa");
                return(false);
            }

            if (Common.GetPartitionCurrent() != 0 && Common.GetPartitionCurrent() != Library.StrToDate(dteNgay_Ct1.Text).Year)
            {
                EpointMessage.MsgCancel("Phải chuyển về phân vùng dữ liệu " + Library.StrToDate(dteNgay_Ct1.Text).Year.ToString() + "!");
                return(false);
            }

            Hashtable ht = new Hashtable();

            ht.Add("NGAY_CT1", Library.StrToDate(dteNgay_Ct1.Text));
            ht.Add("NGAY_CT2", Library.StrToDate(dteNgay_Ct2.Text));
            ht.Add("REUPDATE_THUCHI", this.chkReUpdate_ThuChi.Checked);
            ht.Add("REUPDATE_CONGNO", this.chkReUpdate_CongNo.Checked);
            ht.Add("REUPDATE_CHIPHI", this.chkReUpdate_ChiPhi.Checked);
            ht.Add("REUPDATE_DOANHTHU", this.chkReUpdate_DoanhThu.Checked);
            ht.Add("REUPDATE_THUEVAT", this.chkReUpdate_ThueVAT.Checked);
            ht.Add("REUPDATE_SOCAI", this.chkReUpdate_SoCai.Checked);
            ht.Add("REUPDATE_THEKHO", this.chkReUpdate_TheKho.Checked);
            ht.Add("REUPDATE_HANTT", this.chkReUpdate_HanTt.Checked);
            ht.Add("MA_DVCS", Element.sysMa_DvCs);

            Common.ShowStatus(Languages.GetLanguage("IN_PROCESS"));

            lock (this)
            {
                if (!SQLExec.Execute("Sp_ReUpdate", ht, CommandType.StoredProcedure))
                {
                    Common.EndShowStatus();
                    return(false);
                }
            }

            EpointMessage.MsgOk(Languages.GetLanguage("END_PROCESS"));
            Common.EndShowStatus();

            return(true);
        }
예제 #19
0
        bool ExpressionValid()
        {
            if (bdsFilter == null)
            {
                return(false);
            }

            try
            {
                bdsFilter.Filter = txtExpr.Text;
            }
            catch (Exception ex)
            {
                EpointMessage.MsgCancel("Lỗi biểu thức: " + ex.Message);
                bdsFilter.Filter = string.Empty;

                return(false);
            }

            return(true);
        }
예제 #20
0
        void TaoNamMoi()
        {
            int    iNam_Nay   = Element.sysWorkingYear;
            int    iNam_Sau   = iNam_Nay + 1;
            string strMa_DvCs = Element.sysMa_DvCs;
            string strMsg     = string.Empty;

            string strSQLExec = "SELECT COUNT(*) FROM SYSNam WHERE (Nam = " + iNam_Sau.ToString().Trim() + " AND Ma_DvCs = '" + strMa_DvCs + "')";

            if ((int)SQLExec.ExecuteReturnValue(strSQLExec) > 0)
            {
                strMsg  = (Element.sysLanguage == Epoint.Systems.enuLanguageType.Vietnamese)? "Đã tồn tại năm làm việc " : "There is working year ";
                strMsg += iNam_Sau.ToString().Trim();

                EpointMessage.MsgCancel(strMsg);
            }
            else
            {
                strMsg  = Element.sysLanguage == Epoint.Systems.enuLanguageType.Vietnamese ? "Chưa có năm làm việc mới " : "There is not new working year ";
                strMsg += iNam_Sau.ToString().Trim();
                strMsg += Element.sysLanguage == Epoint.Systems.enuLanguageType.Vietnamese ? "\nBạn có muốn tạo năm làm việc mới không ?" : "\n Do you want to create new working year ?";

                if (!EpointMessage.MsgYes_No(strMsg))
                {
                    return;
                }

                Hashtable ht = new Hashtable();
                ht["NAM"]      = iNam_Sau;
                ht["MA_DVCS"]  = strMa_DvCs;
                ht["TH_BD_HT"] = txtTh_Bd_Ht.Text;

                strSQLExec = "INSERT INTO SYSNAM (Nam, Ma_DvCs, Th_Bd_Ht) VALUES (@Nam, @Ma_DvCs, @Th_Bd_Ht)";

                SQLExec.Execute(strSQLExec, ht, CommandType.Text);

                EpointMessage.MsgOk(Languages.GetLanguage("END_PROCESS"));
            }
        }
예제 #21
0
        private bool FormCheckValid()
        {
            if (txtNgay_Locked1.IsNull)
            {
                EpointMessage.MsgCancel(Languages.GetLanguage("Ngay_Locked1") + " " + Languages.GetLanguage("Cannot_Empty"));
                return(false);
            }

            if (txtNgay_Locked2.IsNull)
            {
                EpointMessage.MsgCancel(Languages.GetLanguage("Ngay_Locked2") + " " + Languages.GetLanguage("Cannot_Empty"));
                return(false);
            }

            if (Convert.ToDateTime(txtNgay_Locked1.Text).Year != Convert.ToInt32(txtNam.Text) || Convert.ToDateTime(txtNgay_Locked2.Text).Year != Convert.ToInt32(txtNam.Text))
            {
                EpointMessage.MsgCancel(Languages.GetLanguage("Wrong") + " " + Languages.GetLanguage("Year"));
                return(false);
            }

            return(true);
        }
예제 #22
0
        private void User_Delete()
        {
            if (!lvUser.MoveDataSourceToCurrentRow())
            {
                return;
            }

            if (bdsUser.Position < 0 || lvUser.SelectedItems.Count <= 0)
            {
                return;
            }

            DataRow drCurrent = ((DataRowView)bdsUser.Current).Row;

            if ((bool)drCurrent["Locked"])
            {
                string strMsg = Element.sysLanguage == enuLanguageType.English ? "Can not delete administrator" : "Không thể xóa người quản trị";
                EpointMessage.MsgCancel(strMsg);
                return;
            }

            //if (!EpointMessage.MsgYes_No("Bạn có muốn xóa không", "N"))
            if (!Common.MsgYes_No(Languages.GetLanguage("SURE_DELETE"), "N"))
            {
                return;
            }

            if (DataTool.SQLDelete("SYSMEMBERNH", "Member_ID", ((DataRowView)bdsUser.Current)["Member_ID"]))
            {
                if (DataTool.SQLDelete("SYSMEMBER", drCurrent))
                {
                    bdsUser.RemoveAt(bdsUser.Position);
                    dtUser.AcceptChanges();

                    FillUser();
                }
            }
        }
예제 #23
0
        void Send()
        {
            if (!System.IO.Directory.Exists(txtSendPath.Text.Trim()))
            {
                return;
            }

            if (dteNgay_Send1.Text.Replace(" ", "") == "//" || dteNgay_Send2.Text.Replace(" ", "") == "//")
            {
                return;
            }

            if (Library.StrToDate(dteNgay_Send1.Text) > Library.StrToDate(dteNgay_Send2.Text))
            {
                return;
            }

            Common.ShowStatus(Languages.GetLanguage("In_Process"));
            //EpointProcessBox.Show();
            //EpointProcessBox.SetStatus(Languages.GetLanguage("In_Process"));
            //EpointProcessBox.AddMessage(Languages.GetLanguage("In_Process"));

            string strFileName   = FileNameValid;
            string strSourcePath = Environment.GetFolderPath(Environment.SpecialFolder.Templates) + "\\" + strFileName;
            string strTableList  = string.Empty;

            if (!System.IO.Directory.Exists(strSourcePath))
            {
                System.IO.Directory.CreateDirectory(strSourcePath);
            }

            foreach (DataRow dr in dtTranferData.Rows)
            {
                if (!(bool)dr["Is_Send"])
                {
                    continue;
                }

                string strTable_Name  = (string)dr["Table_Name"];
                string strTable_Name0 = DataTool.SQLGetNameByCode("SYSDmTable", "Table_Name", "Table_Name0", strTable_Name);
                string strData_Type   = (string)dr["Data_Type"];
                string strFilter_Key  = (string)dr["Filter_Key"];

                if (strTable_Name0 == string.Empty)
                {
                    EpointProcessBox.AddMessage("Không tồn tại bảng " + strTable_Name + " trong DmTable!");
                    //EpointMessage.MsgCancel("Không tồn tại bảng " + strTable_Name + " trong DmTable!");
                    continue;
                }

                string strSQLExec = "SELECT * FROM " + strTable_Name0;
                strTableList += "," + strTable_Name;

                //Điều kiện lọc cứng: Ngay_Ct, Ma_DvCs
                Hashtable htPara = new Hashtable();
                if (strData_Type == "1")                              //Chứng từ
                {
                    if (Common.InlistLike(strTable_Name0, "R06CTTS")) //Nếu là bảng CTTS
                    {
                        strSQLExec += " WHERE ((Ma_Dvcs = @Ma_Data) OR (Ma_Dvcs = @Ma_Data1))";
                    }
                    else
                    {
                        strSQLExec += " WHERE (Ngay_Ct BETWEEN @Ngay_Ct1 AND @Ngay_Ct2) AND (Ma_DvCs = @Ma_DvCs)";
                    }
                    htPara.Add("NGAY_CT1", dteNgay_Send1.Text);
                    htPara.Add("NGAY_CT2", dteNgay_Send2.Text);
                    htPara.Add("MA_DVCS", Element.sysMa_DvCs);
                }
                else if (strData_Type == "2")                         //Danh mục
                {
                    if (Common.InlistLike(strTable_Name0, "R06CTTS")) //Nếu là bảng CTTS
                    {
                        strSQLExec += " WHERE ((Ma_Dvcs = @Ma_Data) OR (Ma_Dvcs = @Ma_Data1))";
                    }
                    else
                    {
                        strSQLExec += " WHERE ((Ma_Data = @Ma_Data) OR (Ma_Data = @Ma_Data1))";
                    }
                    htPara.Add("MA_DATA", Element.sysMa_Data);
                    htPara.Add("MA_DATA1", "*");
                }
                else if (strData_Type == "3") //hùng thêm Tài sản cố dịnh
                {
                    strSQLExec += " WHERE (Ngay_Ps BETWEEN @Ngay_Ct1 AND @Ngay_Ct2) AND (Ma_DvCs = @Ma_DvCs)";
                    htPara.Add("NGAY_CT1", dteNgay_Send1.Text);
                    htPara.Add("NGAY_CT2", dteNgay_Send2.Text);
                    htPara.Add("MA_DVCS", Element.sysMa_DvCs);
                }
                else
                {
                    strSQLExec += " WHERE (1 = 1)";
                }

                //Điều kiện lọc mềm
                if (strFilter_Key != string.Empty)
                {
                    strSQLExec += " AND (" + strFilter_Key + ")";
                }

                DataTable dtSend = SQLExec.ExecuteReturnDt(strSQLExec, htPara, CommandType.Text);

                FileStream fs = new FileStream(strSourcePath + "\\" + strTable_Name + ".dat", FileMode.Create);
                new BinaryFormatter().Serialize(fs, dtSend);
                fs.Close();
            }

            //DataInfo
            System.Xml.XmlDocument xml = new System.Xml.XmlDocument();
            xml.LoadXml(
                "<?xml version='1.0' encoding='utf-8' ?>" +
                "<DataInfo>" +
                "<Member_ID>" + Element.sysUser_Id + "</Member_ID>" +
                "<Ngay_Ct1>" + dteNgay_Send1.Text + "</Ngay_Ct1>" +
                "<Ngay_Ct2>" + dteNgay_Send2.Text + "</Ngay_Ct2>" +
                "<Ma_DvCs>" + Element.sysMa_DvCs + "</Ma_DvCs>" +
                "<Ma_Data>" + Element.sysMa_Data + "</Ma_Data>" +
                "<TableList>" + strTableList + "</TableList>" +
                "</DataInfo>");

            xml.Save(strSourcePath + "\\info.xml");

            string strfilename;

            if (chkSendOnline.Checked) //Truyền thằng vào CSDL
            {
                Common.ZipFile(strSourcePath, Environment.GetFolderPath(Environment.SpecialFolder.Templates));
                System.IO.Directory.Delete(strSourcePath, true);
                strfilename = strSourcePath + ".ros";
            }
            else
            {
                Common.ZipFile(strSourcePath, txtSendPath.Text);
                System.IO.Directory.Delete(strSourcePath, true);
                strfilename = strSourcePath + ".ros";
            }

            if (chkSendOnline.Checked && File.Exists(strfilename)) //Truyền thẳng vào CSDL
            {
                SqlCommand sqlcom = new SqlCommand();
                sqlcom.Connection = this.GetTranferConnection(false);
                sqlcom.Parameters.Clear();

                FileInfo fileInfo = new FileInfo(strfilename);
                if (fileInfo.Length < 2147483647) //2147483647 - is the max size of the data 1.9gb
                {
                    byte[] _fileData = File.ReadAllBytes(strfilename);

                    sqlcom.Parameters.AddWithValue("FILE_ID", strFileName);
                    sqlcom.Parameters.AddWithValue("FILE_CONTENT", _fileData);
                    sqlcom.Parameters.AddWithValue("NGAY_CT1", Library.StrToDate(this.dteNgay_Send1.Text));
                    sqlcom.Parameters.AddWithValue("NGAY_CT2", Library.StrToDate(this.dteNgay_Send2.Text));
                    sqlcom.Parameters.AddWithValue("MA_DVCS", Element.sysMa_DvCs);
                    sqlcom.Parameters.AddWithValue("MA_DATA", Element.sysMa_Data);
                    sqlcom.Parameters.AddWithValue("MEMBER_ID", Element.sysUser_Id);
                    sqlcom.Parameters.AddWithValue("TABLELIST", strTableList);

                    string strsql = @"INSERT INTO SYSTranferDataStore (File_ID, File_Content, Ngay_Ct1, Ngay_Ct2, Ma_DvCs, Ma_Data, Member_ID, TableList) 
								VALUES (@File_Id, @File_Content, @Ngay_Ct1, @Ngay_Ct2, @Ma_DvCs, @Ma_Data, @Member_ID, @TableList)"                                ;

                    sqlcom.CommandText = strsql;

                    try
                    {
                        sqlcom.ExecuteNonQuery();
                    }
                    catch (Exception ex)
                    {
                        //EpointProcessBox.AddMessage("Không truyền đc dữ liệu, error: " + ex.Message);
                        EpointMessage.MsgCancel("Không truyền đc dữ liệu, error: " + ex.Message);
                        return;
                    }
                }
                else
                {
                    //EpointProcessBox.AddMessage("Dung lượng file quá lớn");
                    EpointMessage.MsgOk("Dung lượng file quá lớn");
                }
            }

            Common.SetBufferValue("SendOnline", chkSendOnline.Checked ? "1" : "0");
            Element.sysNgay_Ct1 = Library.StrToDate(this.dteNgay_Send1.Text);
            Element.sysNgay_Ct2 = Library.StrToDate(this.dteNgay_Send2.Text);

            //EpointMessage.MsgOk(Languages.GetLanguage("End_Process"));
            //EpointProcessBox.AddMessage(Languages.GetLanguage("End_Process"));
            //EpointProcessBox.ShowOK(true);
            Common.EndShowStatus();
        }
예제 #24
0
        private void Edit_User(enuEdit enuNew_Edit)
        {
            if ((bdsUser.Position < 0) && (enuNew_Edit != enuEdit.Edit))
            {
                return;
            }

            lvUser.MoveDataSourceToCurrentRow();

            if (bdsUser.Position >= 0)
            {
                Common.CopyDataRow(((DataRowView)bdsUser.Current).Row, ref drUser);
            }
            else
            {
                drUser = dtUser.NewRow();
            }

            if (enuNew_Edit == enuEdit.Edit)
            {
                string strUser_ID = lvUser.SelectedItems[0].Text;
                if (!Element.sysIs_Admin && strUser_ID != Element.sysUser_Id)
                {
                    EpointMessage.MsgCancel("Không thể sửa " + strUser_ID);
                    return;
                }
            }

            drUser["Member_Type"] = "U";

            frmUser_Edit frmEdit = new frmUser_Edit();

            frmEdit.Load(enuNew_Edit, ref drUser);

            if (enuNew_Edit == enuEdit.New)
            {
                drUser["Locked"] = false;
            }

            if (frmEdit.isAccept)
            {
                if (enuNew_Edit == enuEdit.New)
                {
                    if (bdsUser.Position >= 0)
                    {
                        dtUser.ImportRow(drUser);
                    }
                    else
                    {
                        dtUser.Rows.Add(drUser);
                    }
                }
                else
                {
                    Common.CopyDataRow(drUser, ((DataRowView)bdsUser.Current).Row);
                }

                dtUser.AcceptChanges();
                FillUser();
            }
            else
            {
                dtUser.RejectChanges();
            }
        }
예제 #25
0
        bool Receive(string strOutPutFile, DateTime dteNgay_Receive1, DateTime dteNgay_Receive2, string strMa_Dvcs)
        {
            DataRow drDmDvCs = DataTool.SQLGetDataRowByID("SYSDmDvCs", "Ma_DvCs", Element.sysMa_DvCs);

            if (drDmDvCs != null && drDmDvCs.Table.Columns.Contains("Ma_DvCs_Allow_Receive"))
            {
                if (!((string)drDmDvCs["Ma_DvCs_Allow_Receive"]).Contains(strMa_Dvcs))
                {
                    EpointMessage.MsgCancel(Element.sysMa_DvCs + " không được phép nhận dữ liệu từ " + strMa_Dvcs);
                    return(false);
                }
            }

            if (!System.IO.File.Exists(strOutPutFile))
            {
                return(false);
            }

            Common.ShowStatus(Languages.GetLanguage("In_Process"));

            string[] sTemp      = strOutPutFile.Split('\\');
            string   sFileName  = sTemp[sTemp.Length - 1].ToString().Replace(".ros", "");
            string   strOutPath = strOutPutFile.Replace(".ros", "");
            string   strSQLExec = string.Empty;

            Common.UnZipFile(strOutPutFile, strOutPath);

            // Tao table Import PH
            DataTable dtImportPH = null;

            if (File.Exists(strOutPath + "\\PH.dat"))
            {
                FileStream      fsPH      = new FileStream(strOutPath + "\\PH.dat", FileMode.Open);
                BinaryFormatter formatter = new BinaryFormatter();
                dtImportPH = (DataTable)formatter.Deserialize(fsPH);
                fsPH.Close();
            }
            //else return;

            lock (Element.frmActiveMain)
            {
                foreach (DataRow dr in dtTranferData.Rows)
                {
                    //if (!(bool)dr["Is_Receive"]) //Danh sách Table nhận: kết hợp Tên file trong gói dữ liệu dtTranferDataStore và tồn tại trong dtTranferData
                    //    continue;

                    if (dr["Table_Name"].ToString().Trim() == "PH")
                    {
                        continue;
                    }

                    string   strTable_Name    = (string)dr["Table_Name"];
                    string   strTable_Name0   = DataTool.SQLGetNameByCode("SYSDmTable", "Table_Name", "Table_Name0", strTable_Name);
                    string   strTable_Delete  = (string)dr["Table_Delete"];
                    string[] strArrUnique_Key = ((string)dr["Unique_Key"]).Replace(" ", "").Split(',');
                    string   strData_Type     = (string)dr["Data_Type"];
                    string   strFilter_Key    = (string)dr["Filter_Key"];
                    string   strKey           = string.Empty;

                    if (strTable_Name0 == string.Empty)
                    {
                        EpointMessage.MsgCancel("Không tồn tại bảng " + strTable_Name + " trong DmTable!");
                        continue;
                    }

                    if (File.Exists(strOutPath + "\\" + strTable_Name + ".dat"))
                    {
                        DataTable dtImport       = null;
                        DataRow   drImportPH     = null;
                        string    strSttImportOk = string.Empty;

                        FileStream      fs        = new FileStream(strOutPath + "\\" + strTable_Name + ".dat", FileMode.Open);
                        BinaryFormatter formatter = new BinaryFormatter();
                        dtImport = (DataTable)formatter.Deserialize(fs);
                        fs.Close();

                        if (strData_Type == "1")                         //Chứng từ
                        {
                            if (!dtImport.Columns.Contains("Ngay_Ct") || !dtImport.Columns.Contains("Ma_DvCs") || !dtImport.Columns.Contains("Stt"))
                            {
                                EpointMessage.MsgCancel("Không import được " + strTable_Name0 + " do không tồn tại trường Ngay_Ct, DvCs, Stt");
                                continue;
                            }

                            if (dtImportPH == null)
                            {
                                EpointMessage.MsgCancel("Không import được " + strTable_Name0 + " do không truyền bảng PH");
                                continue;
                            }

                            //string strSQLExec = string.Empty;
                            string strKeyDelete = string.Empty;

                            strKeyDelete =
                                "SELECT Stt FROM GLVOUCHER " +
                                " WHERE Ngay_Ct BETWEEN '" + dteNgay_Receive1.ToShortDateString() + "' AND '" + dteNgay_Receive2.ToShortDateString() +
                                "' AND Ma_DvCs = '" + Element.sysMa_DvCs + "' AND Stt LIKE '" + strMa_Dvcs + "%'";

                            if (strFilter_Key != string.Empty)
                            {
                                strKeyDelete += " AND (" + strFilter_Key + ")";
                            }

                            //Không xóa những chứng từ đã Locked
                            if ((int)SQLExec.ExecuteReturnValue("SELECT CASE WHEN COL_LENGTH('GLVOUCHER', 'Locked') IS NULL THEN 0 ELSE 1 END") == 1)
                            {
                                strKeyDelete += " AND (Locked = 0)";
                            }

                            strSQLExec = string.Empty;
                            //DataTable dtTableUpdate80 = SQLExec.ExecuteReturnDt("SELECT Table_Name FROM SYSTableUpdate WHERE Used = 1");
                            //foreach (DataRow dr80 in dtTableUpdate80.Rows)
                            //{
                            //    strSQLExec += "DELETE FROM " + (string)dr80["Table_Name"] + " WHERE Stt IN (" + strKeyDelete + ") ";
                            //}
                            strSQLExec +=
                                "DELETE FROM " + strTable_Name0 + " WHERE Stt IN (" + strKeyDelete + ") " +
                                "DELETE FROM GLVOUCHER WHERE Stt IN (" + strKeyDelete + ") ";

                            if (SQLExec.Execute(strSQLExec))
                            {
                                for (int i = 0; i < dtImport.Rows.Count; i++)
                                {
                                    DataRow dr1 = dtImport.Rows[i];
                                    dr1["Ma_DvCs"] = Element.sysMa_DvCs;                                     // gán lại Ma_DvCs cho thằng Import vào
                                    dr1["Ngay_Ct"] = ((DateTime)dr1["Ngay_Ct"]).ToShortDateString();

                                    if ((DateTime)dr1["Ngay_Ct"] < dteNgay_Receive1 ||
                                        (DateTime)dr1["Ngay_Ct"] > dteNgay_Receive2
                                        //|| (string)dr1["Ma_DvCs"] != txtMa_DvCs.Text
                                        || !((string)dr1["Stt"]).StartsWith(strMa_Dvcs))
                                    {
                                        continue;
                                    }

                                    string strStt       = (string)dr1["Stt"];
                                    bool   bReceivePHOk = false;

                                    Common.ShowStatus(Languages.GetLanguage("In_Process", Element.sysLanguage) + strStt);

                                    //Chỉ truyền số liệu khi tồn tại Stt trong bảng GLVOUCHER
                                    if (dtImportPH.Select("Stt = '" + strStt + "'").Length == 1)
                                    {
                                        if ((int)SQLExec.ExecuteReturnValue("SELECT CASE WHEN COL_LENGTH('GLVOUCHER', 'Locked') IS NULL THEN 0 ELSE 1 END") == 1)
                                        {
                                            if ((int)SQLExec.ExecuteReturnValue("SELECT COUNT(*) FROM GLVOUCHER WHERE Stt = '" + strStt + "' AND Locked = 1") == 1)
                                            {
                                                Common.ShowStatus(strStt + "... Locked");
                                                continue;
                                            }
                                        }

                                        drImportPH            = dtImportPH.Select("Stt = '" + strStt + "'")[0];
                                        drImportPH["Ma_DvCs"] = Element.sysMa_DvCs;
                                        drImportPH["Ngay_Ct"] = ((DateTime)drImportPH["Ngay_Ct"]).ToShortDateString();

                                        if (!strSttImportOk.Contains(strStt + ","))
                                        {
                                            if (DataTool.SQLUpdate(enuEdit.New, "GLVOUCHER", ref drImportPH))
                                            {
                                                strSttImportOk += strStt + ",";
                                                bReceivePHOk    = true;
                                            }
                                        }
                                        else
                                        {
                                            bReceivePHOk = true;
                                        }

                                        if (bReceivePHOk)
                                        {
                                            DataTool.SQLUpdate(enuEdit.New, strTable_Name0, ref dr1);
                                            //SQLExec.Execute(" EXEC sp_Ct_Update80 '" + drImportPH["Stt"].ToString() + "', '" + drImportPH["Ma_Ct"].ToString() + "' ");
                                        }
                                        else
                                        {
                                            EpointMessage.MsgCancel("Không thể nhận được chứng từ {Mã Ct: " + (string)drImportPH["Ma_Ct"] + "}, {Ngày ct: " + Library.DateToStr((DateTime)drImportPH["Ngay_Ct"]) + "}, {Số ct: " + (string)drImportPH["So_Ct"] + "}");
                                            continue;
                                        }
                                    }
                                }
                            }
                        }
                        else if (strData_Type == "2")                         //Danh mục
                        {
                            #region Danh muc
                            //Tạo tham số
                            Hashtable htPara = new Hashtable();
                            for (int i = 0; i < strArrUnique_Key.Length; i++)
                            {
                                if (dtImport.Columns.Contains(strArrUnique_Key[i]))
                                {
                                    htPara.Add(strArrUnique_Key[i], DBNull.Value);

                                    if (strKey != string.Empty)
                                    {
                                        strKey += " AND ";
                                    }

                                    strKey += " (" + strArrUnique_Key[i] + " = @" + strArrUnique_Key[i] + ") ";
                                }
                            }

                            if (strKey == string.Empty)
                            {
                                EpointMessage.MsgCancel("Không import được " + strTable_Name0 + " do không tạo được Key");
                                continue;
                            }

                            for (int i = 0; i < dtImport.Rows.Count; i++)
                            {
                                DataRow dr1 = dtImport.Rows[i];

                                //Xóa key
                                strSQLExec = "DELETE FROM " + strTable_Name0 + " WHERE " + strKey;

                                //Tạo giá trị cho Parameter
                                for (int j = 0; j < strArrUnique_Key.Length; j++)
                                {
                                    if (htPara.ContainsKey(strArrUnique_Key[j]))
                                    {
                                        htPara[strArrUnique_Key[j]] = dr1[strArrUnique_Key[j]];
                                    }
                                }

                                if (SQLExec.Execute(strSQLExec, htPara, CommandType.Text))
                                {
                                    DataTool.SQLUpdate(enuEdit.New, strTable_Name0, ref dr1);
                                }
                            }
                            #endregion
                        }
                        else if (strData_Type == "3")                         //HUNGNV thêm Tài sản cố định
                        {
                            if (!dtImport.Columns.Contains("Ngay_Ps") || !dtImport.Columns.Contains("Ma_DvCs") || !dtImport.Columns.Contains("Stt"))
                            {
                                EpointMessage.MsgCancel("Không import được " + strTable_Name0 + " do không tồn tại trường Ngay_Ps, DvCs, Stt");
                                continue;
                            }
                            if (strTable_Name0 != "ASTSNG")
                            {
                                strSQLExec = "DELETE FROM " + strTable_Name0 + " WHERE Ngay_Ps BETWEEN '" + dteNgay_Receive1.ToShortDateString() + "' AND '" + dteNgay_Receive2.ToShortDateString() +
                                             "' AND Ma_DvCs = '" + Element.sysMa_DvCs + "'";
                            }
                            else
                            {
                                strSQLExec = "DELETE FROM " + strTable_Name0 + " WHERE 0 =1 ";
                            }
                            if (SQLExec.Execute(strSQLExec))
                            {
                                for (int i = 0; i < dtImport.Rows.Count; i++)
                                {
                                    DataRow dr1 = dtImport.Rows[i];
                                    dr1["Ma_DvCs"] = Element.sysMa_DvCs;                                     // gán lại Ma_DvCs cho thằng Import vào
                                    dr1["Ngay_ps"] = ((DateTime)dr1["Ngay_Ps"]).ToShortDateString();

                                    if ((DateTime)dr1["Ngay_Ps"] < dteNgay_Receive1 ||
                                        (DateTime)dr1["Ngay_Ps"] > dteNgay_Receive2
                                        //|| (string)dr1["Ma_DvCs"] != txtMa_DvCs.Text
                                        || !((string)dr1["Stt"]).StartsWith(strMa_Dvcs))
                                    {
                                        continue;
                                    }
                                    string    strStt     = (string)dr1["Stt"];
                                    DataTable dtCTTSNgia = DataTool.SQLGetDataTable("ASTSNG", "Stt", "", "Stt");
                                    if (strTable_Name0 != "ASTSNG")
                                    {
                                        //Chỉ truyền số liệu khi tồn tại Stt trong bảng Nguyen gia
                                        if (dtCTTSNgia.Select("Stt = '" + strStt + "'").Length == 1)
                                        {
                                            DataTool.SQLUpdate(enuEdit.New, strTable_Name0, ref dr1);
                                        }
                                        //else
                                        //{
                                        //    Common.ShowStatus(strStt + "... không có nguyên giá");
                                        //    continue;
                                        //}
                                    }
                                    else
                                    {
                                        if (dtCTTSNgia.Select("Stt = '" + strStt + "'").Length == 1)
                                        {
                                            continue;
                                        }
                                        else
                                        {
                                            DataTool.SQLUpdate(enuEdit.New, strTable_Name0, ref dr1);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            if (Directory.Exists(strOutPath))
            {
                Directory.Delete(strOutPath, true);
            }

            //Common.SetBufferValue("ReceiveFilePath", System.IO.Path.GetFullPath(txtReceiveFilePath.Text));

            EpointMessage.MsgOk(Languages.GetLanguage("End_Process"));
            Common.EndShowStatus();

            return(true);
        }
예제 #26
0
        void ChuyenSoDu()
        {
            int    iNam_Nay   = Element.sysWorkingYear;
            int    iNam_Sau   = iNam_Nay + 1;
            string strMa_DvCs = Element.sysMa_DvCs;

            if (!chkChuyen_Cdk.Checked && !chkChuyen_SDHanTt.Checked && !chkChuyen_Cdv.Checked && !chkChuyen_Cdv_NTXT.Checked && !chkChuyen_SDZ.Checked)
            {
                return;
            }

            if (!DataTool.SQLCheckExist("SYSNAM", new string[] { "Nam", "Ma_DvCs" }, new object[] { iNam_Sau, strMa_DvCs }))
            {
                EpointMessage.MsgCancel("Chưa tạo năm làm việc mới " + iNam_Sau.ToString().Trim());
                return;
            }

            //Kiểm tra khóa dữ liệu năm sau
            if (chkChuyen_Cdk.Checked || chkChuyen_SDHanTt.Checked || chkChuyen_SDZ.Checked)
            {
                string strSQLExec =
                    "SELECT TOP 1 Locked_Sdk FROM SYSNam " +
                    " WHERE Nam = " + iNam_Sau.ToString().Trim() + " AND Ma_DvCs = '" + Element.sysMa_DvCs + "'";

                if ((bool)SQLExec.ExecuteReturnValue(strSQLExec))
                {
                    EpointMessage.MsgCancel("Số dư đầu năm " + iNam_Sau.ToString().Trim() + " đã khóa!");
                    return;
                }
            }

            //Kiểm tra khóa dữ liệu năm sau
            if (chkChuyen_Cdv.Checked || chkChuyen_Cdv_NTXT.Checked)
            {
                string strSQLExec =
                    "SELECT TOP 1 Locked_Sdv FROM SYSNam " +
                    " WHERE Nam = " + iNam_Sau.ToString().Trim() + " AND Ma_DvCs = '" + Element.sysMa_DvCs + "'";

                if ((bool)SQLExec.ExecuteReturnValue(strSQLExec))
                {
                    EpointMessage.MsgCancel("Số dư đầu năm " + iNam_Sau.ToString().Trim() + " đã khóa!");
                    return;
                }
            }

            if (!EpointMessage.MsgYes_No("Bạn có chắc chắn chuyển số dư sang năm " + iNam_Sau.ToString() + " hay không?"))
            {
                return;
            }

            Hashtable ht = new Hashtable();

            ht["NAM_NAY"] = Element.sysWorkingYear;
            ht["MA_DVCS"] = Element.sysMa_DvCs;
            ht["USER"]    = Element.sysUser_Id;

            if (chkChuyen_Cdk.Checked)
            {
                Common.ShowStatus(Languages.GetLanguage("Chuyen_Cdk"));
                SQLExec.Execute("Sp_Chuyen_Cdk", ht, CommandType.StoredProcedure);
            }
            if (chkChuyen_SDHanTt.Checked)
            {
                Common.ShowStatus(Languages.GetLanguage("Chuyen_SDHanTT"));
                SQLExec.Execute("Sp_Chuyen_SDHanTt", ht, CommandType.StoredProcedure);
            }
            if (chkChuyen_Cdv.Checked)
            {
                Common.ShowStatus(Languages.GetLanguage("Chuyen_Cdv"));
                SQLExec.Execute("Sp_Chuyen_Cdv", ht, CommandType.StoredProcedure);
            }
            if (chkChuyen_Cdv_NTXT.Checked)
            {
                Common.ShowStatus(Languages.GetLanguage("Chuyen_Cdv_NTXT"));
                SQLExec.Execute("Sp_Chuyen_Cdv_NTXT", ht, CommandType.StoredProcedure);
            }
            if (chkChuyen_SDZ.Checked)
            {
                Common.ShowStatus(Languages.GetLanguage("Chuyen_SDZ"));
                SQLExec.Execute("Sp_Chuyen_SDZ", ht, CommandType.StoredProcedure);
            }

            Common.EndShowStatus();
            EpointMessage.MsgOk(Languages.GetLanguage("END_PROCESS"));
        }
예제 #27
0
        public override void Edit(enuEdit enuNew_Edit)
        {
            if (!Element.sysIs_Admin)
            {
                string strMsg = Element.sysLanguage == enuLanguageType.English ? "User " + Element.sysUser_Id + " have not right to lock data" : "Người dùng " + Element.sysUser_Id + " không có quyền khóa dữ liệu";
                EpointMessage.MsgCancel(strMsg);
                return;
            }

            if (this.tabControl1.SelectedTab != this.tabPage1)
            {
                return;
            }

            if (bdsLocked.Position < 0 && enuNew_Edit == enuEdit.Edit)
            {
                return;
            }

            //Copy hang hien tai
            if (bdsLocked.Position >= 0)
            {
                Common.CopyDataRow(((DataRowView)bdsLocked.Current).Row, ref drCurrent);
            }
            else
            {
                drCurrent = dtLocked.NewRow();
            }

            frmLocked_Edit frmEdit = new frmLocked_Edit();

            frmEdit.Load(enuNew_Edit, drCurrent, Convert.ToInt32(lvDmNam.SelectedItems[0].Text));

            if (frmEdit.isAccept)
            {
                drCurrent["Nam_Locked1"] = ((DateTime)drCurrent["Ngay_Locked1"]).Year;
                drCurrent["Nam_Locked2"] = ((DateTime)drCurrent["Ngay_Locked2"]).Year;

                if (enuNew_Edit == enuEdit.New)
                {
                    if (bdsLocked.Position >= 0)
                    {
                        dtLocked.ImportRow(drCurrent);
                    }
                    else
                    {
                        dtLocked.Rows.Add(drCurrent);
                    }
                }
                else
                {
                    Common.CopyDataRow(drCurrent, ((DataRowView)bdsLocked.Current).Row);
                }

                dtLocked.AcceptChanges();
            }
            else
            {
                dtLocked.RejectChanges();
            }
        }