public IList <FindUserWarehousesResult> FindUserWarehouses(FindUserWarehousesParameters parameters)
        {
            using (TransactionScope scope = new TransactionScope())
            {
                IList <FindUserWarehousesResult> result = null;

                using (IDbConnection connection = new DbConnection(ConnectionString))
                {
                    connection.Open();

                    using (IDbCommand command = connection.CreateCommand())
                    {
                        command.CommandText = StatementCache.Instance.GetCachedStatement("Imi.SupplyChain.Warehouse.Authentication.DataAccess.Queries.FindUserWarehouses.sql");
                        ((OracleCommand)command).BindByName = true;

                        foreach (IDbDataParameter parameter in FindUserWarehousesTranslator.TranslateParameters(parameters))
                        {
                            command.Parameters.Add(parameter);
                        }

                        command.Prepare();

                        using (IDataReader reader = command.ExecuteReader())
                        {
                            result = FindUserWarehousesTranslator.TranslateResultSet(reader);
                        }
                    }
                }

                scope.Complete();

                return(result);
            }
        }
Ejemplo n.º 2
0
        public static IList <IDbDataParameter> TranslateParameters(FindUserWarehousesParameters parameters)
        {
            IList <IDbDataParameter> parameterList = new List <IDbDataParameter>();
            IDbDataParameter         dbParameter;

            dbParameter = new OracleParameter();
            dbParameter.ParameterName = "EMPID";
            dbParameter.DbType        = DbTypeConvertor.ConvertToDbType(typeof(string));
            dbParameter.Direction     = ParameterDirection.Input;
            dbParameter.Value         = parameters.UserIdentity;
            parameterList.Add(dbParameter);

            return(parameterList);
        }
Ejemplo n.º 3
0
        public IList <FindUserWarehousesResult> Execute(FindUserWarehousesParameters parameters)
        {
            ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings[schemaName];
            string connectionString           = settings.ConnectionString;

            bool isAdministratorModeEnabled = false;

            bool.TryParse(ConfigurationManager.AppSettings["AdministratorMode"], out isAdministratorModeEnabled);

            IAuthenticationDao dao = new AuthenticationDao(connectionString);

            if (isAdministratorModeEnabled)
            {
                return(dao.FindAllWarehouses());
            }
            else
            {
                return(dao.FindUserWarehouses(parameters));
            }
        }