Example #1
0
        public static void UpdateLSX(frmVoucher_Edit frmEditCt, DataTable dtDinhMucVt)
        {
            if (dtDinhMucVt.Rows.Count < 0)
            {
                return;
            }

            foreach (DataRow dr in dtDinhMucVt.Rows)
            {
                Hashtable ht = new Hashtable();
                ht["STT"]           = dr["Stt"];
                ht["NGAY_CT"]       = dr["Ngay_Ct"];
                ht["MA_SO"]         = dr["Ma_SO"];
                ht["MA_SP"]         = dr["Ma_Sp"];
                ht["MA_VT"]         = dr["Ma_Vt"];
                ht["TEN_VT"]        = dr["Ten_Vt"];
                ht["DVT"]           = dr["Dvt"];
                ht["SO_LUONG"]      = dr["So_Luong"];
                ht["SO_LUONG_DM"]   = dr["So_Luong_Dm"];
                ht["SO_LUONG_VTDC"] = dr["So_Luong_VtDc"];
                //ht["GHI_CHU_LSX"] = dr["Ghi_Chu_Lsx"];
                ht["DELETED"] = dr["Deleted"];
                ht["MA_DVCS"] = Convert.ToString(Parameters.GetParaValue("SYNC_MA_DVCS"));

                SQLExecSync1.Execute("Sp_UpdateMA_LSX", ht, CommandType.StoredProcedure);
            }
        }
Example #2
0
        private bool Save()
        {
            string    strSQLExec = string.Empty;
            Hashtable htPara;

            //Lưu phần Checked vào GLVOUCHER
            if (chkDuyet.Enabled)
            {
                htPara = new Hashtable();
                htPara.Add("DUYET", chkDuyet.Checked);
                htPara.Add("DUYET_LOG", txtDuyet_Log.Text);
                htPara.Add("STT", drEdit["Stt"]);

                strSQLExec = "UPDATE GLVOUCHER SET Duyet = @Duyet, Duyet_Log = @Duyet_Log WHERE Stt = @Stt";

                if (SQLExec.Execute(strSQLExec, htPara, CommandType.Text))
                {
                    drEdit["Duyet"]     = chkDuyet.Checked;
                    drEdit["Duyet_Log"] = txtDuyet_Log.Text;
                }

                //Sync Data
                string Is_Sync = Convert.ToString(SQLExec.ExecuteReturnValue("SELECT Parameter_Value FROM SYSPARAMETER WHERE Parameter_ID = 'SYNC_BEGIN'"));
                if (Is_Sync == "1")
                {
                    SqlConnection sqlCon = SQLExecSync1.GetNewSQLConnectionSync1();
                    if (sqlCon.State != ConnectionState.Open)
                    {
                        SQLExec.Execute("UPDATE SYSPARAMETER SET Parameter_Value = 0 WHERE Parameter_ID = 'SYNC_BEGIN'");
                        string strMsg = Element.sysLanguage == enuLanguageType.Vietnamese ? "Quá trình đồng bộ đang bị gián đoạn. Vui lòng chờ trong ít phút !" : "The synchronization process is interrupted. Please wait a few minutes !";
                        Common.MsgCancel(strMsg);
                    }
                    else
                    {
                        if (SQLExecSync1.Execute(strSQLExec, htPara, CommandType.Text))
                        {
                            drEdit["Duyet"]     = chkDuyet.Checked;
                            drEdit["Duyet_Log"] = txtDuyet_Log.Text;
                        }
                    }
                }
            }

            return(true);
        }
Example #3
0
        public static bool SQLDeleteCt(string strStt, string strMa_Ct)
        {
            DataRow drDmCt = DataTool.SQLGetDataRowByID("SYSDMCT", "Ma_Ct", strMa_Ct);

            if (drDmCt == null)
            {
                return(false);
            }

            //Kiem tra Permission
            if (!Common.CheckPermission((string)drDmCt["Object_ID"], enuPermission_Type.Allow_Delete))
            {
                Common.MsgCancel(Languages.GetLanguage("No_Permission"));
                return(false);
            }

            if (!Element.sysIs_Admin)
            {
                string strCreate_User = (string)SQLExecSync1.ExecuteReturnValue("SELECT ISNULL(MAX(Create_Log), '') FROM GLVOUCHER WHERE Stt = '" + strStt + "'");

                if (strCreate_User != string.Empty && strCreate_User.Substring(14) != Element.sysUser_Id)
                {
                    string strUser_Allow = (string)SQLExecSync1.ExecuteReturnValue("SELECT Member_ID_Allow FROM SYSMEMBER WHERE Member_ID = '" + Element.sysUser_Id + "'") + ",";

                    if (!strUser_Allow.Contains("*,")) //Được phép sửa tất cả
                    {
                        if (!strUser_Allow.Contains(strCreate_User.Substring(14) + ","))
                        {
                            string strMsg = Element.sysLanguage == enuLanguageType.Vietnamese ? "Không xóa được chứng từ do " + strCreate_User +
                                            " lập, liên hệ với người quản trị !" : "Do not delete vouchers from " + strCreate_User + " create, contact the administrator !";
                            Common.MsgCancel(strMsg);
                            return(false);
                        }
                    }
                }
            }

            DataRow drEditPh = DataTool.SQLGetDataRowByID((string)drDmCt["Table_Ph"], "Stt", strStt);

            SqlConnection sqlCon = SQLExecSync1.GetNewSQLConnectionSync1();
            SqlCommand    sqlCom = sqlCon.CreateCommand();

            SqlTransaction sqlTran = sqlCom.Connection.BeginTransaction("Deleting_Voucher_Tran");

            sqlCom.Transaction = sqlTran;

            string strTable_Ph = (string)drDmCt["Table_Ph"];
            string strTable_Ct = (string)drDmCt["Table_Ct"];

            //#region DeleteQueue

            //if (!Voucher.DeleteQueue(sqlCom, drEditPh))
            //{
            //    sqlTran.Rollback();
            //    return false;
            //}

            //#endregion

            #region Delete HanTt
            //Common.SQLPushQueue(sqlCom, "SP_CT_DELETE_HANTT '" + strStt + "'", strStt);
            //Không viết trong Delete_All do: khi F3 chứng từ, chương trình chay Delele_All -> sai

            sqlCom.Parameters.Clear();
            sqlCom.CommandText = "EXEC SP_CT_DELETE_HANTT @Stt";
            sqlCom.CommandType = CommandType.Text;
            sqlCom.Parameters.AddWithValue("@Stt", strStt);

            try
            {
                sqlCom.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Có lỗi xảy ra :" + ex.Message);
                sqlTran.Rollback();
                return(false);
            }
            #endregion

            #region Delete Ct

            sqlCom.Parameters.Clear();
            sqlCom.CommandText = "DELETE FROM " + strTable_Ct + " WHERE Stt = @Stt";
            sqlCom.CommandType = CommandType.Text;
            sqlCom.Parameters.AddWithValue("@Stt", strStt);

            try
            {
                sqlCom.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Có lỗi xảy ra :" + ex.Message);
                sqlTran.Rollback();
                return(false);
            }

            //DeleteCtLR
            if (Common.Inlist(strMa_Ct, "LR,TR"))
            {
                sqlCom.Parameters.Clear();
                sqlCom.CommandText = "DELETE FROM INLAPRAP WHERE Stt = @Stt";
                sqlCom.CommandType = CommandType.Text;
                sqlCom.Parameters.AddWithValue("@Stt", strStt);

                try
                {
                    sqlCom.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Có lỗi xảy ra :" + ex.Message);
                    sqlTran.Rollback();
                    return(false);
                }
            }
            #endregion

            #region Delete Ph

            sqlCom.CommandText = "DELETE FROM " + strTable_Ph + " WHERE Stt = @Stt";

            try
            {
                sqlCom.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Có lỗi xảy ra :" + ex.Message);
                sqlTran.Rollback();
                return(false);
            }

            #endregion

            sqlTran.Commit();
            return(true);
        }
Example #4
0
        //SQLUpdateCt
        public static bool SQLUpdateCt(frmVoucher_Edit frmEditCt)
        {
            string sSYNC_MA_DVCS = Convert.ToString(Parameters.GetParaValue("SYNC_MA_DVCS"));

            SqlConnection sqlCon = SQLExecSync1.GetNewSQLConnectionSync1();

            SqlCommand sqlCom = sqlCon.CreateCommand();

            SqlTransaction sqlTran = sqlCom.Connection.BeginTransaction("Update_Voucher_Tran");

            sqlCom.Transaction = sqlTran;

            DataRow   drEditPhSync = frmEditCt.drEditPh;
            DataTable dtEditCtSync = frmEditCt.dtEditCt;

            string strKey      = string.Empty;
            string strTable_Ph = (string)frmEditCt.drDmCt["Table_Ph"];
            string sp_UpdatePh = (string)frmEditCt.drDmCt["sp_UpdatePh"];
            string strStt      = (string)drEditPhSync["Stt"];
            string strMa_Ct    = (string)drEditPhSync["Ma_Ct"];

            //Chuyển đổi Ma_Dvcs-------------
            drEditPhSync["Ma_DvCs"] = sSYNC_MA_DVCS;
            foreach (DataRow drEditCt in dtEditCtSync.Rows)
            {
                drEditCt["Ma_DvCs"] = sSYNC_MA_DVCS;
            }
            dtEditCtSync.AcceptChanges();
            //-----------------

            #region UpdatePh
            if (drEditPhSync != null)
            {//Có nhiều trường hợp cập nhật CT mà không cần cập nhật PH(VD: frmEditLR)
                sqlCom.CommandText = sp_UpdatePh;
                sqlCom.CommandType = CommandType.StoredProcedure;
                sqlCom.Parameters.Clear();

                strKey = "Object_id = Object_id('" + sp_UpdatePh + "')";
                DataTable dtUpdatePh_Para = DataTool.SQLGetDataTable("Sys.Parameters", "Name", strKey, null);

                sqlCom.Parameters.AddWithValue("@strNew_Edit", (char)frmEditCt.enuNew_Edit);
                Common.SetDefaultDataRow(ref drEditPhSync);

                foreach (DataRow drPara in dtUpdatePh_Para.Rows)
                {
                    string strColumnName = ((string)drPara["Name"]).Replace("@", "");

                    if (!drEditPhSync.Table.Columns.Contains(strColumnName))
                    {
                        continue;
                    }

                    sqlCom.Parameters.AddWithValue("@" + strColumnName, drEditPhSync[strColumnName]);
                }

                try
                {
                    sqlCom.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Có lỗi xảy ra :" + ex.Message);
                    sqlTran.Rollback();
                    return(false);
                }
            }
            #endregion

            #region UpdateCt
            if (!UpdateCt(frmEditCt, sqlCom, dtEditCtSync))
            {
                return(false);
            }

            //UpdateCtLR
            if (Common.Inlist(frmEditCt.strMa_Ct, "LR,TR"))
            {
                if (!UpdateCt(frmEditCt, sqlCom, ((IEditCtLR)frmEditCt).dtEdiCtLR, "sp_UpdateIN_LR", "INLAPRAP"))
                {
                    return(false);
                }
            }

            #endregion

            #region UpdateLSX
            if (frmEditCt.dtCtVt != null)
            {
                if (!UpdateCtSX(frmEditCt, sqlCom, frmEditCt.dtCtVt))
                {
                    return(false);
                }
            }
            #endregion
            //#region UpdateQueue

            //if (!Voucher.UpdateQueue(sqlCom, drEditPhSync))
            //    return false;

            //#endregion

            #region UpdateHanTt0
            if (!UpdateHanTt(frmEditCt, sqlCom))
            {
                return(false);
            }
            #endregion

            #region History
            if (frmEditCt.enuNew_Edit == enuEdit.Edit)
            {
                if (!History(frmEditCt, sqlCom))
                {
                    return(false);
                }
            }
            #endregion

            //Luu So_Ct
            string   strLoai_Ma_Ct = ((DateTime)drEditPhSync["Ngay_Ct"]).Month.ToString().Trim();
            string[] strParaName   = new string[] { "Ma_Ct", "Loai_Ma_Ct", "Ngay_Ct", "So_Ct" };
            object[] objParaValue  = new object[] { frmEditCt.strMa_Ct, strLoai_Ma_Ct, drEditPhSync["Ngay_Ct"], drEditPhSync["So_Ct"] };
            SQLExecSync1.Execute("Sp_Luu_So_Ct", strParaName, objParaValue, CommandType.StoredProcedure);

            //Update_dsVoucher(frmEditCt);
            sqlTran.Commit();

            return(true);
        }