示例#1
0
 public void ForceLoadModule(
     out List <ModuleInfo> modulesInfo,
     out List <ModuleFieldInfo> fieldsInfo,
     out List <ButtonInfo> buttonsInfo,
     out List <ButtonParamInfo> buttonParamsInfo,
     out List <LanguageInfo> languageInfo,
     out List <OracleParam> oracleParamsInfo,
     string moduleID)
 {
     modulesInfo      = null;
     fieldsInfo       = null;
     buttonsInfo      = null;
     buttonParamsInfo = null;
     languageInfo     = null;
     oracleParamsInfo = null;
     try
     {
         modulesInfo = new List <ModuleInfo>();
         modulesInfo.AddRange(SQLHelper.ExecuteStoreProcedure <ModuleInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.GET_STATIC_MODULE, moduleID).ToArray());
         modulesInfo.AddRange(SQLHelper.ExecuteStoreProcedure <MaintainModuleInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.GET_MAINTAIN_MODULE, moduleID).ToArray());
         fieldsInfo       = SQLHelper.ExecuteStoreProcedure <ModuleFieldInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_FIELD_INFO_BY_MODID, moduleID);
         buttonsInfo      = SQLHelper.ExecuteStoreProcedure <ButtonInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_BUTTON_BY_MODID, moduleID);
         buttonParamsInfo = SQLHelper.ExecuteStoreProcedure <ButtonParamInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_BUTTON_PARAM_BY_MODID, moduleID);
         languageInfo     = SQLHelper.ExecuteStoreProcedure <LanguageInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_LANGUAGE_BY_MODID, moduleID);
         //SQLHelper SQLHelper = new SQLHelper();
         var stores = SQLHelper.ExecuteStoreProcedure <OracleStore>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_STOREPROC_BY_MODID, moduleID);
     }
     catch (Exception ex)
     {
         throw ErrorUtils.CreateError(ex);
     }
 }
示例#2
0
        public List <ModuleInfo> BuildModulesInfo()
        {
            try
            {
                var moduleInfos = new List <ModuleInfo>();
                //moduleInfos.AddRange(SQLHelper.ExecuteStoreProcedure<ModuleInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_STATIC_MODULE).ToArray());
                //moduleInfos.AddRange(SQLHelper.ExecuteStoreProcedure<ModuleInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_BATCH_MODULE).ToArray());
                //moduleInfos.AddRange(SQLHelper.ExecuteStoreProcedure<StatisticsModuleInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_STATISTICS_MODULE).ToArray());
                //moduleInfos.AddRange(SQLHelper.ExecuteStoreProcedure<MaintainModuleInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_MAINTAIN_MODULE).ToArray());
                //moduleInfos.AddRange(SQLHelper.ExecuteStoreProcedure<ChartModuleInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_CHART_MODULE).ToArray());
                moduleInfos.AddRange(SQLHelper.ExecuteStoreProcedure <SearchModuleInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_SEARCHMASTER_MODULE).ToArray());
                moduleInfos.AddRange(SQLHelper.ExecuteStoreProcedure <ModESBInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_MODESB_MODULE).ToArray());
                //moduleInfos.AddRange(SQLHelper.ExecuteStoreProcedure<SwitchModuleInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_SWITCH_MODULE).ToArray());
                //moduleInfos.AddRange(SQLHelper.ExecuteStoreProcedure<ImportModuleInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_IMPORT_MODULE).ToArray());
                //moduleInfos.AddRange(SQLHelper.ExecuteStoreProcedure<ExecProcModuleInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_EXECUTEPROC_MODULE).ToArray());
                //moduleInfos.AddRange(SQLHelper.ExecuteStoreProcedure<AlertModuleInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_ALERT_MODULE).ToArray());
                //moduleInfos.AddRange(SQLHelper.ExecuteStoreProcedure<ReportModuleInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_REPORT_MODULE).ToArray());
                //moduleInfos.AddRange(SQLHelper.ExecuteStoreProcedure<ModuleInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_TREE_MODULE).ToArray());
                //moduleInfos.AddRange(SQLHelper.ExecuteStoreProcedure<ModuleInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_EXP_MODULE).ToArray());
                //moduleInfos.AddRange(SQLHelper.ExecuteStoreProcedure<MaintainModuleInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_WORKFLOW_MODULE).ToArray());
                //moduleInfos.AddRange(SQLHelper.ExecuteStoreProcedure<DashboardInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_DASHBOARD_MODULE).ToArray());

                return(moduleInfos);
            }

            catch (Exception ex)
            {
                throw ErrorUtils.CreateError(ex);
            }
        }
示例#3
0
        public static OracleDataReader[] ExecuteReader(string connectionString, Session session, string commandText, params object[] values)
        {
            var conn = new OracleConnection(connectionString);

            try
            {
                conn.Open();
            }
            catch (Exception ex)
            {
                throw ErrorUtils.CreateErrorWithSubMessage(
                          ERR_SQL.ERR_SQL_OPEN_CONNECTION_FAIL, ex.Message, commandText);
            }

            try
            {
                var comm = new OracleCommand(commandText, conn)
                {
                    CommandType = CommandType.StoredProcedure
                };
                AssignParameters(comm, session, values);

                comm.ExecuteNonQuery();

                if (
                    comm.Parameters.Contains(CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME) &&
                    comm.Parameters[CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME].Value != DBNull.Value &&
                    comm.Parameters[CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME].Value != null
                    )
                {
                    var errCode = int.Parse(comm.Parameters[CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME].Value.ToString());
                    if (errCode != 0)
                    {
                        throw ErrorUtils.CreateError(errCode, commandText, values);
                    }
                }

                var readers = (from OracleParameter param in comm.Parameters
                               where param.OracleDbType == OracleDbType.RefCursor
                               select
                                   (param.Value as OracleDataReader) ?? ((OracleRefCursor)param.Value).GetDataReader()).ToArray();

                return(readers);
            }
            catch (OracleException ex)
            {
                throw ThrowOracleUserException(ex, commandText);
            }
            catch (FaultException)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw ErrorUtils.CreateErrorWithSubMessage(
                          ERR_SQL.ERR_SQL_EXECUTE_COMMAND_FAIL, ex.Message, commandText);
            }
        }
示例#4
0
        public static List <T> ExecuteStoreProcedure <T>(string connectionString, string commandText, params object[] values)
            where T : class, new()
        {
            using (var conn = new SqlConnection(connectionString))
            {
                try
                {
                    conn.Open();
                }
                catch (Exception ex)
                {
                    throw ErrorUtils.CreateErrorWithSubMessage(
                              ERR_SQL.ERR_SQL_OPEN_CONNECTION_FAIL, ex.Message, commandText);
                }
                using (var comm = new SqlCommand(commandText, conn))
                {
                    try
                    {
                        comm.CommandType = CommandType.StoredProcedure;
                        AssignParameters(comm, values);

                        using (var dr = comm.ExecuteReader())
                        {
                            if (
                                comm.Parameters.Contains(CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME) &&
                                comm.Parameters[CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME].Value != DBNull.Value
                                )
                            {
                                var errCode = int.Parse(comm.Parameters[CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME].Value.ToString());
                                if (errCode != 0)
                                {
                                    throw ErrorUtils.CreateError(errCode, commandText, values);
                                }
                            }

                            return(dr.ToList <T>());
                        }
                    }
                    catch (SqlException ex)
                    {
                        throw ThrowSqlUserException(ex, commandText);
                    }
                    catch (FaultException)
                    {
                        throw;
                    }
                    catch (Exception ex)
                    {
                        throw ErrorUtils.CreateErrorWithSubMessage(
                                  ERR_SQL.ERR_SQL_EXECUTE_COMMAND_FAIL, ex.Message, commandText);
                    }
                    finally
                    {
                        conn.Close();
                    }
                }
            }
        }
示例#5
0
        public static void FillDataSet(string connectionString, Session session, string moduleID, string commandText, out DataSet ds, params object[] values)
        {
            using (var conn = new SqlConnection(connectionString))
            {
                try
                {
                    conn.Open();
                }
                catch (Exception ex)
                {
                    throw ErrorUtils.CreateErrorWithSubMessage(
                              ERR_SQL.ERR_SQL_OPEN_CONNECTION_FAIL, ex.Message,
                              commandText, values);
                }

                try
                {
                    using (var comm = new SqlCommand(commandText, conn))
                    {
                        comm.CommandType = CommandType.StoredProcedure;
                        AssignParameters(comm, session, moduleID, values);
                        ds = new DataSet();
                        var adap = new SqlDataAdapter(comm);
                        adap.Fill(ds);
                        if (
                            comm.Parameters.Contains(CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME) &&
                            comm.Parameters[CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME].Value != DBNull.Value
                            )
                        {
                            var errCode = int.Parse(comm.Parameters[CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME].Value.ToString());
                            if (errCode != 0)
                            {
                                throw ErrorUtils.CreateError(errCode, commandText, values);
                            }
                        }
                    }
                }
                catch (SqlException ex)
                {
                    throw ThrowSqlUserException(ex, commandText);
                }
                catch (FaultException)
                {
                    throw;
                }
                catch (Exception ex)
                {
                    throw ErrorUtils.CreateErrorWithSubMessage(
                              ERR_SQL.ERR_SQL_EXECUTE_COMMAND_FAIL, ex.Message,
                              commandText, values);
                }
                finally
                {
                    conn.Close();
                }
            }
        }
示例#6
0
        public static void ExecuteStoreProcedure(string connectionString, Session session, string commandText, params object[] values)
        {
            using (var conn = new OracleConnection(connectionString))
            {
                try
                {
                    conn.Open();
                }
                catch (Exception ex)
                {
                    throw ErrorUtils.CreateErrorWithSubMessage(
                              ERR_SQL.ERR_SQL_OPEN_CONNECTION_FAIL, ex.Message,
                              commandText, values);
                }

                try
                {
                    var comm = new OracleCommand(commandText, conn)
                    {
                        CommandType = CommandType.StoredProcedure
                    };

                    AssignParameters(comm, session, values);

                    comm.ExecuteNonQuery();
                    if (
                        comm.Parameters.Contains(CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME) &&
                        comm.Parameters[CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME].Value != DBNull.Value
                        )
                    {
                        var errCode = int.Parse(comm.Parameters[CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME].Value.ToString());
                        if (errCode != 0)
                        {
                            throw ErrorUtils.CreateError(errCode, commandText, values);
                        }
                    }
                }
                catch (OracleException ex)
                {
                    throw ThrowOracleUserException(ex, commandText);
                }
                catch (FaultException)
                {
                    throw;
                }
                catch (Exception ex)
                {
                    throw ErrorUtils.CreateErrorWithSubMessage(
                              ERR_SQL.ERR_SQL_EXECUTE_COMMAND_FAIL, ex.Message,
                              commandText, values);
                }
                finally
                {
                    conn.Close();
                }
            }
        }
示例#7
0
 public List <ModuleFieldInfo> BuildModuleFieldsInfo()
 {
     try
     {
         return(SQLHelper.ExecuteStoreProcedure <ModuleFieldInfo>(ConnectionString, SYSTEM_STORE_PROCEDURES.LIST_FIELD_INFO));
     }
     catch (Exception ex)
     {
         throw ErrorUtils.CreateError(ex);
     }
 }
示例#8
0
        public byte[] ReadFile(string filePath)
        {
            byte[]     buffer     = new byte[0];
            FileStream fileStream = null;

            try
            {
                using (SAController ctrlSA = new SAController())
                {
                    List <string> values = new List <string>();
                    values.Add("SYS");
                    values.Add("FILESIZE");
                    DataContainer dc;
                    ctrlSA.ExecuteProcedureFillDataset(out dc, "sp_sysvar_sel_bygrame", values);
                    DataTable dt = dc.DataTable;
                    if (dt.Rows.Count > 0)
                    {
                        fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
                        int length = (int)fileStream.Length;  // get file length
                        if (length <= Convert.ToDecimal(dt.Rows[0]["VARVALUE"].ToString()))
                        {
                            buffer = new byte[length];            // create buffer
                            int count;                            // actual number of bytes read
                            int sum = 0;                          // total number of bytes read

                            // read until Read method returns 0 (end of the stream has been reached)
                            while ((count = fileStream.Read(buffer, sum, length - sum)) > 0)
                            {
                                sum += count;  // sum is a buffer offset for next reading
                            }
                        }
                        else
                        {
                            var cex = ErrorUtils.CreateError(169);
                            ShowError(cex);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                //ShowError(ex);
                throw new Exception();
            }
            finally
            {
                fileStream.Close();
            }
            return(buffer);
        }
示例#9
0
        private void ShowMessVNPTCA(int ErrCode, string ErrCodeString)
        {
            int iErr = 996;

            switch (ErrCode)
            {
            case 100:
                iErr = 990;
                break;

            case 101:
                iErr = 991;
                break;

            case 102:
                iErr = 992;
                break;

            case 400:
                iErr = 993;
                break;

            case 402:
                iErr = 994;
                break;

            case 403:
                iErr = 995;
                break;

            case 105:
                iErr = 988;
                break;

            case 106:
                iErr = 989;
                break;

            case 500:
                iErr = 996;
                File.AppendAllText("LastErrors.log", string.Format("{0} : {1}-{2}\r\n-------------\r\n", DateTime.Now.ToLongDateString(), "Lỗi 500 : ", ErrCodeString));
                break;
            }
            var cex = ErrorUtils.CreateError(iErr);

            ShowError(cex);
        }
示例#10
0
        public static Exception ThrowSqlUserException(NpgsqlException ex, string commandText)
        {
            if (ex.ErrorCode == CONSTANTS.SQL_USER_HANDLED_EXCEPTION_CODE)
            {
                var match = Regex.Match(ex.Message, "<ERROR ID=([0-9]+)>([^<]*)</ERROR>");
                if (match.Success)
                {
                    var errCode    = int.Parse(match.Groups[1].Value);
                    var errMessage = match.Groups[2].Value;

                    if (!string.IsNullOrEmpty(errMessage))
                    {
                        return(ErrorUtils.CreateErrorWithSubMessage(errCode, errMessage));
                    }
                    return(ErrorUtils.CreateError(errCode));
                }
            }
            return(ErrorUtils.CreateErrorWithSubMessage(
                       ERR_SQL.ERR_SQL_EXECUTE_COMMAND_FAIL, ex.Message, commandText));
        }
示例#11
0
        public static List <T> ExecuteStoreProcedureGeneric <T>(string connectionString, Session session, string commandText, params object[] values)
        {
            using (var conn = new SqlConnection(connectionString))
            {
                try
                {
                    conn.Open();
                }
                catch (Exception ex)
                {
                    throw ErrorUtils.CreateErrorWithSubMessage(
                              ERR_SQL.ERR_SQL_OPEN_CONNECTION_FAIL, ex.Message,
                              commandText, values);
                }

                try
                {
                    var comm = new SqlCommand(commandText, conn)
                    {
                        CommandType = CommandType.StoredProcedure
                    };
                    AssignParameters(comm, session, values);

                    using (var dr = comm.ExecuteReader())
                    {
                        if (
                            comm.Parameters.Contains(CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME) &&
                            comm.Parameters[CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME].Value != DBNull.Value
                            )
                        {
                            var errCode = int.Parse(comm.Parameters[CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME].Value.ToString());
                            if (errCode != 0)
                            {
                                throw ErrorUtils.CreateError(errCode, commandText, values);
                            }
                        }
                        var list = new List <T>();
                        while (dr.Read())
                        {
                            list.Add((T)Convert.ChangeType(dr.GetValue(0), typeof(T)));
                        }
                        return(list);
                    }
                }
                catch (SqlException ex)
                {
                    throw ThrowSqlUserException(ex, commandText);
                }
                catch (FaultException)
                {
                    throw;
                }
                catch (Exception ex)
                {
                    throw ErrorUtils.CreateErrorWithSubMessage(
                              ERR_SQL.ERR_SQL_EXECUTE_COMMAND_FAIL, ex.Message,
                              commandText, values);
                }
                finally
                {
                    conn.Close();
                }
            }
        }
示例#12
0
        // Ham upload file khong su dung chu ky so
        public override void Execute()
        {
            Program.blCheckFile = false;
            base.Execute();
            var ctrlSA = new SAController();

            try
            {
                File.AppendAllText("LastErrors.log", string.Format("{0}\r\n-------------\r\n", DateTime.Now.ToLongTimeString()));
                checkedListFiles.Clear();
                for (int i = 0; i < checkedListBoxControl1.Items.Count; i++)
                {
                    if (checkedListBoxControl1.GetItemChecked(i) == true)
                    {
                        checkedListFiles.Add(checkedListBoxControl1.GetItemValue(i).ToString());
                    }
                }
                if (checkedListFiles.Count != 0)
                {
                    // Tao file Zip
                    var             outPathname = System.Environment.GetEnvironmentVariable("TEMP") + "\\" + RandomString(10, false) + ".zip";;
                    FileStream      fsOut       = File.Create(outPathname);
                    ZipOutputStream zipStream   = new ZipOutputStream(fsOut);
                    zipStream.SetLevel(9); //0-9, 9 being the highest level of compression
                    foreach (var filename in checkedListFiles)
                    {
                        if (!string.IsNullOrEmpty(filename))
                        {
                            FileInfo fi        = new FileInfo(filename);
                            string   entryName = System.IO.Path.GetFileName(filename);
                            entryName = ZipEntry.CleanName(entryName);
                            ZipEntry newEntry = new ZipEntry(entryName);
                            newEntry.DateTime = fi.LastWriteTime;

                            newEntry.Size = fi.Length;
                            zipStream.PutNextEntry(newEntry);

                            // Zip the file in buffered chunks
                            byte[] buffer = new byte[4096];
                            using (FileStream streamReader = File.OpenRead(filename))
                            {
                                StreamUtils.Copy(streamReader, zipStream, buffer);
                            }
                            zipStream.CloseEntry();
                        }
                    }
                    zipStream.IsStreamOwner = true; // Makes the Close also Close the underlying stream
                    zipStream.Close();
                    var _streamAttr = new FileStream(outPathname, FileMode.Open, FileAccess.Read);
                    prgUploadFile.Value = 0;
                    var fileUpload = new UploadFileStream(_streamAttr);
                    fileUpload.OnUploadStatusChanged += fileUpload_OnUploadStatusChanged;

                    FileUpload upload = new FileUpload();
                    upload.FileName     = System.IO.Path.GetFileName(outPathname);
                    upload.UploadStream = fileUpload;
                    upload.SecID        = 0;
                    ctrlSA.SaveFile(upload);

                    Program.FileName = Program.FileName + System.IO.Path.GetFileName(outPathname);
                    _streamAttr.Dispose();
                }

                //List<string> listparam = new List<string>();
                //for (int i = 0; i < checkedListBoxControl1.Items.Count; i++)
                //{

                //    if (checkedListBoxControl1.GetItemChecked(i) == false)
                //    {
                //        listparam.Clear();
                //        listparam.Add(checkedListBoxControl1.GetItemValue(i).ToString());
                //    }
                //}
                //FIS.Entities.Session session = new FIS.Entities.Session();
                //ctrlSA.GetCurrentSessionInfo(out session);
                //listparam.Add(session.SessionKey);
                //ctrlSA.ExecuteStoreProcedure("SP_DELFILE_BY_SESSIONSKEY", listparam);

                if (checkedListBoxControl1.Items.Count > 0)
                {
                    Program.blCheckFile = true;
                }

                File.AppendAllText("LastErrors.log", string.Format("{0}\r\n-------------\r\n", DateTime.Now.ToLongTimeString()));
                CloseModule();
            }
            catch (Exception ex)
            {
                //CREATE ERROCODE: 702 - ERR_FILE_IS_NOT_ATTACKED
                File.AppendAllText("LastErrors.log", string.Format("{0}\r\n-------------\r\n", ex.Message));
                Program.FileName = null;
                var cex = ErrorUtils.CreateError(702);
                ShowError(cex);
            }
        }
示例#13
0
        public static void FillDataTable(string connectionString, Session session, string commandText, out DataTable resultTable, out string SecID, params object[] values)
        {
            using (var conn = new OracleConnection(connectionString))
            {
                try
                {
                    conn.Open();
                }
                catch (Exception ex)
                {
                    throw ErrorUtils.CreateErrorWithSubMessage(
                              ERR_SQL.ERR_SQL_OPEN_CONNECTION_FAIL, ex.Message, commandText);
                }

                try
                {
                    using (var comm = new OracleCommand(commandText, conn))
                    {
                        var adap = new OracleDataAdapter(comm);
                        var ds   = new DataSet();
                        comm.CommandType = CommandType.StoredProcedure;
                        AssignParameters(comm, session, values);

                        adap.Fill(ds);
                        if (
                            comm.Parameters.Contains(CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME) &&
                            comm.Parameters[CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME].Value != DBNull.Value
                            )
                        {
                            var errCode = int.Parse(comm.Parameters[CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME].Value.ToString());
                            if (errCode != 0)
                            {
                                throw ErrorUtils.CreateError(errCode, commandText, values);
                            }
                        }
                        resultTable = ds.Tables[0];
                        var _secid = comm.Parameters[CONSTANTS.ORACLE_OUT_PARAMETER_SECID].Value.ToString();
                        SecID = null;
                        if (!string.IsNullOrEmpty(_secid))
                        {
                            SecID = _secid;
                        }
                    }
                }
                catch (OracleException ex)
                {
                    throw ThrowOracleUserException(ex, commandText);
                }
                catch (FaultException)
                {
                    throw;
                }
                catch (Exception ex)
                {
                    throw ErrorUtils.CreateErrorWithSubMessage(
                              ERR_SQL.ERR_SQL_EXECUTE_COMMAND_FAIL, ex.Message, commandText);
                }
                finally
                {
                    conn.Close();
                }
            }
        }
示例#14
0
        public static DataTable ExecuteStoreProcedurePostgreSQLToDataTable(string connectionString, string commandText, params object[] values)
        {
            commandText = SchemaStatic + "." + commandText;
            using (var conn = new NpgsqlConnection(connectionString))
            {
                try
                {
                    conn.Open();
                }
                catch (Exception ex)
                {
                    throw ErrorUtils.CreateErrorWithSubMessage(
                              ERR_SQL.ERR_SQL_OPEN_CONNECTION_FAIL, ex.Message, commandText);
                }
                var comm = new NpgsqlCommand(commandText, conn);
                NpgsqlTransaction tran = conn.BeginTransaction();
                try
                {
                    comm.CommandType = CommandType.StoredProcedure;
                    AssignParameters(comm, values);
                    if (comm.Parameters.Count() > 0)
                    {
                        var checkRefcursor = comm.Parameters.Where(x => x.NpgsqlDbType == NpgsqlTypes.NpgsqlDbType.Refcursor);
                        if (checkRefcursor != null)
                        {
                            if (checkRefcursor.Count() > 0)
                            {
                                var execute = comm.ExecuteNonQuery();
                                comm.CommandText = String.Format("fetch all in \"{0}\"", checkRefcursor.First().ParameterName);
                                comm.CommandType = CommandType.Text;
                            }
                        }
                    }

                    using (var dr = comm.ExecuteReader())
                    {
                        if (comm.Parameters.Contains(CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME) && comm.Parameters[CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME].Value != DBNull.Value)
                        {
                            var errCode = int.Parse(comm.Parameters[CONSTANTS.ORACLE_EXCEPTION_PARAMETER_NAME].Value.ToString());
                            if (errCode != 0)
                            {
                                throw ErrorUtils.CreateError(errCode, commandText, values);
                            }
                        }
                        return(dr.ToDataTable());
                    }
                }
                catch (NpgsqlException ex)
                {
                    tran.Rollback();
                    throw ThrowSqlUserException(ex, commandText);
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    throw ErrorUtils.CreateErrorWithSubMessage(ERR_SQL.ERR_SQL_EXECUTE_COMMAND_FAIL, ex.Message, commandText);
                }
                finally
                {
                    tran.Commit();
                    conn.Close();
                }
            }
        }
        protected virtual void BuildCommonFields(LayoutControl commonLayout)
        {
            LoadCommandFields();
            CommonControlByID    = new Dictionary <string, BaseEdit>();
            _CommonControlByID   = new Dictionary <string, Control>();
            CommonLayoutItemByID = new Dictionary <string, BaseLayoutItem>();

            foreach (var field in CommonFields)
            {
                if (field.ControlType == CODES.DEFMODFLD.CTRLTYPE.DEFINEDGROUP)
                {
                    continue;
                }

                var control = CreateControl(field);
                control.Name = field.FieldName;
                if (control is BaseEdit)
                {
                    if (!CommonControlByID.ContainsKey(field.FieldID))
                    {
                        CommonControlByID.Add(field.FieldID, (BaseEdit)control);
                        if (!string.IsNullOrEmpty(field.Callback))
                        {
                            (control as BaseEdit).Properties.EditValueChangedFiringMode = EditValueChangedFiringMode.Buffered;
                            (control as BaseEdit).Properties.EditValueChanged          += MaintainControl_Callback;
                            control.Leave += MaintainControl_Callback;
                        }
                    }
                    else
                    {
                        throw ErrorUtils.CreateError(ERR_SYSTEM.ERR_SYSTEM_MODULE_FIELD_NOT_FOUND_OR_DUPLICATE,
                                                     "GetModuleFieldByID", field.ModuleID, field.FieldGroup, field.FieldID);
                    }
                }
                else
                {
                    if (!_CommonControlByID.ContainsKey(field.FieldID))
                    {
                        _CommonControlByID.Add(field.FieldID, control);
                        SetupControlListSourceControl(field, _CommonControlByID[field.FieldID]);
                    }
                    else
                    {
                        throw ErrorUtils.CreateError(ERR_SYSTEM.ERR_SYSTEM_MODULE_FIELD_NOT_FOUND_OR_DUPLICATE,
                                                     "GetModuleFieldByID", field.ModuleID, field.FieldGroup, field.FieldID);
                    }
                }

                commonLayout.Controls.Add(control);
            }

            foreach (var field in CommonFields)
            {
                if (field.ControlType == CODES.DEFMODFLD.CTRLTYPE.DEFINEDGROUP)
                {
                    continue;
                }

                if (CommonControlByID.ContainsKey(field.FieldID))
                {
                    SetupControlListSource(field, CommonControlByID[field.FieldID]);
                }
            }
        }
        public BaseEdit CreateLookUpEditControl(ModuleFieldInfo fieldInfo)
        {
            //
            var expression = ExpressionUtils.ParseScript(fieldInfo.ListSource);

            if (expression.Operands.Count != 1 && expression.Operands.Count != 2)
            {
                ErrorUtils.CreateError(ERR_SYSTEM.ERR_SYSTEM_LOOKUP_EXPRESSION_REQUIRE_ONE_OR_TWO_ARGUMENTS);
            }

            foreach (var operand in expression.Operands)
            {
                if (operand.Type != OperandType.VALUE)
                {
                    ErrorUtils.CreateError(ERR_SYSTEM.ERR_SYSTEM_LOOKUP_EXPRESSION_CAN_NOT_CONTAIN_NAME);
                }
            }
            //
            var moduleLookUp = (SearchModuleInfo)((ICloneable)ModuleUtils.GetModuleInfo(expression.StoreProcName, CODES.DEFMOD.SUBMOD.MODULE_MAIN)).Clone();

            if (expression.Operands.Count == 1)
            {
                moduleLookUp.SetAsLookUpWindow(expression.Operands[0].NameOrValue);
            }
            else
            {
                moduleLookUp.SetAsLookUpWindow(expression.Operands[0].NameOrValue, expression.Operands[1].NameOrValue);
            }
            //
            var btnEdit = new ButtonEdit();

            btnEdit.Properties.Buttons[0].Tag      = moduleLookUp;
            btnEdit.Properties.Buttons[0].Shortcut = new DevExpress.Utils.KeyShortcut(Keys.F5);
            btnEdit.Properties.Buttons.Add(new EditorButton(ButtonPredefines.Delete));

            btnEdit.ButtonClick +=
                delegate(object sender, ButtonPressedEventArgs e)
            {
                if (e.Button.Kind == ButtonPredefines.Delete)
                {
                    btnEdit.EditValue = string.Empty;
                }
                else if (e.Button.Tag is ModuleInfo)
                {
                    var module = (ucSearchMaster)MainProcess.CreateModuleInstance((ModuleInfo)e.Button.Tag);
                    module.ShowDialogModule(this);

                    if (!string.IsNullOrEmpty(module.LookUpValues))
                    {
                        if (btnEdit.EditValue is string && (string)btnEdit.EditValue != string.Empty)
                        {
                            btnEdit.EditValue = string.Format("{0},{1}", btnEdit.EditValue, module.LookUpValues);
                        }
                        else
                        {
                            btnEdit.EditValue = module.LookUpValues;
                        }
                    }
                }
            };
            return(btnEdit);
        }
        //ORG: BaseEdit --> Control
        public virtual Control _CreateControl(ModuleFieldInfo fieldInfo)
        {
            switch (fieldInfo.ControlType)
            {
            case CODES.DEFMODFLD.CTRLTYPE.TEXTBOX:
                return(CreateTextBoxControl(fieldInfo));

            case CODES.DEFMODFLD.CTRLTYPE.LABEL:
                return(CreateLabelControl(fieldInfo));

            case CODES.DEFMODFLD.CTRLTYPE.FILESAVE:
                return(CreateFileSaveControl(fieldInfo));

            case CODES.DEFMODFLD.CTRLTYPE.SPINEDITOR:
                return(CreateSpinEditControl(fieldInfo));

            case CODES.DEFMODFLD.CTRLTYPE.COMBOBOX:
                var comboBoxEdit = CreateComboBoxControl(fieldInfo);
                if (fieldInfo.Nullable == CODES.DEFMODFLD.NULLABLE.YES)
                {
                    var editButton = new EditorButton(ButtonPredefines.Ellipsis);
                    comboBoxEdit.Properties.Buttons.Add(editButton);

                    comboBoxEdit.ButtonClick += delegate(object sender, ButtonPressedEventArgs e)
                    {
                        if (e.Button == editButton)
                        {
                            comboBoxEdit.EditValue = null;
                            comboBoxEdit.ClosePopup();
                        }
                    };
                }
                return(comboBoxEdit);

            case CODES.DEFMODFLD.CTRLTYPE.PASSWORD:
                return(CreatePasswordControl(fieldInfo));

            case CODES.DEFMODFLD.CTRLTYPE.TEXTAREA:
                return(CreateTextAreaControl(fieldInfo));

            case CODES.DEFMODFLD.CTRLTYPE.SUGGESTIONTEXTBOX:
                var suggestionTextEdit = CreateSuggestionTextBoxControl(fieldInfo);
                return(suggestionTextEdit);

            case CODES.DEFMODFLD.CTRLTYPE.DATETIME:
                var dateEdit = CreateDateEdit(fieldInfo);
                if (string.IsNullOrEmpty(fieldInfo.FieldFormat))
                {
                    fieldInfo.FieldFormat = CONSTANTS.DEFAULT_DATETIME_FORMAT;
                }
                return(dateEdit);

            case CODES.DEFMODFLD.CTRLTYPE.CHECKEDCOMBOBOX:
                var ccbControl = CreateCheckedComboBoxControl(fieldInfo);
                return(ccbControl);

            case CODES.DEFMODFLD.CTRLTYPE.LOOKUPVALUES:
                var editLookUp = CreateLookUpEditControl(fieldInfo);
                return(editLookUp);

            case CODES.DEFMODFLD.CTRLTYPE.UPLOADFILE:
                return(CreateOpenFileControl(fieldInfo));

            case CODES.DEFMODFLD.CTRLTYPE.RICHTEXTEDITOR:
                return(CreateRichTextEdit(fieldInfo));

            //add by TrungTT - 28.11.2011 - Create GridView Control
            case CODES.DEFMODFLD.CTRLTYPE.GRIDVIEW:
                return(CreateGridViewControl(fieldInfo));

            //End TrungTT
            //TuDQ them
            case CODES.DEFMODFLD.CTRLTYPE.RADIOGROUP:
                var radioGroupEdit = CreateRadioGroupControl(fieldInfo);
                return(radioGroupEdit);

            case CODES.DEFMODFLD.CTRLTYPE.CHECKBOX:
                var checkBoxEdit = CreateCheckBoxControl(fieldInfo);
                return(checkBoxEdit);
                //End
            }

            throw ErrorUtils.CreateError(ERR_SYSTEM.ERR_SYSTEM_CONTROL_TYPE_NOT_FOUND);
        }
示例#18
0
        private void SaveAsFile()
        {
            lnkFileContextMenu       = new ContextMenuStrip();
            lnkFile.ContextMenuStrip = lnkFileContextMenu;
            lnkFileContextMenu.Items.Clear();
            lnkFileContextMenu.Items.Add("Lưu file", ThemeUtils.Image16.Images["SAVE"]).Click +=
                delegate
            {
                try
                {
                    bool allow = false;
                    foreach (var i in (FieldUtils.GetModuleFields(
                                           ModuleInfo.ModuleID,
                                           CODES.DEFMODFLD.FLDGROUP.PARAMETER)))
                    {
                        strFLDID = i.FieldName;
                        allow    = true;
                    }
                    if (allow)
                    {
                        var           fields = FieldUtils.GetModuleFields(ModuleInfo.ModuleID, CODES.DEFMODFLD.FLDGROUP.PARAMETER);
                        List <string> values = new List <string>();

                        string StoreName;
                        if (MaintainInfo.Approve == CODES.MODMAINTAIN.APROVE.YES && !string.IsNullOrEmpty(Program.txnum))
                        {
                            values.Add(Program.txnum);
                            StoreName = "sp_tllog_file_sel";
                        }
                        else
                        {
                            foreach (var field in fields)
                            {
                                values.Add(this[field.FieldID].ToString());
                            }
                            StoreName = MaintainInfo.ReportStore;
                        }

                        // End TuanLM
                        if (values.Count > 0)
                        {
                            using (var ctrlSA = new SAController())
                            {
                                DataContainer container = null;
                                ctrlSA.ExecuteProcedureFillDataset(out container, StoreName, values);
                                if (container != null && container.DataTable != null)
                                {
                                    var resultTable = container.DataTable;

                                    if (resultTable.Rows.Count > 0)
                                    {
                                        for (int i = 0; i <= resultTable.Rows.Count - 1; i++)
                                        {
                                            using (System.IO.MemoryStream ms = new System.IO.MemoryStream((Byte[])resultTable.Rows[i]["filestore"]))
                                            {
                                                StreamReader memoryReader = new StreamReader(ms);

                                                SaveFileDialog dlg = new SaveFileDialog();
                                                dlg.FileName = resultTable.Rows[i]["filename"].ToString();
                                                dlg.Filter   = resultTable.Rows[i]["filetype"].ToString();
                                                if (dlg.ShowDialog() == DialogResult.OK)
                                                {
                                                    ms.WriteTo(dlg.OpenFile());
                                                }
                                            }
                                        }
                                        ;
                                    }
                                    else
                                    {
                                        throw ErrorUtils.CreateError(ERR_FILE.ERR_FILE_IS_NOT_ATTACKED);
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        throw ErrorUtils.CreateError(ERR_FILE.ERR_FILE_IS_NOT_ATTACKED);
                    }
                }
                catch (Exception ex)
                {
                    ShowError(ex);
                }
            };
        }
示例#19
0
        //edit by TrungTT - 8.10.2013 - adding output param into fuction
        private void SaveAsFileToDisk(bool _open)
        {
            try
            {
                bool allow = false;
                foreach (var i in (FieldUtils.GetModuleFields(
                                       ModuleInfo.ModuleID,
                                       //CODES.DEFMODFLD.FLDGROUP.COMMON)))
                                       CODES.DEFMODFLD.FLDGROUP.PARAMETER)))
                {
                    //if (i.FieldName == "ROWID")
                    strFLDID = i.FieldName;
                    allow    = true;
                }
                if (allow)
                {
                    var           fields = FieldUtils.GetModuleFields(ModuleInfo.ModuleID, CODES.DEFMODFLD.FLDGROUP.PARAMETER);
                    string        StoreName;
                    List <string> values = new List <string>();
                    if (MaintainInfo.Approve == CODES.MODMAINTAIN.APROVE.YES && !string.IsNullOrEmpty(Program.txnum))
                    {
                        values.Add(Program.txnum);
                        StoreName = "sp_tllog_file_sel";
                    }
                    else
                    {
                        foreach (var field in fields)
                        {
                            if (this[field.FieldID] != null) //HUYVQ: 05/06/2014
                            {
                                values.Add(this[field.FieldID].ToString());
                            }
                        }
                        StoreName = MaintainInfo.ReportStore;
                    }
                    // End TuanLM
                    if (values.Count > 0)
                    {
                        using (var ctrlSA = new SAController())
                        {
                            DataContainer container = null;

                            ctrlSA.ExecuteProcedureFillDataset(out container, StoreName, values);
                            if (container != null && container.DataTable != null)
                            {
                                var resultTable = container.DataTable;

                                if (resultTable.Rows.Count > 0)
                                {
                                    for (int i = 0; i <= resultTable.Rows.Count - 1; i++)
                                    {
                                        if (!string.IsNullOrEmpty(resultTable.Rows[i]["filestore"].ToString()))
                                        {
                                            using (System.IO.MemoryStream ms = new System.IO.MemoryStream((Byte[])resultTable.Rows[i]["filestore"]))
                                            {
                                                filetempname = System.Environment.GetEnvironmentVariable("TEMP") + "\\" + RandomString(10, false) + resultTable.Rows[i]["filename"].ToString();
                                                FileStream   flStream     = new FileStream(filetempname, FileMode.OpenOrCreate);
                                                StreamReader memoryReader = new StreamReader(ms);

                                                ms.WriteTo(flStream);
                                                lnkFile.Text = filetempname;
                                                flStream.Close();
                                                flStream.Dispose();
                                            }
                                            if (_open)
                                            {
                                                OpenFile(filetempname);
                                            }
                                        }
                                        else
                                        {
                                            lnkFile.Visible = false;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                else
                {
                    throw ErrorUtils.CreateError(ERR_FILE.ERR_FILE_IS_NOT_ATTACKED);
                }
            }
            catch (Exception ex)
            {
                ShowError(ex);
            }
        }
示例#20
0
        protected override void InitializeModuleData()
        {
            base.InitializeModuleData();
            try
            {
                reMain.BeginPaintObjects = new List <AbstractPaintObject>();
#if DEBUG
                MainProcess.ForceLoad((string)this["P01"]);
#endif
                var module = ModuleUtils.GetModuleInfo((string)this["P01"], (string)this["P02"]);
                var fields = (from field in FieldUtils.GetModuleFields((string)this["P01"])
                              where field.FieldGroup == CODES.DEFMODFLD.FLDGROUP.PARAMETER
                              select field).ToList();

                if (fields.Count > 0)
                {
                    reMain.BeginPaintObjects.Add(CreatePaintObject("Parameters", fields, module));
                }

                fields = (from field in FieldUtils.GetModuleFields((string)this["P01"])
                          where
                          field.FieldGroup == CODES.DEFMODFLD.FLDGROUP.COMMON &&
                          field.ControlType != CODES.DEFMODFLD.CTRLTYPE.DEFINEDGROUP
                          select field).ToList();

                if (fields.Count > 0)
                {
                    reMain.BeginPaintObjects.Add(CreatePaintObject("Controls", fields, module));
                }

                var endStores = new List <string>();

                switch (module.ModuleType)
                {
                case CODES.DEFMOD.MODTYPE.MAINTAIN:
                    if (module.SubModule == "MED")
                    {
                        var maintainModule = (MaintainModuleInfo)module;
                        endStores.Add(maintainModule.EditSelectStore);
                        endStores.Add(maintainModule.EditUpdateStore);
                    }
                    if (module.SubModule == "MAD")
                    {
                        var maintainModule = (MaintainModuleInfo)module;
                        endStores.Add(maintainModule.AddSelectStore);
                        endStores.Add(maintainModule.AddInsertStore);
                    }
                    if (module.SubModule == "MVW")
                    {
                        var maintainModule = (MaintainModuleInfo)module;
                        endStores.Add(maintainModule.ViewSelectStore);
                    }
                    break;

                case CODES.DEFMOD.MODTYPE.STOREEXECUTE:
                    var execModule = ((ExecProcModuleInfo)module);
                    endStores.Add(execModule.ExecuteStore);
                    break;
                }

                reMain.EndPaintObjects = new List <AbstractPaintObject>();
                var count = 0;
                foreach (string store in endStores)
                {
                    if (!string.IsNullOrEmpty(store))
                    {
                        cboStoresName.Properties.Items.Add(store);
                        reMain.EndPaintObjects.Add(CreatePaintObject(store, count == 0 ? Color.Green : Color.Red));
                        count++;
                    }
                }

                lbTitle.Text = string.Format("\"{0}\" Data Flow", LangUtils.TranslateModuleItem(LangType.MODULE_TITLE, module));
            }
            catch (Exception ex)
            {
                throw ErrorUtils.CreateError(ex);
            }
        }